DPRG List  

[DPRG] Robot math problems

Subject: [DPRG] Robot math problems
From: Chuck McManis cmcmanis at mcmanis.com
Date: Wed Feb 13 14:08:02 CST 2002

At 11:37 AM 2/13/02 -0800, Clay Timmons wrote:
>Just working out a few robot navigation issues
>and thought I'd share a couple math problems
>I've encountered.  Have fun!  Took me about
>10 minutes.

You've got to build more tracked robots :-) This is essential knowledge for 
doing inverse kinematics computations to position one's bot.

>If a 12" wide robot with 3" diameter wheels
>has one wheel going 1/2 the speed of the other
>it will go in a circle.
>    1) What diameter is that circle?
>    2) To make the robot go in a circle with
>       a 9" radius on the inside wheel
>       what speed should the inside wheel
>       go as a percentage of the outside wheel?

I'm going to assume that the centerline of the two wheels are 12" apart, 
since your robot is "12 inches wide" that cannot be true in practice as you 
either measured from wheel edge to wheel edge in which case the center line 
is 1 wheel width less than 12", or you measured the body and the wheels 
were outside of that meaning they are 1 wheel width + 12" apart.

Given that, there is no solution for #2 because the smallest radius turn 
you could possibly make that is *centered on the inside wheel* is 12". 
However by rotating one wheel in reverse you can translate the center of 
rotation along the axle between the two wheels.

Allow me to suggest a third component to this question:
         3) Assume the separation between your
            wheels is n inches, and the radius of your
            wheels are r inches. Given two wheel speeds,
            Sl (left) and Sr (right), derive the equation
            that describes the rate of angular rotation
            as a function of time, and derive the equation
            that describes the radius of the arc traversed,
            both for a fixed input (Sl, Sr).

                 theta (degrees/second) = f(Sl, Sr)
                 Diameter (inches) = g(Sl, Sr)

Once you have those two equations, you have the necessary model for being 
able to put your robot from where it is, to where it needs to be at the 
correct orientation (facing the right direction). You can then specify 
things like, "I want my robot to be over by that wall and perpendicular to 
the wall." (of course that assumes you know where you are at the moment!)


More information about the DPRG mailing list