46 SERVO 09.2013
How It Works
Omniwheels have small rollers around their
circumference that are perpendicular to the rolling
direction. The result is a wheel that can roll like a
normal wheel but also slide laterally very easily.
Therefore, the wheels cannot be mounted in the
same manner as the aforementioned mecanum wheel.
The simplest design to understand is a robot with
a square base with the wheels
situated in the middle of each side.
However, while simple, if a force
were to be directly applied to one of
the corners of the square, two of the
wheels would be lifted up. Also, I
don’t want to damage my walls by
banging a pointy corner of a robot
into them. Finally, squares are rather
dull. Don’t be a square.
With the square design off the
drawing table, I tinkered with the
idea of lopping off the corners of the
square to create an octagon. I liked it.
It solved the weight distribution and
pointy corners issue. Also, an octagon
isn’t as dull. The octagon shape has a
significant advantage in powering the
robot. If there’s a wheel on each side,
going forward only has two motors
powered. With the motors at each
corner, going forward uses all four
Notice that this runs on the same idea as a mecanum
wheel. The wheels are situated at 45 degree angles and
create a similar system of combining /canceling force
vectors. In smaller robots, the difference between
omniwheels and mecanum wheels is miniscule. In larger
applications, however, there are different places of stress on
the drive system.
A couple of notes on the
code. In ROBOTC, the joystick
axes have a range of -127 to
+127; other products may
provide a range of 0 to 255 or
0 to 1023. In ROBOTC, motor
power levels also range from
-127 to +127; other systems
may use a different scale. If
you’re building for a different
platform, you may have to adjust
accordingly for these factors.
User Inter face
A remote control was used to
drive the robot using an “arcade
style” control. With arcade style
control, the horizontal and vertical
axes of a joystick specify the speed
and direction of the robot. The
horizontal axis of a second joystick
controls the rotation of the robot.