OmniWheel Robot with multidirectional functionality with dc encoder servo for accurate speed and position

Here, we are sharing with you the construction and programming details for a wheeled robot using 4 omni- wheels. Using DC encode motor enables this robot to provides an agile platform for multi-directional movements without rotating. Omni wheels can move forward like normal wheels, but it can also slide sideways. Due to this ability of omni wheels the robot can move at a specific accurate angle at a speed which can be controlled by the user.

Also, this robot can rotate on its own axis without any lateral movement owing to the construction and use of the omni-wheels along with dc encoder motors provides it a level of high flexibility in change of directions at places tight spots where turning radius is not available.

This Robot can work in two modes

1.1 Manual Mode:

In manual mode, the user can control the robot with PS2 remote to move in the required direction, and also rotate in the required direction . You will find the library functions and arduino code for using the robot in the required mode at the link provided below.

1.2 Autonomous Mode :

In the Autonomous mode, the user can program the robot to reach a particular destination point using a particular path as needed by the user. Alternatively, the path can be the shortest path based on the x,y co-ordinates, also user can find the arduino libraries and code are provided to implement the same.



This Robot platform with Omni Wheels and Dc encoder servo motors provides a high degree of accuracy and agility for change in directions.  The Robot does not need to rotate to change direction, Hence it is perfectly suited for places with sharp corners where turning is not possible. Following are the few of the applications where this concept platform can be used –

  1. In competitions like Robot Football where rapid changes of directions are required with agility and without turning the robot. The robot can be used in manual mode or autonomous mode as per the programming by the user.
  2. For autonomous driving applications where particular way points are to be achieved, this robot provides an accurate platform owing to the speed and position programming arduino libraries available with the platform for the dc encoder motors.
  3. This can be used for SLAM applications using RP LIDAR laser sensors available to create a locally aware mobile platform and interfacing with various AI algorithms can provide an intelligently moving Robot.


List of Components

You can find the list of components and links to get the components below:

  1. 1 x Engineered wood chassis kit
  2. 1 x Charger
  3. 4 x High Torque High Precision Encoder DC Geared Motor
  4. 4 x Omni Wheel
  5. 1 x Samsung Cell Premium Li-ion 11.1V
  6. 1 x Step down DC-DC Adjustable Voltage Regulator
  7. 1 x Arduino UNO R3 SMD Board
  8. 1 x Play station 2 Wireless RF Remote
  9.  4 x Omni wheel coupling
  10. 4 x Rhino DC Servo Driver                                                                                                                 This is an amazing cost effective solution to provide closed loop servo control for various   applications. We recommend using this drive with the encoder motor.  For more   information visit the datasheet provided at the link mentioned above.


Principle of Operation

The robot will move with the angle and speed provided by the user. Four wheels of robot are mounted 90 degrees apart. Angle movement of the robot depends on the speed of each wheel.  Assuming, that wheels x1 and x2 are x-axis and y1 and y2 are y-axis of Cartesian plane. If robot moves at 0 or 180 degree angle of Cartesian plane, the two wheels along the x axis will rotate at the speed obtained by the vector equation. Similarly, if the robot moves at angle 90 or 270, two wheels along y axis will rotate with velocity obtained from the vector  equation. Now, to move the robot at any particular angle, all the four wheels will rotate at different speed and in different direction. following equation can be used to calculate the speed of four wheels :

x = A*sinθ; y = A*cosθ

Assuming that robot has to move in the direction shown in the below given figure:

“A”, in Figure 1, is the speed at which robot will move at angle Ө. Y (Figure 1) is the speed of the wheels Y1 (Figure 2) and Y2 (Figure 2). X (Figure 1) is the speed of the wheels X1 (Figure 2) and X2 (Figure 2). When the speed of the 4 wheels is set to the value obtained from the above given equation, the robot will move in the shown direction at the given angle. This enables robots to move in any direction without changing direction.


Assembly Steps

Next step would be making robust structure for robot.  Setup the robot structure and follow the circuit diagram given below to make the connections.


Circuit Diagram

Make the connections as shown in below circuit diagram:


Final Working Robot