Kho Swan To 2016
Kho Swan To 2016
Abstract Many algorithms have been devised on mobile robot navigation system.
Some of them use algorithm based on newer concept like fuzzy logic or genetic
algorithm. Some are stick on older algorithm like odometry. A simple, less inten-
sive calculation algorithm for a lightweight telepresence robot is required. To
accommodate the requirement, odometry algorithm is chosen specifically. Obstacle
avoidance feature is proposed to enhance the algorithm. A mobile robot prototype is
implemented using Arduino UNO, two DC geared motors, single caster wheel, and
an ultrasonic sensor. Two kind of experiments are performed. The first experiment
is to verify that odometry algorithm is working. The second one is used to verify
obstacle avoidance mechanism. The results are satisfying. Mobile robot can avoid
the obstacle and reach the destination correctly. Further experiment is needed to
decide about ultrasonic sensor placement in a real telepresence robot.
17.1 Introduction
This paper designed mobile robot with the aim of reaching the destination point
even though there are particular obstacles on its route. The system block diagram is
given on Fig. 17.1.
The robot uses ultrasonic sensors to detect the distance of objects in front of it.
Ultrasonic sensors placed on servo motors so that it can rotate 180°. The rotation of
the servo starting from −90° to 90° in increments of 45°. Using servo motors, the
ultrasonic sensor is capable of facing on five different directions (left, oblique left,
front, oblique right, and right). To calculate the rotation of the motor, a mobile robot
uses an acrylic disc encoder with 12 holes that can be read by optocoupler.
Installation of disc encoder is parallel with the wheels. The actuator uses two geared
DC motor with two shafts. The first shaft installed on encoder disk and the other
shaft is mounted on wheel. Figure 17.2 represent the mechanical design of mobile
robot prototype.
Ultrasonic Motor L
Motor R
Optocoupler L
Optocoupler R Servo
29.80 mm
Servo
EL ER
37.30 mm ML MR
193.84 mm
Driver
37.30 mm
Controller
140.62 mm
2 pcs Encoder
Platform Disk
Figure 17.2 shown the top and bottom platform layer, and the mounting
accessories for DC Geared Motor and disc encoder. On the top layer there is a square
hole which is used to place a micro servo motors. Micro servo motor is used to
enable the movement of ultrasonic sensor. The second devices on top layer are
L298 DC motor driver and Arduino UNO controller. On bottom layer, there are two
geared DC motors, namely motor left (ML) and motor right (MR). Two DC motors
are installed using 4 mounting pieces in the right places. Each disc encoder has 12
holes for one rotation. So, one tick represents 30 degrees of rotation of the wheel.
Each of these holes will generate a pulse that will be read by optocoupler sensor. An
optocoupler, also known as an optoisolator or photocoupler, is an electronic com-
ponent that interconnects two separate electrical circuits by means of a light sensitive
optical interface. Figure 17.3 represents the implemented mobile robot prototype.
dleft þ dright
dcenter ¼ ð17:1Þ
2
Wheel encoders give the distance moved by each wheel, left and right wheel.
Assume the wheels are following an arc trajectory for short time scale.
dright dleft
;0 ¼ ; þ ð17:8Þ
dbaseline
Dtick left
dleft ¼ 2:p:r: ð17:10Þ
N
Dtick right
dright ¼ 2:p:r: ð17:11Þ
N
The flowchart of the system is depicted on Fig. 17.5. Position estimation is used to
predict robot position by counting the pulse sent by optocoupler. The direction of
the robot can be known from the result of pulse count from the left and right
optocoupler. Robot reads the destination coordinate and always check the odometry
pulses (dtick1 and dtick2). Controller updates the newest position of mobile robot
(x_new, y_new, teta_new). After the robot gets the newest coordinate, controller
calculates the difference between destination coordinate and current coordinate.
SCANNING
DETECT POSITION CALCULATE
START OBJECT NO FINISH? NO
OBJECT? ESTIMATION PID
POSSITION
YES YES
Error is used to calculate PID parameters and determine the speed of left motor and
right motor. This algorithm is repeated until destination point is reached.
Obstacle avoidance mechanism begins with the reading of obstacle position.
Servo will rotate the ultrasonic sensor and get the data of distance between robot
and obstacles from several different angles (0, 45o, 90o, 135o, and 180o). Each
distance is saved and transformed using rotation and 2D translation depicted in
Eqs. 17.12 and 17.13. Equation 17.12 is derivation of Eq. 17.13 where R(x, y, θ) is a
3 × 3 matrix. The transformation result gives the coordinate of world view depicted
at Eq. 17.13.
2 3
cosðh0 Þ sinðh0 Þ x0
Rðx0 ; y0 ; h0 Þ ¼ 4 sinðh0 Þ cosðh0 Þ y0 5 ð17:12Þ
0 0 1
2 3 2 3
xdi di
4 ydi 5 ¼ Rðx; y; hÞRðxsi ; ysi ; hsi Þ4 0 5 ð17:13Þ
1 1
Mobile robot starts at the origin, pointed down the xy axis. Its starting state is (x, y,
θ) on (0, 0, 0) and the mobile robot will going to (xʹ, yʹ, θʹ). The experiment result
will prove the usability of the navigation method.
The first experiment of mobile robot goes to goal without any obstacles with
destinations coordinate (180, 50 cm). The second one goes to goal with obstacles
with the same coordinate. Figure 17.6 shows how the mobile robot reach the
destination on coordinates (180, 50 cm). The research experiment is completed with
four obstacles. The obstacles are paper board sound damper with the height 25 cm
and paper fold 1 cm. The obstacles are used to disturb ultrasonic wave transmission.
From 10 experiments with 4 obstacles and random position a success rate of
90 % is achieved. Without obstacles, 100 % success rate can be achieved.
(a) (b)
Start
(0,0)
Start
(0,0)
Finish Finish
(150,80) (150,80)
17.6 Conclusion
Odometry method is able to carry the mobile robot to reach its destination. One of
the weaknesses of the system is drifting of the wheels. In the second experiment
paper board sound damper as obstacles is added. In this schema, the mobile robot
still can reach its goal. Considering the result of the experiment, there is still a need
of further experiment to decide on ultrasonic sensor placement on a real telepres-
ence robot.
References
1. Oriolo, G.: Real-time map building and navigation for autonomous robots in unknown
environments. IEEE Trans. Syst. Man Cybern. B Cybern. Soc. 28(3), 316–333 (1998)
2. Yang, X., et al.: A layered goal-oriented fuzzy motion planning strategy for mobile robot
navigation. IEEE Trans. Syst. Man Cybern. B Cybern. 35(6), 1214–1224 (2005)
3. Budiharto, W., et al.: Obstacles avoidance for intelligent telepresence robot using interval
Type-2 FLC. CIC Express Lett. 8(3), 821–827 (2014)
4. Sugihara, K., Smith J.: Genetic algorithms for adaptive motion planning of an autonomous
mobile robot. In: International Symposium on Computational Intelligence in Robotics and
Automation (1997)
5. Hu, Y., Yang, S.X.: A knowledge based genetic algorithm for path planning of a mobile robot.
In: International Conference on Robotics and Automation (2004)
6. Sedighi, K.H., Ashenayi, K., Manikas, T.W., Wainwright, R.L., Tai, H.M.: Autonomous local
path planning for a mobile robot using a genetic algorithm. In: Congress on Evolutionary
Computation (2004)
7. Olson, E.: A primer on odometry and motor control (2004)
8. Maimone, M., et al.: Two years of visual odometry on the mars exploration rovers. J. Field
Robot. 24(3), 169–186 (2007)
9. Petrus, S., Handry, K.: Open protocol framework for telepresence robot. ARPN J. Eng. Appl.
Sci. 9(12), 2437–2440 (2014)