Documente Academic
Documente Profesional
Documente Cultură
Robotics - Project 1
Obstacle avoidance is one of the most essential issues in the navigation problem
of mobile robots, even in robotic manipulators. This problem is commonly
coped by using reactive control paradigm in which actuation outputs are merely
a mapping of most recent sensor activities. In this report, several obstacle
avoidance algorithms/approaches are examined. Some of the algorithms are
implemented on a mobile robot platform, and also evaluated considering several
performance metrics.
Introduction
Obstacle avoidance paradigm first introduced by Khatib in 1986 [1] merged with
artificial potential fields based motion control approach. Obstacle avoidance
decision is to be made very quick in the case where only local sensory information
is available. In other words, there is no information acquired through global
sensors which may provide position of the robot’s itself and possible obstacles
around the robot. There are several path finding algorithms, such as the A*
search[2], the Visibility Graph[3], the Voronoi Diagram[4] which give promising
results. Nonetheless, they mostly require the global map or bird’s eye view to
be available.
On the other hand, despite it’s well-known drawbacks (e.g. local minima,
oscillitory movements), artificial potential fields (apf ) has been one of the most
popular reactive motion control paradigms. Various methods are proposed to
overcome the problems that apf and similar methods suffers such as the Vir-
tual Force Field [5] Vector Field Histogram[6], VFH+[7], the Dynamic Windows
Approach[8], the Nearness Diagram[9], the Curvature Velocity Method [10], and
the Elastic Band Concept[11].
The methods mentioned above can be divided into two main classes. The
ones using sensory information to directly calculate actuator signals -reactive
methods-, and the other ones collecting sensor activity to extract a local map or
a more informative world representation. In this work, I spent effort to imple-
ment a reactive controller based on Braitenberg’s vehicle 3b[12], another reactive
controller based on apf[1] which improves the performance of the obstacle avoid-
ance behavior upon the former controller, and a motion controller based on [13]
which considers all the history of sensory data by summing them up in a time
decaying weighted fashion.
Experimental Setup
The work documented in this report has been implemented on the mobile plat-
form called Kobot. Kobot is specifically designed for swarm robotic studies. The
robot has the size of a CD (diameter of 12 cm), a weight of 350 grams, and it is
differentially driven by two high quality DC motors. It has eight IR sensors for
kin and obstacle detection and a digital compass for heading measurement. An
IEEE 802.15.4/ZigBee compliant XBee wireless module with a range of approx-
imately 20 m indoors is used for communication between robots and between
the robots and a computer console. The robot hosts a 20 MHz PIC18F4620A
microcontroller, [14].
Implementations
1. A reactive controller
As a control schema to avoid obstacles in the world and wander around, Brait-
enberg’s vehicle 3b model is used. According to the experiments robot appears
to have an intention of wandering around but avoid obstacle when one side of
the robot recognizes a sensor activity. That instant, the sensors on the activated
side inhibits the actuation of the motors on the other side of the robot. Kobot’s
1
Figure 1: Kobot, mobile robotic platform
5 IR range sensors are utilized for the purpose of obstacle detection. They are
grouped three by three, front sensor is overlaping, and crossly connected as mo-
tor signals by averaging and normalizing their inhibition factor considering the
motors actuation range.
With this controller, Kobot wanders around smoothly but can’t generate
motor-stop signals if there is an obstacle directly in front of it. This is because
of the way sensor data are handled. In direct obstacle facing case, only the
sensor in front fully activated but the sensors on the sides are not. Therefore,
for the robot to fully stop motors, the only case is a cylindrical obstacle facing.
Figure 2: Braitenberg’s vehicle and multi sensor configuration used in this work,
retrieved from[15]
2
acquired as if they are repulsive forces caused by obstacles. This controller
combines robot’s intention to wander around, and it’s desire to escape from
the objects in the direction of resultant repulsive force. This two-stage-looking
action is genarated via the following sensory-motor mapping function:
The mapping function above is less detailed than the actual one for the sake
of simplicity. But it is worth noting that I used some angle tolerance to avoid
unnecessary oscillations as if it is an hysterisis loop.
3
Discussion
In this section, above-mentioned controllers are compared in terms of oscillation,
reliability, memory usage, and processesor usage.
‘Braitenberg vehicle 3b’ based controller (controller-1) is the most smooth,
the most economic -in terms of resource usage- and least oscillatory one. Yet,
it can get stuck when directly faces with an obstacle.
Other controllers make use of force fields. This requires heavy usage of
trigonometric functions, which employs many clock cycles of the microcon-
troller. However, force field method lets robot -in a way- flow through all the
obstacles in the world. It never gets stuck and continue wandering around the
world successfully. Hence, there is a tradeof between choosing not-getting-stuck
and not-using-resources. However, in our problem, force-field-based reactive
controller(controller-2) works better than controller-1.
Controller-3 and controller-4 use time-decaying property. Due to their reac-
tive nature and discreteness of the distribution of the sensors around the robot,
controller-1 and controller-2 suffers from oscillatory movements. Controller-3
and Controller-4 exhibit less oscillatory behavior since sensor information ac-
quired through time is smoothed via the weighted sum of all the history.
Please note that controller-4 has not been totally implemented and tested
due to limitations of the hardware of the robot (e.g. encoder direction problem).
However, this problem has been handled in the software layer by assuming that
the motors are turning in the direction that the motor command being sent.
But, this controller is left as a future work.
During experiments, sensor data is sent to a PC via X-Bee modules. It is
found in the log files that incoming sensory information constitutes an abrupt
peak value in each appr. 100 acquisition. These noisy inputs can be eliminated
by using an external smoothing filter. Here, controller-3 and controller-4 have
advantage over controller-1 and controller-2 since they reduce effect of this noise
by multiplying them with (1 − exp(−λ)) and adding decayed sensor history top
of it.
In this particular experiment setup, I would rank the controllers being im-
plemented in the order of controller-4, controller-3, controller-2 and controller-1.
4
that trap at least in the size of the robot and if the size of the trap is less than
the range that robot’s sensors can detect. Nevertheless, cyclic behavior may
occur since controller-3 cannot handle environmental objects effectively but it
smooths their effect in time and obtain less oscillatory action profile. In order
to overcome cyclic behavior problem controller-4 should be implemented and
tested. Since it is able map the world as 2d point cloud it can easily get out of
well-known U-trap or other similar traps.
Conclusion
In this report, several obstacle avoidance methods are represented. Implementa-
tions of these controllers are compared by considering some performance metrics.
Different methods are combined like reactive response, force fields, and time de-
caying sensor fusion. Videos related to these implementations can be found in
the following links; it is highly recommended for the reader so that he or she
see differences between these controllers:
5
Bibliography
6
[13] Arora, S. and Indu, S. ”A Novel Time Decaying Approach to Obstacle
Avoidance”, PReMI09, 543-548, 2009
[14] http://www.kovan.ceng.metu.edu.tr/index.php/Robots\Kobot
[15] I. Rano, T. Smithers. Obstacle Avoidance Through Braitenberg’s Agression
Behavior and Motor Fusion. ECMR, 2005
[16] W. Nowak, A. Zakharov, S. Blumenthal, E. Prassler. Benchmarks for Mo-
bile Manipulation and Robust Obstacle Avoidance and Navigation, 2010