Content uploaded by Jaerock Kwon
Author content
All content in this area was uploaded by Jaerock Kwon on Apr 20, 2016
Content may be subject to copyright.
Abstract— Identifying the exact current location of a robot is a
fundamental prerequisite for successful robot navigation. To
precisely localize a robot, one popular way is to use particle
filters that estimate the posterior probabilistic density of a
robot’s state space. But this Bayesian recursion approach is
computationally expensive. Most microcontrollers in a small
mobile robot cannot afford it. We propose to use a smartphone
as a robot's brain in which heavy-duty computations take place
whereas an embedded microcontroller on the robot processes
rudimentary sensors such as ultrasonic and touch sensors. In
our design, a smarphone is wirelessly connected to a robot via
Bluetooth by which distance measurements from the robot are
sent to the smartphone. Then the smartphone takes responsible
for computationally expensive operations like executing the
particle filter algorithm. Also we propose to use rotating
ultrasonic sensors to reduce the number of sensors needed as
well as time of distant measurements. In this paper, we
designed a mobile robot and its control architecture to
demonstrate that the robot can navigate indoor environment
while avoiding obstacles and localize its current position.
Several experiments were conducted to show feasibility of the
rotating sensors and a smartphone brain for a mobile robot.
Index Terms— mobile robot, smartphone, localization,
navigation, particle filter, ultrasonic sensor.
I. INTRODUCTION
The demand of indoor autonomous mobile robots has
increased for last few decades. Commercial success of
cleaning robots is a good example of such high-demand. In
2012 about three million service robots for personal and
domestic use were sold according to the International
Federation of Robotics (IFR) [1]. The IFR prospects about 22
million units of service robots for personal use to be sold
during the period 2013 to 2016.
There have been many approaches in indoor localization
and navigation for a mobile robot for last couples of decades.
To be autonomous, a robot must be able to identify its exact
current position. Based on the knowledge the robot is aware
of how to proceed to arrive at a goal position. To enhance
robot localization, high-quality sensors such as laser scanners
and 3D cameras are preferable. But most microcontrollers in
a small robot cannot afford the computation required to
process such high-fidelity sensor data. In this paper we
propose to use a rotating ultrasonic range sensor to measure
distance to the walls and detect obstacles. With its Bluetooth
wireless connectivity to the robot a smartphone can be used
as robot’s brain in which all heavy-duty computations are
executed. State-of-the-art smartphones outperform a few year
old laptop computers not to mention all the high performance
sensors in a smartphone including a multi-million pixel
camera, an ambient light sensor, an accelerometer, a pressure
sensor, a temperature sensor, a GPS, a gyroscope, and many
more. With a proper connectivity and communication
methods to a robot a smartphone is capable of being the robot
brain.
Figure 1. Block diagram of the robot using a smartphone as its brain
The block diagram in Fig. 1 shows the overall design of
the robot and its components. A smartphone is in charge of
processing complex algorithm that requires heavy-duty
computations. A microcontroller powered by Arduino [2] is
only responsible to control DC motors for four wheels and a
servo motor for rotating ultrasonic sensors. The smartphone
wirelessly communicates with the microcontroller through
Bluetooth technology. Higher level commands such as setting
a goal position and starting navigation are from the
smartphone to the microcontroller. Obstacle detection and
distance measurement using ultrasonic range sensors are
executed by the microcontroller. The measurement data are
sent to the smartphone to calculate the probability of the
robot location in the next step.
In following sections, relevant studies will be discussed.
Then the design and implementation details will follow the
discussions. To demonstrate the practicality and effectiveness
of our robot design several experiments will be shown. The
experimental results show that the layered control
architecture using a smartphone as the robot’s brain with
Indoor Localization and Navigation for a Mobile Robot Equipped
with Rotating Ultrasonic Sensors Using a Smartphone as the
Robot’s Brain
Jongil Lim, Student Member, IEEE, SeokJu Lee, Student Member, IEEE, Girma Tewolde, Member,
IEEE, and Jaerock Kwon, Member, IEEE
rotating sensors is a valid approach to balance the quality and
affordability of a mobile robot.
II. RELATED WORKS
A laptop has been a popular processor unit for mobile
robot [3]-[6]. As the processor of smartphones becomes
faster and the size of the memory becomes larger,
smartphones have been gaining popularity as a processing
unit for a mobile robot. As far as the performance of
smartphones is sufficiently strong, smartphones have many
obvious advantages against traditional laptops. The small size
and light-weight are evident benefits. Heavy load of a laptop
requires more battery power that must be saved as much as
possible for a mobile robot. For the reason, small mobile
robots are restricted from using complex algorithms requiring
heavy-duty computations. Smartphones are not just
comparable processing unit with laptops. All the high
performance sensors in a smartphone are incomparable with a
laptop. Due to the reasons many researchers started using
smartphones as part of mobile robots. A remote control
system of a mobile robot was proposed using Bluetooth with
a smartphone and its performance was evaluated in [7]. A
camera in a smartphone was used to detect landmarks such as
QR code for localization and navigation of mobile robot in
[8]. Sensors of a smartphone were used in mobile robot
navigation in [9]-[11]. Unlike other approaches mentioned
above, the proposed system in this paper utilizes a
smartphone as a main processor, the brain of a robot, to
process computationally expensive tasks.
Ultrasonic sensors have been a popular measurement tool
due to the simplicity and affordability. A line feature based
SLAM was proposed using ultrasonic sensors for a mobile
robot in [12] in which seven IR sensors are separately
installed with a 30 degree in front of the robot to measure
distance for SLAM. A hierarchical algorithm for indoor
mobile robot localization was suggested using RFID sensor
in [13] in which nine ultrasonic sensors were used. A
navigation method was introduced for a tour guide robot in
[14]. In front of the robot eight ultrasonic sensors were
installed. Unlike these approaches we articulated the number
of sensors and angles/distances between them. Our design is
to use only four ultrasonic sensors that are placed on a plane
on top of a servo motor in perpendicular each other. The
details will be given in the following sections.
III. METHODOLOGY
Hardware components including the robot chassis, motors,
ultrasonic sensors, Bluetooth module, and the Smartphone
will be presented with design details of the robotics platform
in this section.
A. Layered Control Structure using a Smartphone as the
Brain of a Robot
A two-layer control structure was designed and used. The
lower layer is responsible for relatively simple tasks that
include processing sensor readings and controlling motors.
The higher layer is in charge of processing tasks that need
heavy-duty computations. Bluetooth wireless technology is a
bridge to connect the two layers. See Fig. 1 for more details
on hierarchy of control structure.
The Nexus 4 smartphone [15] was used as a robot's brain.
The Atmega328 based Arduino MEGA microcontroller is in
charge of controlling motors and reading ultrasonic sensors.
The mobile robot platform that we used is Rover 5 platform
and 333 CPR quadrature encoders are operated by the
ROB-11593 motor controller [16]. A pack of four ultrasonic
range sensors called HC-SR04 [17] was placed on a board on
top of a servo motor. Four sensors are positioned in 90 degree
angular distance so that they are perpendicular each other.
The sensor reading will be used to measurement distance for
particle filters and detect obstacles for navigation of our
mobile robot. The Bluetooth module called HC-06 [18] is
used for wireless communication between the microcontroller
and the smartphone. The actual robot is shown in Fig. 2.
Figure 2. Lateral view of the mobile robot (left) and a bird eye's view
(right). (a) rover 5 with (b) 333 CPR encoder, (c) ROB-11593 motor shieild,
(d) Arduino MEGA, (e) HC-06 Bluetooth module chip, (f) ultrasonic sensor
HC-SR04
B. Path Plan
To make the mobile robot navigate, we used A-star
algorithm [19] that calculates the shortest path in a map. The
algorithm does not calculate bigger g-value than current
g-value [20] to reduce the calculation time. After a path of
mobile robot is calculated, a smoothing algorithm is applied
to the calculated path. The smoothing process is shown in (1).
𝑦!=!𝑦!+!𝛼!(𝑥!+!𝑥!−!2𝑦!)
!𝑦!=!𝑦!+!𝛽!(𝑥!−!𝑦!!) (1)
where x0, x1 and x2 are current position, next position and
position after next each. The smoothing algorithm iteratively
applies to update equations to the waypoints on our path. The
terms α and β control a level of smooth path or a level of
original path. Fig. 3 shows an original path and a smooth one.
Figure 3. Smooth path planning. The solid line in red is the original path
and the blue solid line is the smooth path.
When the robot detects an obstacle on the planned path,
the path planning must be done at from the current position to
the goal position (Fig. 4).
Figure 4. Avoding obstacle and new path planning.
C. Particle Filters
In the past decade, particle filters or Sequential Monte
Carlo (SMC) has been applied to mobile robot localization
[21][22]. Particle filters estimate the posterior probabilities of
unobservable state variables from sensor measurements.
Each particle with weights that is the likelihood of the
stats is approximated by particle filter. After motion and
measurement are updated, the particles are re-sampled by its
own weight value. Through repetition of re-sampling, all
particles converge into one cluster. As a result, the mobile
robot can predict own position by particles. All complex
process is handled by a smartphone such as calculating a
number of particles. After processing a complex process, a
smartphone send commands such as measuring distance and
moving robot to Arduino MEGA through the Bluetooth
connection.
Four ultrasonic sensors are attached to a servo motor for
measurement update of particle filters. The servo motor
rotates from 0 to 90 degree with 30 degree interval as shown
in Fig. 5. Thereby, it is possible to cover 360 degree. This
reduces the scanning time as well as the number of sensors.
The number of sensors may be reduced but the scanning time
will be increased, and vice versa. The servo motor rotates in
30 degree interval. Twelve distance values from four
ultrasonic sensors are obtained. Each sensor reads three times
on one scanning session. 30 degree was chosen to reduce
interference from neighboring sensors emitting ultra sound.
Figure 5. Four ultrasonic sensors are used with one servo motor for
particle filter. Each sensor measures distance frome 0 degree to 90 degree
with 30 degree interval. α = 30° and β = 30°
When an ultrasonic sensor does not receive its own
reflected sound signal after emitting sonar beam, the sensor
reading is absolutely not reliable. In this case we exclude it
from measurement data. The reason is that these wrong
readings will disturb the particle re-sampling process since
the weight of a particle is calculated based on the difference
between actual sensor readings and the map data.
The robot cannot identify its location with high certainty
in early steps since the probability of the location is evenly
spread in state-space. We used variance of particles (x, y,
theta) as a threshold to determine a moment when
localization is reliable enough to adjust the robot’s location.
The experimental results will be presented in the following
section
IV. EXPERIMENTAL RESULTS
Our approaches described above have been implemented
and validated using a mobile robotic platform with a
smartphone and a rotating ultrasonic sensor package.
(a)
(b)
Figure 6. Map environment for navigating and localizign our mobile
robot. Each size of gird is 0.67m by 0.67m. (a) occupancy grid map (b) the
actual environment.
A two-dimensional occupancy gird map generated for the
particle filters is shown in Fig. 6. The size of the environment
is 4.69m by 2.68m. Fig. 7 shows that our mobile robot
smoothly navigates to the goal point in the shortest path and
localizes its own position using particle filter. If variances of
particles are smaller than threshold (0.1) then we can
conclude that most particles are gathered into one cluster.
This mean the robot has high certainty on its location. A
number of particles are spread in the map as shown in Fig. 7
position of robot 1. Four ultrasonic sensors equipped with
servo motor read twelve distance values for measurement
update. After motion and measurements update, each particle
has different weight by re-sampling. All particles converge
one cluster through the iteration of motion and measurement
update. As a result, our mobile robot can safely reach to the
goal position by continuous localization.
Figure 7. Experimental results of mobile robot localization using particle
filter by ranmdom action. The bold red line and black dashed line are the
true trajectory and acutual robot trajectory. Particles(blue circles), ideal
position(green circle), acutual robot position (magenta diamond), and robot
postion prediced by particles(yellow square)
V. DISCUSSION
To determine an optimal number of particles we
conducted experiments in three different environmental
setups in which we used three different numbers of particles:
500, 1000, and 1500 particles. The experiment results show
that the more particles the robot uses the quicker
convergence to the threshold the robot can achieve (See Fig.
8). The result means that the robot can localize its own
position in an earlier position, if more particles were used.
But with more particles more computations are required to
process the particles. According to these experiments in the
environment that we prepared we can conclude that 1000
particles is a good choice since there is no significant
difference between using 1000 and 1500 particles in terms of
performance.
(a)
(b)
(c)
Figure 8. Variance of particles(x, y, theta) in each position using 500(blue
diamond), 1000(red square), 1500 particles(green triangle). (a)variance of
x-coordinate, (b)variance of y-coordinate, and (c)variance of theta
VI. CONCLUSION
In this paper we introduce a method of indoor localization
and navigation for a mobile robot equipped with rotating
ultrasonic range sensors as a measurement tool using a
smartphone as the robot brain. The proposed approaches
were validated by corresponding experimental results. By
rotating ultrasonic range sensor package we were able to
reduce the scanning time and the number of required
sensors. We also proposed to use a smartphone as the robot’s
brain in which all heavy-duty computations are executed.
We believe that the design of the proposed mobile robot
with a rotating ultrasonic sensor package using a smartphone
can be widely used in indoor autonomous mobile robot. We
expect more affordable service robots can be developed with
the proposed design.
REFERENCES
[1] World Robotics 2013 Service Robots.
http://www.ifr.org/service-robots/statistics/ (Accessed Dec 1, 2014)
[2] Arduino, an open-source electronics platform, http://www.arduino.cc/
[3] De Xu, Min Tan and You Fu Li, “Ceiling-Based Visual Positioning
for an Indoor Mobile Robot with Monocular Vision”, IEEE
Transactions on Industrial Electronics, Vol. 56, No. 5, 2009
[4] Esther Rolf, Matt Whitlock, Byung-Cheol Min, and Eric T. Matson,
“Enhancing Wi-Fi Signal Strength of a Dynmic Heterogeneous
System Using a Mobile Robot Provider”, RiTA 2013
[5] Frantisek Duchon, Martin Dekan, ladislav Jurisica, and Anton Vitko,
“Some Application of laser Rangefinder in Mobile Robotics”, CEAI,
Vol.14, No.2, pp. 50-57, 2012
[6] Joao Cunha and Eurico Pedrosa, Cristovao Cruz, Antonio J.R. Neves
and Nuno Lau, “Using a Depth Camera for Indoor Robot Localization
and Navigation”, In Robotics Science and Systems (RSS) RGB-D
Workshop, 2011
[7] Yong-Ho Seo, Senog-sin Kwak, and Tae-kyu Yang, “Mobile Robot
Control Using Smart Phone and Its Performance Evaluation”, CAN
2011, CCIS 199, pp. 362-369, 2011
[8] SeokJu Lee, Jongil Lim, Girma Tewolde and Jaerock Kwon,
“Autonomous Tour Guide Robot by using Ultrasonic Range sensors
and QR code recognition in indoor environment”, EIT 2014
[9] Jongil Lim, SeokJu Lee, Girma Tewolde and jaerock Kwon,
“Ultrasonic-Sensor Deployment Strategies and use of Smartphone
Sensors for Mobile Robot Navigation in Indoor Environment”, EIT
2014
[10] Hahmin Jung, Yeonkyun Kim, and Dong Hun Kim, “Communication
Quality Analysis for Remote Control of a Differential Drive Robot
Based on iPhone Interface”, ICHIT 2011, CCIS 206, pp. 278-285,
2011
[11] “Walky Robot: Operation Method for a Bipedal Walking Robot
through Personalized Gestures Expression of Fingers”,
http://www.jst-go.jp/erato/igarashi/en/projects/Walky/
[12] Young-Ho Choi, Tae-Kyeong Lee and Se-Young Oh, “A line feature
based SLAM with low grade range sensors using geometric
constraints and active exploration for mobile robot”, Auton Robot
(2008) 24: 13-27
[13] Byoung-Suk Choi, Joon-Woo Lee, Ju-Jang Lee, and Kyoung-Taik
Park, “A Hierarchical Algorithm for Indoor Mobile Robot
Localization Using RFID Sensor Fusion”, IEEE Transactions on
Industrial Electronics, Vol. 58, No. 6
[14] Kumar Yelamarthi, Stephen Sherbrook, Jonathan Beckwith, Matt
Williams, and Robert Lefief, “ An RFID Based Autonomous Indoor
Tour Guide Robot”, Circuits and Systems (MWSCAS), 2012 IEEE
55th International Midwest Symposium
[15] Nexus 4 (8 GB)
https://play.google.com/store/devices/details/Nexus_4_8GB?id=nexus
_4_8gb&hl=en (Accessed on Dec 1, 2014)
[16] Rover 5 Robot Platform https://www.sparkfun.com/products/10336
(accessed on Dec 1, 2014)
[17] “Product User’s Manual - HC-SR04 Ultrasonic sensor”, Cytron
Technologies
[18] “HC-06 Manual”, http://www.exp-tech.de/service/datasheet/HC-
Serial-Bluetooth-Products.pdf
[19] “A* algorithms”, http://stanford.edu/~amitp/GameProgramming/
[20] P. E. Hart, N. J. Nilsson, and B. Raphaelm "A Formal Basis for the
Heuristic Determination of Minimum Cost Paths". IEEE Transactions
on Systems Science and Cybernetics SSC4 4 (2): 100–107, 1968
[21] Ioannis M. Rekleitis, “A Particle Filter Tutorial for Mobile Robot
Localization”, Tech. Pep. Tech. Rep. TR-CIM-04-02, Centre for
Intelligent Machines, McGill University, 2004
[22] Sebastian Thrun, “Particle Filters in Robotics”, In Proceedings of
Uncertainty in AI (UAI) 2002
0
1
2
3
1 2 3 4 5 6 7 8 9 10
Variance
Posi%on'of'Robot'
500 particles 1000 particles 1500 particles
0
0.5
1
1 2 3 4 5 6 7 8 9 10
Variance
Position of Robot
500 particles 1000 particles 1500 particles
0
5
1 2 3 4 5 6 7 8 9 10
Variance
Position of Robot
500 particles 1000 particles 1500 particles