obstacle avoidance coimbra
TRANSCRIPT
Simple Obstacle Avoidance Algorithm for Robot Navigation
Ioan Susnea*, Adrian Filipescu*, Grigore Vasiliu*,Adrian Radaschin*
*University “Dunarea de Jos” of Galati, Romania, Faculty of Computer ScienceDepartment of Control Engineering,
e-mail: [email protected];[email protected];[email protected];[email protected]
Abstract: While most current implementations treat the problem of obstacle avoidance as a sub-task ofpath planning in a purely deliberative approach , replanning the route in real-time, upon detection of anunexpected obstacle can be difficult, especially when the control system is based on low-cost/low powermicrocontrollers. This paper presents a simple, reactive algorithm, designed to work with low-cost,interchangeable sensors, fast enough to be implemented on embedded microcontrollers.The algorithmdefines a sensitivity area around the robot, whose shape and size are dinamically adjusted depending onthe kinematic parameters of the robot. When an obstacle is detected within this “sensitivity bubble”, therobot “rebounds”, by choosing a new look-ahead point, located in a direction having the least density ofobstacles, and continues to move in this direction until it regains visibility to the goal, or a new obstacle isdetected.
1. INTRODUCTION
1Obstacle avoidance is crucial for robot navigation. Thereforea significant number of solutions have been proposed for thisproblem. Unfortunately, most of these solutions demand aheavy computational load, which makes them difficult, if notimpossible, to implement on low cost, microcontroller based,control structures.
This paper presents the results of a research aimed to developa new algorithm for obstacle avoidance relying on low costultrasonic or infrared sensors, and involving a reasonablelevel of calculations, so that it can be easily used in real timecontrol applications with microcontrollers.
The approach of the proposed algorithm is entirely reactive –only the most recent sensor readings are used for decision,and, in order to overcome the problem of sensor noise, ratherthan repeating measurements with each sensor, the proposedsolution integrates the information from several distinctsensors.
Besides this introduction, the structure of the present paper isas follows:
Section 2 contains a brief overview of the state of the art inthis field. This section is aimed to facilitate the understandingof the proposed algorithm. However, only reactivealgorithms, of comparable complexity are presented here.
Section 3 contains a description of the proposed solution, andnotes on the actual implementation. Section 4 presents theexperimental results used for evaluating the algorithm.Section 5 is reserved for conclusions and discussion.
1 This work was supported by CNCSIS –UEFISCSU, projectnumber PNII – IDEI ID_641/2007
2. BRIEF OVERVIEW OF THE STATE OF THE ART
2.1 The Bug Algorithms
The simplest obstacle avoidance algorithm ever described iscalled “the bug algorithm” (Lumelski ae. al. 1990a).According to it, when an obstacle is encountered, the robotfully circles the object in order to find the point with theshortest distance to the goal, then leaves the boundary of theobstacle from this point (see figure 1).
Fig. 1 Illustration of the Bug algorithm
This algorithm is obviously very inefficient, and thereforeseveral improvements have been proposed (Lumelski et. al.1990b, Kamon et. al, 1996). In the ‘bug2” algorithm (figure2), the robot starts following the boundary of the obstacle, butleaves it as soon as it intersects the line segment that connectsthe start point and the goal.
Fig. 2 Illustration of the Bug2 algorithm
Although their simplicity is a major advantage, the bug-typealgorithms have some significant shortcomings:
� they do not consider the actual kynematics of the robot,which is important with non-holonomic robots,
� they consider only the most recent sensor readings, andtherefore sensor noise seriously affects the overallperformance of the robot,
� they are slow.
2.2 The Potential Field Algorithm
While the bug-type algorithms are based on a purely reactiveapproach, the following algorithms tend to view the obstacleavoidance as a sub-task of the path planning, in a deliberativeapproach.
The potential field algorithm, described in (Khatib, 1985),and (Koren et. al. 1988), assumes that the robot is driven byvirtual forces that attract it towards the goal, or reject it awayfrom the obstacles. The actual path is determined by theresultant of these virtual forces (see figure 3)
Fig. 3 Illustration of the Potential Field Algorithm
Despite its elegance, this algorithm still does not solve all thedrawbacks of the bug algorithms, performs poorly on narrowpassages, and is rather difficult to use in real timeapplications.
2.3 The Vector Field Histogram (VFH) Algorithm
Described for the first time in (Borenstein, 1991), and laterimproved in (Ulrich 1998, and Ulrich 2000), the Vector FieldHistogram, or VFH algorithm overcomes the problem of thesensors noise by creating a polar histogram of several recentsensor readings, like the one depicted in figure 4.
Fig. 4 The polar histogram used in the VFH algorithm
In figure 4, the x-axis represents the angles associated withsonar readings, and the y-axis represents the probability Pthat there really is an obstacle in that direction.
The probabilities are computed by creating a local occupancygrid map of the environment around the robot.
The polar histogram is used to identify all the passages largeenough to allow the robot to pass-through. The selection ofthe particular path to be followed by the robot is based on theevaluation of a cost function, defined for each passage. Thisdepends on the alignment of the robot’s path with the goal,and on the difference between the current wheel orientationand the new direction. The passage with the minimum cost isselected.
This algorithm offers better robustness to sensor noise, andtakes into account the kinematics of the robot, but low-costsonar rangers are slow, and performing repeated readings oneach sensor can take a considerable time. This makes VFHdifficult to implement for real-time reactive decisions relatedto obstacle avoidance.
2.4 The Bubble Band Technique
Proposed by Khatib, and Quinlan in (Khatib, 1993), thismethod defines a “bubble” containing the maximum availablefree space around the robot, which can be traveled in anydirection without collision. The shape and size of the bubbleare determined by a simplified model of the robot’sgeometry, and by the range information provided by thesensors (see figure 5).
Fig. 5 Illustration of the Bubble Band concept
With this concept, a band of such bubbles can be used to plana path between a starting point and a goal. Obviously, thistechnique is more a problem of offline path planning than oneof obstacle avoidance, but we have included it in this briefpresentation, because the idea of a bubble, seen as a subset offree space around the robot has some similarity with thesolution proposed in this paper.
2.5 Other Obstacle Avoidance Algorithms
There are, of course, several other interesting algorithms forobstacle avoidance. However, relatively few of them aresuitable for real-time, embedded applications, and will not bediscussed here. Among them, fuzzy logic solutions, like thosepresented in (Kim, 2006), and (Tsafestas, 2006) can beintegrated as a natural extension of the fuzzy path followingproblem, described in (Susnea et. al., 2008a).
3. DESCRIPTION OF THE PROPOSED SOLUTION
3.1 Detection of Obstacles
Consider a vehicle, having a ring of equidistant ultrasonicsensors, covering an angle of 180 degrees, as shown in figure6.
Fig. 6 Robot, ultrasonic sensors, and sensitivity bubble
If N is the number of sonar sensors, the following codedefines the sensitivity bubble:
unsigned int sonar_readings[N];
unsigned int bubble_boundary[N];
bubble_boundary[i]=Ki*V*delta_t;
int check_for_obstacles(void){
for(i=0;i<N;i++) {
if(sonar_readings[i]<=bubble_boundary[i]return(1);
else return(0); }
Where, V is the translation velocity of the robot, delta_t is thetime interval between successive evaluations of sensor data,and Ki are scaling constants, used for tuning. In our
experiment, ]32.0[ −∈Ki .
Note that the shape and size of the sensitivity bubble (curve B
in figure 6) defined like this is dynamically adjusted,depending on the distance that can be traveled through by therobot, during the time interval delta_t, provided that thebubble does not exceed the range of the sonar sensors (curveA in figure 6). ). Also note, that the readings of the sensorsrepresent the distance between the actual position of thesensor (which is on the boundary of the vehicle) and theobstacle. Therefore, the above definition of the sensitivitybubble indirectly includes information on the geometricshape of the robot.
Since the ultrasonic sensors are uniformly distributed,covering an arc of 180 degrees, the sonar readings can berepresented in a polar diagram, as shown in figure 7.
Fig. 7 Polar representation of the sonar readings
3.2 Description of the Algorithm
Fig. 8 An Illustration of the rebound process
Initially, the robot moves straugth towards the goal. If anobstacle is detected within the sensitivity bubble, the robots“rebounds” in a direction found as having the lowest densityof obstacles, and continues its motion in this new directionuntil the goal becomes visible (i.e. no obstacle within thevisibility range of the sonar in that direction), or until a newobstacle is encountered.
Figure 8 presents an illustration of the rebound mechanism.In this image, H is the “hit-point” – the location of the robotat the moment of the detection of an obstacle, and V is thepoint where the robot regains visibility of the goal. The wholeprocess is summarized in the flowchart presented in figure 9.
Fig. 9 Flowchart of the Bubble Rebound Algorithm
3.3 Computing the Rebound Angle
Considering the fact that the sonar cells are uniformlydistributed, at an angular pace:
N
πα =0 (1)
then, the sonar index, i, contains angular information:
−∈
=
2,
2
0
NNi
ii αα(2)
where N is the total number of sonar cells.
With these notations, the simplest way to compute therebound angle is:
∑
∑
−=
−==
2
2
2
2N
Ni
i
N
Ni
ii
R
D
Dα
α (3)
where Di is the value reported by the sonar cell i.
4. EXPERIMENTAL RESULTS
This experiment is part of a more comprehensive research,aimed to develop cost effective solutions for real time controlof mobile robots, based on embedded systems.
The experiment was designed to work with the robotsPioneer3-DX and PeopleBot, manufactured by MobileRobotsInc. (Mobilerobots Inc., 2000). During the simulation phaseof the experiment, we have used the robot simulator softwareMobileSim, offered by MobileRobots Inc., derived from thePlayer/Stage Simulator.
Various maps of the environment, with multiple distributionsof obstacles were created with the software applicationMapper3, also from MobileRobots.
The algorithm was also tested using real robots, withsatisfactory results.
The actual implementation used a low-cost, 8-bitmicrocontroller, and was written in C. Besides the obstacleavoidance task, the microcontroller was executing additionaltasks for fuzzy path following, and communication, asdescribed in (susnea et. al., 2008b).
Figure 10 is a snapshot generated with MobileSim, toillustrate the basic obstacle avoidance behavior. Figure 11shows an example of corridor navigation, and figure 12shows the trail of the robot while performing a more difficulttask, assumming that a higher level global panner, hasdefined an intermediate goal.
Fig. 10 Basic obstacle avoidance with simulated robot
Fig. 11 An example of corridor navigation
Finally, the algorithm was tested with two real robots,namely the models Pioneer3 and PeopleBot of MobileRobots,having the same kynematic model, (see figure 13) in a typicaloffice enviromnent containing a variety of static obstacles,plus human operators moving permanently whithin thevisibility range of the sonars.
Fig. 12 An example of navigation in a maze-typeenvironment with intermediary goals
Fig. 13 The robots used for the experiments
The control structure used in the experiment was thatdescribed in (Susnea et. al. 2008b). The overall performanceof the robots in these conditions was satisfactory. Most ofthe failures recorded were due to cummulative odometricerors.
The average speed of the robots during the experiments was0.4m/s, which is reasonable for example - for an intelligentwheelchair, moving indoors.
5. DISCUSSION
Among the advantages of the proposed solution, we notice:
• It demands very low computational power, and canbe implemented on low-cost microcontrollers;
• It works fine with low-cost sensors
• It is capable to avoid any kind of static obstacles,and even some moving obstacles, like walkinghumans;
• It can be easily adapted for other sensors, likerotating laser rangers. Moreover, sensor substitutioncan be executed “on the fly” when multiple sensorsare available;
• It performs well on narrow corridors.
And the major weaknesses of the algorithm are thosecommon for the majority of purely reactive algorithms:
• It is far from being optimal;
• Like most purely reactive algorithms, it requires ahigher level path planner to perform reasonably wellin maze-type environments. For example, in figure12, the algorithm might fail to conduct the robotfrom Start to Goal2, unless a planner can defineintermediary goal Goal1.
• The motion is not smooth;
• Motion is attempted even if there is no path to goal.;
• Failure is possible even when a valid path to goalexists;
• It is still vulnerable to sensor noise. This problem isonly partly solved with this algorithm because itconsiders the readings of all sensors whencomputing the rebound angle.
However, there is a common situation, presented in figure14, when sonar sensors fail to detect large obstacles.
Fig. 14 A common situation when sonar sensors fail
Possible solutions to this problem could be:
• Using a higher density of sensors
• Using a mix of different types of sensors (ultrason,infrared, lasser)
• Using a rotating laser ranger.
The bubble rebound algorithm remains compatible with all ofthe above mentioned solutions.
Despite of the obvious drawbacks, the proposed algorithmmay still be of interest in applications where the cost criterionis particularly important, and a higher level planner isavailable.
Further work is required to improve the overall smoothnessof the motion. This is possible, because at this time, the robotstops and adjusts its heading each time an obstacle isdetected. Most of the avoidance maneuvers can actually beexecuted on the fly, without the need to stop the robot.
This is actually an easy task, if the bubble rebound obstacleavoidance is used in conjuction with a pure pursuit algorithmfor path following (Morales et. al, 2009). By selecting a
look-ahead point L in a direction defined by the reboundangle, the resulting motion while avoiding the obstaclefollows a sequence of arc segments, as depicted in figure 15.
Figure 15. A method to improve motion smoothness
The experiments with the simulator, and with real robotssuggest that such simple algorithms can be used in theimplementation of low-cost embedded control devices forintelligent wheelchairs, and other service robots, contributingto a drastic cost reduction of these equipments. This is, infact, the kind of application we had in mind when developingthis algorithm.
REFERENCES
Borenstein, J., Koren, Y. (1991), The vector field histogram –fast obstacle avoidance for mobile robots. IEEEJournal of Robotics and Automation, 7, pp:278–288.
Kamon, I., Rivlin, E., Rimon, E. (1996), A new range-sensorbased globally convergent navigation algorithm formobile robots, in Proceedings of the IEEEInternational Conference on Robotics andAutomation, Minneapolis.
Khatib, O., (1985), Real-time obstacle avoidance formanipulators and mobile robots. IEEE InternationalConference on Robotics and Automation, March25-28, St. Louis, pp. 500-505..
Khatib, O., Quinlan, S. (1993), Elastic bands: connecting,path planning and control, in Proceedings of IEEEInternational Conference on Robotics andAutomation, Atlanta, GA
Kim J.H.,Park J.B., Yang H. (2006) Implementation of theavoidance algorithm for autonomous mobile robots usingfuzzy rules in Fuzzy Systems and KnowledgeDiscovery, Springer Verlag.
Koren, Y., Borenstein, J (1988), High-speed obstacleavoidance for mobile robotics, in Proceedings of theIEEE Symposium on Intelligent Control,Arlington, VA, August, pp. 382-384.
Lumelsky, V., Skewis, T. (1990a), Incorporating rangesensing in the robot navigation function. IEEETransactions on Systems, Man, and Cybernetics,20, pp. 1058–1068..
Lumelsky, V., Stepanov, A., (1990b) Path-planning strategiesfor a point mobile automaton moving amidst unknownobstacles of arbitrary shape, in Autonomous RobotVehicles. New York, Spinger-Verlag,
Morales J., Martinez J.L., Martinez M.A., and Mandow A(2009). Pure-Pursuit Reactive Path Tracking forNonholonomic Mobile Robots with a 2D Laser Scanner,EURASIP Journal on Advances în SignalProcessing , 2009
Susnea I, Vasiliu G, Filipescu A (2008), Real-time,embedded fuzzy control of the Pioneer3-DX robot forpath following, Proceedings of 12th WSEASInternational Conference on SYSTEMS,Heraklion, Greece, pp: 334-338,
Susnea I . Vasiliu G, Filipescu A, Coman G. (2008b), On theimplementation of a robotic assistant for the elderly. Anovel approach, 7th WSEAS Int. Conf. onComputational, Iintelligence Man-machineSystems and Cybernatics (CIMMACS '08), Cairo,Egipt, pp: 215-220
Tzafestas S.G. and Zavlangas P. (2006) Industrial and mobilerobot collision–free motion planning using fuzzy logicalgorithms, Industrial-Robotics-Theory-Modelling-Control, ARS/plV, Germany, pp: 964-995
Ulrich, I., Borenstein, J (1998)., VFH+: Reliable obstacleavoidance for fast mobile robots, in Proceedings ofthe International Conference on Robotics andAutomation (ICRA’98), Leuven, Belgium
Ulrich, I., Borenstein, J. (2000), VFH*: Local obstacleavoidance with look-ahead verification, inProceedings of the IEEE InternationalConference on Robotics and Automation, SanFrancisco.
Mobilerobots Inc. (2000) www.mobilerobots.com