Sensory-Based Motion Planning With Global Proofs
Sensory-Based Motion Planning With Global Proofs
net/publication/3298783
CITATIONS READS
203 57
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Ishay Kamon on 14 February 2015.
435
0-8186-7108-4/95 $4.00 0 1995 IEEE
tion 2 presents the algorithm DistBug and gives a
convergence proof for it. In Section 3 the experimen-
tal setting and results are presented. Finally, t h e con-
clusions are presented in Section 4.
2 DistBug algorithm
The algorithm DistBug consists of two modes of
motion: moving directly towards the target between
obstacles and following obstacle boundaries. T h e
robot goes straight t o the target until hitting an ob-
stacle. T h e Obstacle is then followed until a condition
for leaving the obstacle boundary holds. The leaving
condition, described in section 2.1, guarantees the con-
vergence of the algorithm. T h e mechanism for choos-
ing boundary following direction, described in section
2 . 2 , influences the path length. T h e algorithm is as Figure 1: An example of a path planned using the
follows: distance-based leaving condition (dashed line), compared
with VisBug21 algorithm from [5] (dotted line). In point
1. Go directly t o the target, until one of the follow- L1 we have ( d i s t ( L 1 , T ) - Freed,,t < B e s i d e s t ) and the
ing occurs: robot goes straight to T (note t h e “radius of vision” R).
1
a T h e target is reached. Stop.
b An obstacle is reached. Go t o step 2 .
However VisBug21 algorithm would drive the robot near
the obstacle boundary until the point V from which the
line (S,T) is “visible”.
2. Choose the boundary following direction. Follow
the obstacle boundary untll one of the following
occurs: F T e e d i s t 5 0) captures t h e special case where the tar-
a T h e target is reached. Stop.
get is within t h e sensed freespace, and can be reached
b] T h e free range in the direction to the target directly. It is necessary for scenarios where the target
guarantees t h a t the next hit point will be closer is close t o the hit point (Hitd;st < Step), thus forc-
t o the target than the last hit point.Go t o step 1. ing the minimal improvement Step would prevent the
c) T h e robot completed a loop around the obsta-
robot from leaving the obstacle.
cle. T h e target is unreachable. Stop.
T h e condition (Currdi,t - Freedist 5 BeStdi,t)
guarantees t h a t whenever the robot leaves an ob-
2.1 Leaving boundaries as soon as conver- stacle and hits another obstacle, the distance from
gence is guaranteed its next hit point t o the target NeztHitdi,t will
Motivated by the fact t h a t straight motion is faster be strictly smaller than the distance from the last
and safer than boundary following, the condition for hit point Hitdist. Furthermore it guarantees t h a t
leaving an obstacle boundary is designed t o abandon (Hitdist - NextHitdiSt > Step) for every hit point,
t h e boundary as soon as convergence is guaranteed. where Step is fixed (note t h a t BeStdist is initialized
Range information in the direction t o the target is t o HitdiSt - Step). T h e up-to-date shortest distances
used t o guarantee t h a t the next hit point will be closer along the obstacle boundary Bestdist is considered in-
t o the target relative to the last hit point. stead of (Hitdist - Step) in order t o avoid undesir-
We will use the following notations and definitions: able behaviors t h a t may occur if t h e the distance from
CurrdiJt - distance from the current location t o the the last hit point was considered (see figure 2). T h e
target; Hitdi,, - distance from the last hit point H to
the target; Step - a constant t h a t will be the minimal
improvement in the distance t o t h e target between hit
robot hits on its way t o N = w,
parameter S t e p bounds t h e number of obstacles the
where dist(S,T )
is the distance from t h e starting point S t o the tar-
points. Bestdiat - t h e up-to-date shortest distance t o get T. T h e algorithm will terminate after at most N
the target since the last hit point. It is initialized
hit points. Given t h a t the perimeter of every obstacle
t o BeStdist + (HitdiJt - Step). Freedist - distance
is finite the path t h a t t h e robot will traverse will be
in freespace from the current ocation t o the nearest
finite.
obstacle in the direction t o the target. We consider a Increasing the sensor range R increases Freedist
limited sensor range R. If no obstacles are detected
we set Freedist c R; (when no close obstacles are present) and makes it pos-
sible to leave the obstacle boundary earlier. Therefore
We define the following leaving condition:
increasing the sensor range has a direct effect on the
If F T e e d i s t > 0) and improvement of the path (see figure 1). This behavior
[ ( c ‘ U ’ P T d i s t - F T e e d i s t 5 0) OF
differs from the algorithms presented in [GI where the
( C ‘ U ‘ P T d i s t - F r e e d i n t 5 Bestdi,t)) current obstacle would be left only if t h e line ( S , T )
then leave the obstacle. is within the “radius of vision”. DistBug uses range
The condition Freedis$ > 0) checks whether it is d a t a directly, in contrast t o modeling the local envi-
i,
possible t o leave t e obstacle boundary and move di-
rectly towards the target. T h e condition (Currdi,t -
ronment in [ G ] algorithms.
We will first present a convergence proof for the al-
436
2. There is an obstacle on the straight line from
Closest to T . It is not the current obstacle 0
because Closest is closest to the target on the
boundary of 0 . In this case (Freedi,t 2 Minda,t).
The leaving condition (Currdi,t - FTeedist 5
Hitdi,t - Step) holds, because (Currdist _<
Hitdist) and (MindiSt 2 Step).
437
condition it is reasonable t o set the parameter Step are gathered as the robot approaches the obstacle,
for typical scenarios. For a real robot the improve- from a limited range of angles in front of the robot.
ment in the distance t o the target between hit point’s The largest readings from the left and right sides
will usually be larger t h a n the robot size. are st,ored in the variables L e f t , Right. The variable
We define CROSS (line crossing) as a boolean con- Dir is initialized t o zero, and updated in every cycle
dition that holds if t h e robot meets the straight line Dir = Dir + ( L e f t - Right). The value of Dir is
( H , T ) between t h e last hit point H and the target T ; accumulated up t o a constant. T h e turning direction
We define the following leaving ” condition: is defined by t h e sign of Dir. If Dir is positive then
If (Freedist > 0) and ” t,he turning direction is left (there is more freespace
(((CROSS holds) and (CurrdiSt < Hitdist))
\ \ \ , , OR
in t,he left side). Otherwise the turning direction is
(CaTTdi,t - Freedis; 5 Bestdist)) right. In this way information of several cycles is con-
then leave the obstacle. sidered, and several cycles are usually necessary t o re-
The condition C1 G ((CROSS holds) and verse the turning direction. Big differences between
(Currd;,t < Hitdist)) is equivalent t o the leav- range readings, indicating more global information,
ing condition of Bug2 algorithm. Our reference have a stzonger effect t h a n smaller differences t h a t are
straight line is drawn from the last hit, point H in- usually more local.
stead of the starting point S. The condition C2 E The initial boundary following direction is chosen
438
Figure 3: The simulated environments: left - “worldl”. Figure 5: Simulation results in “world2” environment.
The start/target points were chosen randomly from the Left - Bug2 algorithm. Middle - DistBug2, choosing the
vertical lines on both sides; middle - “world2”, the nine turning direction (path length is 0.94). Right - DistBug4,
start/target points are marked with +; right -- “world3”. using the leaving condition (path length is 0.61).
I algorithm tvDe
, v ..- II, , worldl I world2 II world3 I I
439
Acknowledgments
We would like t o thank Michael Heymann and
Freddy Bruckstein for very helpful discussions. We
want t o express special thanks t o Elon Rimon for his
encouragement and helpful comments.
References
Figure 6: Simulation results in “world3” environment. R. C. Arkin. Motor schema based navigation for a
Left - B u g 2 algorithm. Middle - DistBug2, choosing the mobile robot: an approach for programming by be-
turning direction + reversing boundary following direction
havior. In Proceedings of the I E E E Conference o n
(path length is 0.54). Right - D i s t B u g 3 , using the leaving
condition (path length is 0.36). Robotics and Automation, pages 264-271, 1987.
James L. Crowley. World modeling and position esti-
mation for a mobile robot using ultrasonic ranging. In
Proceedings of the I E E E Conference o n Robotics and
Automation, pages 674-680, 1989.
James L. Crowley and Yves Demazeau. Principles and
techniques for sensor data fusion. Signal Processing,
32:5-27, 1993.
S.G. Goodridge and R. C. Luo. Fuzzy behavior fusion
for reactive control of an autonomous mobile robot:
Marge. In Proceedings of the I E E E Conference o n
Robotics and Automation, pages 1622-1627, 1994.
0. Khatib. Real-time obstacle avoidance for manipu-
Figure 7: The Nomad200 robot in a typical laboratory lators and mobile robots. In Proceedings of the I E E E
environment.
Conference o n Robotics and Automation, pages 500-
505, 1985.
iors (modes of motion): straight motion between ob- V. J. Lumelsky and T. Skewis. Incorporating range
stacles and obstacle boundary following. Simulation sensing in the robot navigation function. I E E E
results as well as experiments with a real robot were transactions o n Systems, M a n , and Cybernetics,
presented. 20 (5) :1058-1 068, 1990.
The condition for leaving obstacle boundary is
based on the free range in the direction t o the tar- [7] V. J. Lumelsky and A. A. Stepanov. Path-planning
get. This condition allows the robot t o leave the ob- strategies for a point mobile automaton moving
stacle as soon as the local conditions guarantee global amidst obstacles of arbitrary shape. Algoritmica,
convergence. Range d a t a is utilized for choosing t,he 2:403-430, 1987.
initial boundary following direction when the robot [8] V. J. Lumelsky and S.Tiwari. An algorithm for maze
approaches an obstacle. A criterion for reversing the
searching with azimuth input. In Proceedings of the
boundary following direction when it seems t o be the
wrong direction is also introduced. As a direct result I E E E Conference o n Robotics and Automation, pages
of these local decisions a significant improvement in 111-116, 1994.
the performance was achieved. [9] H. P. Moravec and A. Elfes. High resolution maps
T h e simulation results showed a qualitative differ- from angle sonar. In Proceedings of the I E E E Con-
ence between simple environments and complex ones. ference o n Robotics and Automation, pages 116-121,
T h e environment simplicity is related t o the obstacles 1985.
shape, that affects the usefulness of local decisions,
and t o the length of the obstacles perimeter, that af- [lo] H. Noborio and T. Yoshioka. An on-line and deadlock-
fects the penalty for choosing the wrong turning di- free path-planning algorithm based on world topology.
rection. Choosing the initial turning direction was In Proceedings of the I E E E / R S J Conference o n Intel-
useful in simple environment. Reversing t h e bound- lzgent Robots and Systems, pages 1425-1430, 1993.
ary following direction was useful in complex envi-
ronments. Leaving the obstacle as soon as the local [ll] P. Reignier. Molusc: an incremental approach of fuzzy
conditions guarantee global convergence improved the learning. In Proceedings of the International sympo-
performance in all the environments. In our simple sium o n Intelligent Robotics Systems, pages 178-186,
environment the average path length over 100 runs 1994.
was reduced t o 0.79 (relative t o Bug2 performance),
the average traveling time was reduce t o 0.67, and the
minimal distance from obstacles (safety measure) was
increased t o 1.6. In the complex environment the av-
erage path length was reduced t o 0.45.
440