0% found this document useful (0 votes)
16 views7 pages

Kho Swan To 2016

Uploaded by

Shreyas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views7 pages

Kho Swan To 2016

Uploaded by

Shreyas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Chapter 17

Odometry Algorithm with Obstacle


Avoidance on Mobile Robot Navigation

Handry Khoswanto, Petrus Santoso and Resmana Lim

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.

Keywords Odometry algorithm  Mobile robot  Telepresence robot  Arduino

17.1 Introduction

An autonomous robot is required to have navigation capability. Given a certain


destination point in its environment, the robot is expected to reach the destination
autonomously. Many algorithms with different degrees of complexities have been
devised in the recent years. Some of them use fuzzy logic [1–3], genetic algorithms
[4–6]. Some also stick on older algorithm like odometry. Odometry is a basic
method of navigation, used by virtually all robots [7]. Odometry also proven
successfully used on project like Mars Exploration Rovers [8].

H. Khoswanto (&)  P. Santoso  R. Lim


Department of Electrical Engineering, Petra Christian University, Surabaya, Indonesia
e-mail: handry@petra.ac.id

© Springer Science+Business Media Singapore 2016 155


F. Pasila et al. (eds.), Proceedings of Second International Conference
on Electrical Systems, Technology and Information 2015 (ICESTI 2015),
Lecture Notes in Electrical Engineering 365, DOI 10.1007/978-981-287-988-2_17
156 H. Khoswanto et al.

There is a need to have a simple, less intensive calculation to support an ongoing


project of telepresence robot with an open protocol framework [9]. In this case, a
design decision has been made to do an exploration on the potential of odometry
algorithm. An obstacle avoidance feature also proposed to enhance the algorithm
when facing unexpected obstacle on the robot’s navigation route.
The paper describes how the odometry algorithm can be used by a mobile robot
to reach a certain goal location using single ultrasonic sensor and servo motor.
Using knowledge of wheel’s motion, an estimation of robot’s motion can be
derived. The mobile robot prototype uses Arduino controller, L298 DC Motor
driver, and disk encoder using optocoupler sensor. The mobile robot is differentially
driven, it has a motor on the left and right side and equipped with single caster
wheel on the back side. To add the capability of obstacle avoidance, a single
ultrasonic sensor and Tower Pro micro servo motor are added to the prototype.

17.2 Hardware and Mechanic Design

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

INPUT Arduino OUTPUT

Optocoupler L
Optocoupler R Servo

Fig. 17.1 System block diagram


17 Odometry Algorithm with Obstacle Avoidance … 157

1 pc Mobile Robot 1 pc Mobile Robot 4 pcs Mounting


Top Layer Bottom Layer Geared Motor DC

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

Fig. 17.2 Acrylic mobile robot platforms and mounting parts

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.

Fig. 17.3 Mobile robot


prototype
158 H. Khoswanto et al.

17.3 Odometry and Robot Model

Odometry is measurement method from motion sensor or rotation sensor to


estimate change in position over time. Odometry is used by some robots, whether
they be legged or wheeled, to estimate (not determine) their position relative to a
starting location. This method is sensitive to errors due to the integration of velocity
measurements over time to give position estimates. Rapid and accurate data col-
lection, equipment calibration, and processing are required in most cases for
odometry to be used effectively.
Figure 17.4 explain about detailed odometry geometry for our mobile robot. The
vehicle starts from (x, y, θ) and destination position at (xʹ, yʹ, θʹ). The center
between two wheels of the robot travels along an arc trajectory. Remembering that
arc length is equal to the radius times the inner angle, the length of this arc is:

dleft þ dright
dcenter ¼ ð17:1Þ
2

On basic geometry, the equation is:


urleft ¼ dleft ð17:2Þ

urright ¼ dright ð17:3Þ

If dbaseline is distance between the left and right wheels:


rleft þ dbaseline ¼ rright ð17:4Þ

Subtracting from Eqs. (17.2) and (17.3) above:


dright  dleft
u¼ ð17:5Þ
dbaseline

Fig. 17.4 Odometry


geometry for mobile robot
17 Odometry Algorithm with Obstacle Avoidance … 159

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.

x0 ¼ x þ dcenter cos ; ð17:6Þ

y0 ¼ y þ dcenter sin ; ð17:7Þ

dright  dleft
;0 ¼ ; þ ð17:8Þ
dbaseline

Calculation of wheel circumference is needed to know how far motion of the


robot. Mobile robot uses two wheels with 65 mm diameter. Each wheel is equipped
with 12 holes disc encoder for one rotation. The equation is as follows.

Dtick ¼ tick 0  tick ð17:9Þ

Dtick left
dleft ¼ 2:p:r: ð17:10Þ
N
Dtick right
dright ¼ 2:p:r: ð17:11Þ
N

17.4 Software Design

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

RUN ROBOT GO ROBOT


END
TO X,Y STOP

Fig. 17.5 System flowchart


160 H. Khoswanto et al.

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

17.5 Result and Discussion

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)

Fig. 17.6 Experiment: a without obstacles, b with obstacles


17 Odometry Algorithm with Obstacle Avoidance … 161

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.

Acknowledgment This Research is funded by Competitive Research Grants fund of Indonesian


Higher Education Directorate under contract no. 30/SP2H/PDSTRL_PEN/LPPM-UKP/IV/2015.

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)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy