Vous êtes sur la page 1sur 9

CENG 585: Fundamentals of Autonomous

Robotics - Project 1

Kadir Firat Uyanik


KOVAN Research Lab.
Dept. of Computer Eng.
Middle East Technical Univ.
Ankara, Turkey
kadir@ceng.metu.edu.tr
Abstract

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. An improved reactive controller


This controller makes use of all the IR range sensors which lets robot to ob-
tain better information about the environment. Besides, sensor activations are

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:

lef t motor velocity =


u(|f orce angle|) × sign(f orce theta) × rotation speed
+
(1 − u(|f orce angle|)) × wandering speed

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. Time decaying sensor activation based controller


As opposed to previous controllers, this controller utilizes not only the most
recent sensor activity but also the whole sensor activity history. To do this,
sensor activations are weighted inversely proportional to the time passed after
they are acquired. The following formula shows how it is done more clearly:
‘ (t−1)‘
sensorit = (1 − exp(−λ)) ∗ sensorit + exp(−λ) ∗ sensori
In this function i represents the sensor index and t represents the time when
corresponding sensor is excited. λ is the decaying factor that effects how much
former sensor activations are considered. Newly calculated sensor data are used
to generate repulsive force field on the robot and actuation signals are generated
through the function given in controller-2.
Time decaying property of this controller makes the avoidance behavior less
oscillitory due to it’s smoothing through time attritube.

4. Time decaying local map generating controller


Local map generation maybe the best way to utilize former sensory information.
One approach is modelling obstacles as if they are 2D point clouds, and applying
same repulsive force field method for all the points acquired. However, due to
the slippage and other physical world problems, reliability of the older points
decrease in time. This can be modeled as a confidence function as stated in
time decaying sensor activation based controller.
Another approach would be utilization of the compass sensor of the robot to
correct heading error and corresponding transformation correction of the points
in the world. By doing so, reliability of the previous sensory information would
be increased, however, it is almost impossible to rely on pure encoder measure-
ments to locate robot. This can be overcome by using landmark detectors.
However, most problematic part here is the calibration of the IR range sen-
sors, and their weakness for dark colored objects and corners. Therefore, this
controller would be superior to the other controllers, but still is not a once
and for all solution for other complicated problems rather than just avoiding
obstacles.

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.

Other Performance Metrics


Performance comparison metrics play a crucial role to decide on the best con-
toller for a obstacle avoidance behavior. These metrics are divided into 3 main
categories in[16], such as cost, utility, and reliability. For instance, number of
parameters to tune, reaction time and distance to collision are mentioned under
the cost category, but they can also be interpreted under utility and reliability
categories. In this work, I have used only three parameters, such as decaying
factor, force angle alignment hysterisis, sensor inhibation factor. However, I
could add some other parameters like force angle fine alignment or sensor ac-
tivation derivative property to eliminate abrupt changes in sensors. All these
parameters enable robot to move more robust and less oscillatory but it employs
more processing and memory resources.
Another important metric would be ability to avoid traps and cyclic behav-
ior. In this work, controller-3 can never be trapped if there is a way out of

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:

How force alignment works:


http://ieee.metu.edu/kadir/forcefield.wmv
Braitenberg vehicle 3b:
http://ieee.metu.edu/kadir/braitenberg.wmv
Time decaying sensor activation with force fields:
http://ieee.metu.edu/kadir/timedecaying.wmv

5
Bibliography

[1] O. Khatib, Real-time obstacle avoidance for manipulators and mobile


robots. International Journal of Robotic Research In Int. J. Rob. Res.,
Vol. 5, No. 1. (1986), pp. 90-98.
[2] Wilson, N. J. “Principles of Artificial Intelligence” Springer Verlag. Berlin
(1982)
[3] Nilsson, N. J. “A Mobile Automaton: An Application of Artificial Intel-
ligence Tech- niques” Proc. 1st Int. Joint Conf. on Artificial Intelligence,
Washington D.C., 509-520 (1969)
[4] Latombe, J. C. “Robot motion planning” Kluwer Academic Publishers,
(1991)
[5] Borenstein, J. and Koren, Y. “Real-time Obstacle Avoidance for Fast Mo-
bile Robots.” IEEE Transactions on Systems, Man, and Cybernetics, 19(5)
(Sept/Oct 1989)
[6] Borenstein, J. and Koren, Y. “The Vector Field Histogram- Fast obstacle
avoidance for mobile robots.” IEEE Journal of Robotics and Automation
7(3), (June 1991)
[7] Ulrich, I., and Borenstein, J. “VFH+: Reliable Obstacle Avoidance for
Fast Mobile Ro- bots” IEEE International Conference on Robotics and
Automation, p1572, Leuven, Bel- gium, (1998)
[8] Brock, O., Khatib, O. “High-speed navigation using the global dynamic
window ap- proach.” In Proc. ICRA, pages 341-346, (1999)
[9] Minguez, J., Montano, L. “Nearness Diagram Navigation (ND): Collision
Avoidance in Troublesome Scenarios”. IEEE Transactions on Robotics and
Automation, (2004)
[10] Simmons R., ”The Curvature Velocity Method for Local Obstacle Avoid-
ance,” IEEE Int. Conf. on Robotics and Automation, Minneapolis, USA,
(1996)
[11] Quinlan S., Khatib O. ”Elastic Bands: Connecting Path Planning and
Control,” IEEE Int. Conf. on Robotics and Automation, Atlanta, USA,
(1993)
[12] V. Braitenberg. Vehicles. ”Experiments in Synthetic Psychology”, MIT
Press, Cambridge, MA, 1984.

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

Vous aimerez peut-être aussi