Im designing a differential steering mechanism for my robot. Supposing my robot is going in a straight line and I want it to change it direction by a certain angle( $θ$ in the diagram). What should the velocity ratio be of the 2 wheels so that it gradually turns and starts moving along a line that is $θ$ degrees to the initial line of movement? If there's any ambiguity in the question please take a look at my earlier question which is similar. How to design a differential steering mechanism? enter image description here

  • $\begingroup$ If I understand what you're asking the velocity ratio is the same as the travel distance ratio. Draw the turn circle and compare the circumferences... $\endgroup$
    – Guy Sirton
    Jul 20 '13 at 17:24
  • $\begingroup$ Are we talking about transitions from one straight line to another? The missing parameter is the distance over which you want to do that. So it's start a turn one way, and then go back to a straight line... $\endgroup$
    – Guy Sirton
    Jul 20 '13 at 17:25
  • $\begingroup$ Yeah that't it. Basically its the ratio of the distances traveled by the 2 wheels while turning. $\endgroup$
    – Ghost
    Jul 20 '13 at 18:05
  • $\begingroup$ If you were to describe your problem in terms of the diagram in my answer to Line Follower optimization, then it might be easier to see what you are actually having a problem with. $\endgroup$
    – Mark Booth
    Jul 20 '13 at 18:43
  • $\begingroup$ @Mark Booth Actually I already have taken a look at your answer. You'd referred it to me previously. I've adopted your formula $SL=rθ$ for my case but the problem only Im facing is that I dont have any way to get $r$, the radius of the turn. If I have that I can directly get the ratio of the 2 speeds. $\endgroup$
    – Ghost
    Jul 20 '13 at 18:59

In your previous question, we calculated the velocity speed ratio that would be required to make a turn of a given radius. I'm going to reuse those formulas with inner and outer replacing left and right, and $d_{axle}$ replacing $A$.

In those terms, the ratio of the outer wheel's speed to the inner wheel's speed is still what it was before: $$\frac{v_{outer}}{v_{inner}} = \frac{r+d_{axle}}{r}$$

However, in this question, you're trying to determine how much time should pass with the wheels turning at those speeds (in other words, following a circular path of a given $r$) before you come to a desired turning angle of $\theta$.

Here is the distance equation from before:

$$d_{inner} = \frac{\theta*2\pi{r}}{360}$$ $$v_{inner} = \frac{d_{inner}}{t} = \frac{\theta*2\pi{r}}{360*t}$$

So, solving for $t$: $$ t = \frac{\theta*2\pi{r}}{360*v_{inner}}$$

This is essentially saying "how long will it take me to travel along a circular arc defined by $r$ and $\theta$ if I move at the given speed $v_{inner}$".

Now for the bad news: achieving this is impossible in practice. The equations above are assuming that your acceleration is infinite, meaning that you would change your speed from $0$ to $v_{inner}$ instantly. This has never happened.

If you need to be sure that you've reached a desired heading, you'll need to start working with sensors. A GPS, a compass, or even wheel odometry would be good places to start.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.