3Wheel OmniDrive

We will adopt the convention in the diagram on the right for our omni-drive robot.

  • Angles are positive when anti-clockwise

  • X-direction is positive when moving right side way

  • Y-direction is positive when moving forward

Note that the 3 wheels need not be exactly 120 deg apart.

In our WSS Robot,

M0 is M2 in diagram

M1 is M3 in diagram

M2 is M1 in diagram

An omni-drive robot can move in any direction while rotating itself.

For ease of control, we can resolve the robot translational and rotational velocities into it's X, Y and W components, as shown in diagram on the right.

We can then easily derive the wheel velocities w.r.t. the robot velocities in term of it's x and y components.

Each wheel movement can also be resolved into two perpendicular components. One is the wheel direction, the other the roller direction.

In the diagram, Vx is the robot X-speed component and Vy is the robot Y-speed component

Note that the equations in the above diagram apply to any of the wheels of the omni-robot. Hence, we can relate the robot wheel velocities to the robot velocities using the the matrix equation below:

Note :

  • R is the distance of the omni-wheel from robot center.

  • w is the angular velocity in rad/sec.

Excercise:

    • Create a program to implement above equation. Display result and verify manually.

    • Modify above program to control your robot. The wheel speed, S1 to S3 will be the input to your 3 wheels PID control system.