The main factors affecting this calculation are the track of the robot (T) and the relative speeds of the left and right wheelsets (Sr).

The track is the distance in meters between the left and right wheelsets. If the radius of curve transcribed by the left wheelset is RL and the radius of curve transcribed by the right wheelset is RR then:

T = RR - RL [EQN01]

The relative speed ratio is the speed of the left wheelset (SL) divided by the speed of the right wheelset (SR), so:

Sr = SL / SR [EQN02]

Also, the track can be related to the right and left wheelset radii as follows:

RR = R + ( T / 2 ) [EQN03]

RL = R - ( T / 2 ) [EQN04]

Lets assume the distance travelled by each wheelset is DR for the right wheelset, DL for the left wheelset. If the robot is moving for t seconds then the distances travelled will be:

DR = SR . t [EQN05]

and

DL = SL . t [EQN06]

If we consider a 180 degree turn then the relation sip between distance travelled and the radius of the curve transcribed by the wheelset (RR for the right wheelset and RL for the left wheelset) will be:

DR = Pi . RR [EQN07]

and

DL = Pi . RL [EQN08]

Combining [EQN05] and [EQN07] for the right side of the robot we get:

SR . t = Pi . RR

If we rearrange, we get:

SR / RR = Pi / t [EQN09]

Similarly, if we combine [EQN06] and [EQN08] for the left side of the robot we get:

SL / RL = Pi / t [EQN10]

We can now combine [EQN09] and [EQN10] to get:

SR / RR = SL / RL [EQN11]

We can then reorganise [EQN01] to be:

RR = RL + T [EQN12]

We can substitute RR from [EQN12] into [EQN11] to get:

SR / (RL + T) = SL / RL

Reararranging give us:

SL / SR = RL / ( RL + T ) [EQN13]

And [EQN02] with [EQN13] gives us:

Sr = RL / ( RL + T ) [EQN14]

If we want this in terms of R then we can use [EQN04] with [EQN14] to give us:

Sr = ( R - ( T / 2 ) ) / ( ( R - ( T / 2 ) ) + T )

Which can be rearranged ...

Sr = ( R - ( T / 2 ) ) / ( R + ( T / 2 ) )

Multiply top and bottom by 2 ...

Sr = ( 2.R - T ) / ( 2.R + T ) [EQN15]

So that provides a way of calculating a speed ratio (Sr) for a given track and turning circle radius (R). What if we want to know the radius for a specific speed ratio? We can rearrange [EQN15] as follows ...

Sr.( 2.R + T ) = 2.R - T

Sr.2.R + Sr.T = 2.R - T

Sr.T + T = 2.R - Sr.2.R

T.( Sr + 1 ) = 2.R.( 1 - Sr )

Or

R = T.( Sr + 1 ) / 2.( 1 - Sr ) [EQN16]

So we no have a way to determine the radius for a specific speed ratio.

Note that these figures assume constant speed ratio which is unlikely in reality but they will provide a guide. For simple lookup you might want to create a lookup table for your robot.

For example, if we assume a track T = 0.75 m then we can populate some example lookup tables.

Using [EQN15] with T= 0.75 m we can populate a table of sample speed ratio (Sr) values for required radius (R):

R (in m) |
Sr |

1 | 0.455 |

2 | 0.684 |

3 | 0.778 |

4 | 0.829 |

5 | 0.860 |

6 | 0.882 |

7 | 0.898 |

8 | 0.910 |

9 | 0.920 |

10 | 0.928 |

Using [EQN16] with T= 0.75m we can populate a table of sample radius (R) values for required speed ratio (Sr):

Sr |
R (in m) |

0.10 | 0.458 |

0.15 | 0.507 |

0.20 | 0.563 |

0.25 | 0.625 |

0.30 | 0.696 |

0.35 | 0.779 |

0.40 | 0.875 |

0.45 | 0.989 |

0.50 | 1.125 |

0.55 | 1.292 |

0.60 | 1.500 |

0.65 | 1.768 |

0.70 | 2.125 |

0.75 | 2.625 |

0.80 | 3.375 |

0.85 | 4.625 |

0.90 | 7.125 |

0.95 | 14.625 |