Shop OBEX P1 Docs P2 Docs Learn Events
Tank Steering With Propeller_Help — Parallax Forums

Tank Steering With Propeller_Help

briank77479briank77479 Posts: 36
edited 2011-10-11 14:35 in Propeller 1
I'm working on a bot project that uses tank tracks for mobility. Presently, I want to control the bot using a 6-channel RC transmitter/receiver communicating to the propeller board. My goal is to use the right stick of the transmitter to control the tracks. Presently, the basic movement of the bot is moving the stick to either the 12 or 6 o'clock position provides forward or reverse; moving the stick to either the 9 or 3 o'clock position will rotate the bot right or left. What I'd like is to move the stick in say the 1 or 2 o'clock position and have the bot travel in a circle with the radius determined by the stick position; i.e. the closer the stick is to the 12 o'clock position the greater the radius. Also along with direction I'd like the stick position to determine speed; the closer the stick is to center the slower the speed of the bot. My long term goal is to make the bot autonomous and thought this programming exercise would be most helpful in the long term on bot control.
By chance is there a resource available that would guide me on generating a program to accomplish this? If there are examples of something similar that would be a great help.
Any advice would be very much appreciated.

Thanks
Brian

Comments

  • ericballericball Posts: 774
    edited 2011-10-11 12:03
    Not that I've done anything similar, but start with the basics: what are your inputs and what are your outputs?

    I suspect your inputs are two values - an X and a Y position of the stick. Your outputs are speed and direction for the two tracks. You then need to work out how to get from one to the other, i.e.
    forward: X = 0, Y = +max, left = +max, right = +max
    backwards: X = 0, Y = -max, left = -max, right = -max
    rotate clockwise: X = +max, Y = 0, left = +max, right = -max
    rotate widdershins: X = -max, Y = 0, left = -max, right = +max

    Put it on a graph and start figuring out each output for each input.
  • W9GFOW9GFO Posts: 4,010
    edited 2011-10-11 12:23
    In it's simplest form;

    RightTrack := Yaxis - Xaxis
    LeftTrack := Yaxis + Xaxis
  • Duane DegnDuane Degn Posts: 10,588
    edited 2011-10-11 14:35
    ericball wrote: »
    Put it on a graph and start figuring out each output for each input.

    I'm curious, what kind of graph has two variables a function of two other variables?

    Duane
Sign In or Register to comment.