Turning calculations

From ROBOTC API Guide
Jump to: navigation, search
Turning calculations
Turning calculations
ArduinoArduino Tutorials and Guided Projects → Turning calculations

Differential Steering

For a differential drive system, the "center point" where all the turning calculations are based from is based on the location of all the various driving wheels. To keep the process simple, we recommend that you try to keep the wheels evenly spaced so the center is just half way between all the wheels. If the system has a caster, then you can just ignore it for simplicity.

For the calculations we will say that the distance between the wheels from one side to the other is W. We will also say that the desired swing radius from the center is R, and the desired speed is V. The speed of the left side will be defined as VL and the speed of the right side as VR.

Differential Steering Graphic 4 wheels.png
Differential Steering Graphic 2 wheels.png
Differential Steering R Equation.png
Differential Steering V Equation.png
Differential Steering VL Equation.png
Differential Steering VR Equation.png

Notepad.gif TODO: Could add Kinematic equations for (X,Y) and robot orientation angle.

Ackermann Steering

Ackermann steering is the steering system used in just about every automobile. Normally the center point is located between a pair of fixed wheels. However this system can have the "center point" located anywhere you want. We will define the distance from the center point to the wheel length-wise as H. We will also define the turning radius as R. We will define the angle of the left and right wheels as ΘL and ΘR respectively. We will also define W as the distance between the wheels on each side.

Ackermann Steering Graphic.png
Ackermann Steering Left angle.png
Ackermann Steering Right angle.png

Notepad.gif NOTE: you can add additional pivoting wheels. Just change the value of H to the distance for those wheels.

Notepad.gif TODO: Could add Kinematic equations for (X,Y) and robot orientation angle.