An omni wheeled robot with configuration as shown below is controlled. Three operations are performed namely
- Find the angle of the robot with the wall
- Make the robot parallel to the wall
- Translate it to a distance of 30cm from the wall
This is the configuration of the wheels and form of the robot.
Download the folder containing the input, output and source files. Alternately input files can be created using the same format as provided. Choose a local directory in your system and add its path.
$ cd /LocalDirectory
$ git clone https://github.com/nilayoza97/omni_robot.git
$ make
$ ./omni_control
-
To find the angle, simply extend the sensor distance lines and form a rectancle with the inclined robot. The triangle formed with the wall gives you the angle Theta.
-
The robot is made parallel to the wall by connecting all the wheels which form the circle and then finding the length of the arc to be traced by all the wheels in order to cover an angle Theta with the wall.
-
Translating the robot to 30cm from the wall requires the current distance of the robot from the wall, which can be found out by using simple geometry as shown. Then give the pulse command to the side motors (as viewed from the top) so that they cover the required distance to bring the robot 30cm away from the wall. The front and rear motors will act as caster wheels in this operation as there is no need for rotation.
Note : The robot rotates from the centre of the body.