Omni Algorithm

Derivation

Derivation

This page will show how to find individual wheel velocities in terms of x and y velocities relative to the robot. The base of the omnidirectional robot is shown below. The shafts of the wheels are 120° apart.

The velocity of each of these wheels can be expressed as 2-dimensional vectors.

The sum of these vectors should give the resulting velocity. We can use this to find the x and y velocities. The sum of the magnitudes of these vectors will give the rotational velocities.

I am not sure why (if you know please tell me), but the RHS of each equation is now divided by the number of wheel velocities involved in that equation. The desired rotational velocity is 0, as rotating and moving in a straight line ("frisbeeing") requires encoders or some other form of displacement feedback, which I did not use. This system of linear equations can now be solved for individual speeds. I apologise for the ambiguity in the following steps, but I do not know how to number equations in MathType.

Copyright © 2006 Jack Valmadre and Stephen Myatt