01IROS
01IROS
Abstract
This article presents an algorithm that determines safe mo-
tions for an articulated rover on rough terrains. It relies on
the evaluation of a set of elementary trajectories on a dig-
ital elevation map built as the rover moves. The algorithm
relies on the explicit computation of geometric constraints
on the rover chassis. It has been integrated within a contin-
uously running navigation loop on board the robot Lama,
and tested under various terrain conditions.
1. Introduction
Among the various issues raised by autonomous rover navi-
gation in unstructured environments, traversing rough areas
is one of the most challenging. Indeed, such areas bring
forth various difficulties to each of the perception, trajec- Figure 1: The robot Lama during an autonomous rough terrain traverse.
Here, the digital elevation map built during the traverse is surimposed on
tory evaluation and trajectory execution control functions: the image.
To catch the surface geometry of the area to traverse, a
fine model of the environment is required;
time paths on a surface represented by B-spline patches is
To select feasible motions, geometric and kinematics presented: it insists on the consideration of the vehicle dy-
constraints on the rover have to be explicitly taken into namics. Work presented in [2, 3, 4] extend this approach,
account; by considering an articulated chassis mode and explicit ve-
hicle/terrain interactions. In our lab, we also contributed to
Finally, ensuring the proper execution of the selected
the problem [5, 6], and developed a planner that finds tra-
motions is a much more difficult issue than on smooth
jectories to reach a distant goal for an articulated chassis.
terrains.
Latest developments included the consideration of the ter-
This paper focuses on the second point: it presents an rain modeling uncertainties and the necessity for the rover
algorithm that determines safe and efficient motions for a to localize itself [7]. To our knowledge, all these work have
rover on rough terrains. The algorithm consists in evaluat- only been tested in simulated environments.
ing a set of elementary trajectories (circle arcs) on a digi- More recently, various simpler approaches have been
tal elevation map continuously updated as the rover moves, presented and effectively demonstrated on board rovers.
taking into account geometrical constraints on the robot Most of these approaches rely on the segmentation of the
chassis. The approach has been successfully integrated terrain model into two or more terrain navigation classes
within a simple autonomous navigation loop on board the (flat, obstacle, slope) [8], or on the estimate of the ter-
robot Lama: tens of experiments have been achieved, in rain traversability by fitting planes over terrain patches [9],
which the robot is asked to reach a few tens meters distant sometimes using fuzzy rules for this segmentation and for
goal in an initially unknown terrain (figure 1). elementary motion generation [10]. In these cases, demon-
strations on flat ground with sparse rocks are presented.
Related work: Pioneer work on planning motions on
rough terrains dates back to the late 80’s, and has essen- Outline: This paper is articulated as follows: the next sec-
tially been considered within the context of planetary ex- tion gives an overview of the three components involved in
ploration robotics. In [1], an algorithm that plan minimal the approach, and presents the principle of the motion gen-
eration algorithm. Section 3 is dedicated to the determina- of the navigation loop.
tion of the chassis internal configuration on a given position
on the terrain model. Section 4 depicts how the optimal cir-
cle arc is chosen, on the basis of a risk defined by a discrete
set of configurations evaluated along the arc, a of an inter-
est related to the goal to reach position. Some experimental
results of the whole approach are presented in section 5.
β3
α1
Figure 5: The set of circle arcs evaluated at each step of the loop. Figure 7: The three passive articulations of the chassis.
P O P
3 Chassis pose and configuration de- angular values ( R ?BA ?SE H J that entirely define the
termination chassis configuration parameters.
This function relies on the computation of a single axle
The ability to predict the robot pose and its chassis internal placement (function placeAxle), which itself make iter-
configuration for a given position $%&'( on the digital el-
ative calls to the placeWheel function (figure 8). Simi-
evation map is a key point in our algorithm, as it produces larly, once the middle axle is placed on the DEM, several
the basic parameters that will be used to select feasible and iterative calls to the placeAxle function are required to
safe motions. We describe here the placeRobot function, place the front and rear axle, to finally obtain the five con-
that fulfills this requirement. figurations angles.
3.1 Chassis geometry
Lama1 is a Marsokhod articulated chassis [14]. Its length
can be actively controlled by modifying the distance be-
tween the axles (figure 3.1), thus enabling the possibility [[ZZ[Z [ZZ[Z[ [ZZ[Z[ [[ZZ[Z [ZZ[Z[ [ZZ[Z[ [[ZZ[Z ]\]]\\ UTUTUUTT ]\]]\\ UUTTUT ]\]\ UTTUTU ]\]\
UUTTUT ]\\]]\ UUTTUT ]\\]\]
UUTTUT ]\]\ UTTUTU ]\]\
UUTTUT ]\\]]\ UUTTUT ]\\]\]
UUTTUT ]\]\ UTTUTU ]\]\
UUTTUT ]\\]]\ UUTTUT ]\\]\]
[Z[[ZZ [Z[ZZ[ [Z[ZZ[ [Z[[ZZ [Z[ZZ[ [Z[ZZ[ [Z[[ZZ d \]]]\\ UTUUTT \]]]\\
to move in a peristaltic mode. However, for the algorithms d
[Z[[ZZ [Z[[ZZ [Z[[ZZ [Z[[ZZ [Z[[ZZ [Z[[ZZ [Z[[ZZ ]]]\\\ UUUTTT ]]]\\\ UTUUTT ]\]]\\ UTUUTT ]\]]\\ UTUUTT ]\]]\\ UTUUTT ]\]]\\ UTUUTT ]\]]\\ UTUUTT ]\]]\\
[Z[[ZZ [Z[Z[Z [Z[[ZZ [Z[[ZZ [Z[Z[Z [Z[[ZZ [Z[[ZZ ]]\\\] UUUTTT ]]\\\] UTUUTT ]\]\]\ UTUTUT ]\]]\\ UTUUTT ]\]\]\ UTUTUT ]\]]\\ UTUUTT ]\]\]\ UTUTUT ]\]]\\
[[ZZ[Z[Z WV[[ZZ[Z[Z WV[[ZZ[Z[Z [Z [Z [Z [Z UTUUTT \]]\\] ` UTUUTT \]]\\] UTUUTT \]]\\] UTUUTT \]]\\] UTUUTT \]]\\] UTUUTT \]]\\]
and experiments presented in this paper, the inter-axle dis- ___^^^ ___^^^ __^^^_ ___^^^ ___^^^ __^^^_ [[ZZ[Z WVWVWV[Z[Z[Z WVWVWV[[ZZ[Z WWWVVV[[ZZ[[ZZZ WVWWVV[[ZZZ[[ZZ WVWWVV[[ZZ[[ZZZ ``` WWWVVV[[ZZ[[ZZZ ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ``` ]]\\]]]\\\ ``` UUTTUUUTTT ]]\\]]]\\\ ``` UUUTTT ]\]]\\ `` UTUUTT ]]]\\\ UUUTTT ]\]]\\ UTUUTT ]]]\\\ UUUTTT ]\]]\\ UTUUTT ]]]\\\
[WVWV[[ZZ WVWV[[[ZZ WVWV[[[ZZ WWVV[[[ZZ
__^^_^ __^^_^ __^^_^
__^^_^ _^_^_^ __^^_^
__^^_^ __^^_^ __^^_^
__^^_^ _^_^_^ ccbbcb __^^_^ ccbbcb ccbbbc ccbbcb cbbccb ccbbcb ccbbbc ccbbcb cbbccb ccbbcb ccbbbc ccbbcb cbbccb ccbbcb ccbbbc ccbbcb cbbccb ccbbcb ccbbbc ccbbcb cbbccb ccbbcb ccbbbc ccbbcb cbbccb ccbbcb ccbbcb[Z[[[ZZZZ WWVVccbbWWVVcbWV[Z[[[ZZZZ WWVVWWVVWV[Z[[[ZZZZ WVWWVV[[ZZZ WVWWVV[[ZZZ WVWWVV[[ZZZ YYXX aa WVWWVV[[ZZZ YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX aa YYXX ]]\\\]]]\\ aa YYXXUUUTTTUUTT ]]\\\]]]\\ aa UUTTUTUT ]\\]\]]\ a UUTTUTUT ]\\]\]]\
UTUUTT ]\]]\\ aa UTUUTT ]\]]\\
UUTTUTUT ]\\]\]]\ UUTTUTUT ]\\]\]]\
UTUUTT ]\]]\\ UTUUTT ]\]]\\
UUTTUTUT ]\\]\]]\ UUTTUTUT ]\\]\]]\
UTUUTT ]\]]\\ UTUUTT ]\]]\\
tance is maintained fixed. [[ZZ[[Z [[ZZ[[Z [[ZZ[[Z WV[[ZZ[Z WV[[ZZ[Z WV[[ZZ[Z XY a WV[[ZZ[Z XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY a XY ]]\]\\ a XYUTUUTT ]]\]\\ a UTUUTT ]\]]\\ UTUUTT ]\]]\\ UTUUTT ]\]]\\ UTUUTT ]\]]\\ UTUUTT ]\]]\\ UTUUTT ]\]]\\
[Z [Z [Z [[[ZZ [[[ZZ [[[ZZ [[[ZZ ]]\\\] UUTT ]]\\\] \] \] \] \] \] \]
2 15694 10
3 4024 5
alpha_1
4 1521 s 0
5 867 -5
6 547 -10
7 382 -15
8 277 -20
0 1 2 3 4 5 6 7 8
9 197 Distance
25
Measured
Table 1:Statistics on the number of iterations required by the function 20 Predicted
placeAxle. 15
10
beta_3
t 5
0
3.3 Experimental validation -5
-10
To check the validity of the robot placement function, we -15
made some experimental trials, in which the robot was man- -20
0 1 2 3 4 5 6 7 8
ually driven along a straight line, roving over rocks of vari- Distance
ous sizes (figure 9). 20
Measured
Predicted
15
10
5
u
roll
0
-5
-10
-15
0 1 2 3 4 5 6 7 8
Distance
Figure 9: A predicted placement of the robot on the DEM (left), and the
corresponding placement in reality (right). Figure 10: Comparison between the predicted and measured angles (in
degrees), as a function of the curvilinear abscissa on a straight trajectory.
Figure 10 shows a comparison between the robot con- From top to bottom: v *Dw)(xyw z{}|~ . The images of figure 9 were taken
figuration angles predicted by the placement function on during this trajectory, when the corresponding abscissa was approximately
1D .
the computed DEM and the angles measured on board the
robot: no significant differences can be noticed.
front and rear axles are easily derived from the five angu-
4 Evaluation of the arcs lar values that define the chassis configuration2. So in total,
a set of 9 bounding constraints are considered: any place-
Every time the DEM is updated, our algorithm evaluates a ment that violates one of these constraints is considered as
set of circle arcs to select the “optimal” one. In this section, not valid. We consider that these constraints are all “equiv-
we explain how this evaluation is made on the basis of the alent”, in the sense that none of them can be violated, and
placement function, and the search strategy that selects the that the closer is a value to a bound, the more dangerous is
arc to execute. the robot configuration. These constraints are therefore nor-
malized, and we end up with the following constraint set:
4.1 The ”danger” of a placement
G G<
7 =NDB= /CC
Besides the internal chassis configuration constraints 1 and
2 mentioned above, we consider two stability constraints on An other constraint has also to be considered: indeed,
each of the three axles : there are always some unperceived areas in the DEM, es-
PjiDk P Poipk pecially behind sharp obstacles (as one can see on fig-
7 O R Poipk = O Rml C P C nh= RO jP iDk (3)
7 = ure 9, just below the left rear wheel). To consider this,
l C C nh= (4)
2 The consideration of a constraint on the pitch angle for an axle might
where q , f and r respectively stands for O the rear, middle be surprising, but one must not forget that some equipments are mounted
and front axles. The pitch and roll angles and R for the on each of the axles.
the
placeWheel function returns a value comprised in
Gp
a kind of “look ahead” behavior, and avoids the selection of
, which indicates the proportion of unknown pixels in trajectories that go too close to obstacles.
the DEM in the area defined by the projection of the wheel. The optimal circle arc is determined thanks to an ¬ al-
We decided that this value should not be greater than : , gorithm, in which the heuristic is the distance of the Dub-
and the biggest of the 6 values returned by a call to the bins path [15] to reach the goal. The cost to go from the
placeRobot function defines a tenth constraint. last configuration on a circle arc to the goal is also equal to
Now given a robot position $QD&KD'( on a circle arc, the the Dubbins distance. Thanks to the efficiency of the ¬
robot placement function provides the five corresponding algorithm, only a small number of configurations along the
configuration angles, to which correspond a point in the 9- arcs are effectively evaluated (practically, a set of 40 circles
dimensional constraint space after normalization. The dan- arcs is considered, and about 20 configurations are defined
ger of a given position $QD&KD'( is expressed by: on each arcs: most of the times only a third or a fourth of
k
this configuration set is evaluated).
C (C D fh $ /CCA" D
5 Results
4.2 The cost of a motion The whole navigation loop has been integrated on board the
The cost of an elementary motion from the robot position robot Lama, within the LAAS Architecture for Autonomy
[16]. It proved its efficiency on various kinds of terrains:
$ A & A D' A to $ E & E D' E integrates the notion of “danger”
figures 11 and 12 present two trajectories executed by Lama
(or risk) presented above in the following way:
using this navigation loop. The mean time required to se-
A"E
G<
yA ¢¡ yA"E "£ g¤A"E lect an optimal arc at each step is approximately 8 < f®g :
therefore, we also use this algorithm to find motions on easy
where: terrains.
g(A"E
£ is the distance between the two considered po-
sitions.
yA is the cost associated to the danger A , computed as
follows:
P
A
¦¥
G< G
if A = ¨§
©K 7 A otherwise
P
The introduction of the threshold ¨§ on is to reduce
the influence of small irregularities of the terrain: in the
case of a flat terrain for instance, the robot is said to be in a
risk-less flat configuration, and only the goal orientation is
considered to select the arc to execute.
and ¡ yA"E is a cost associated to the internal configu-
G
ration change between positions and M :
P
ª¥ if E 7 A = ¡ ¨§ Figure 11: Lama found its way trough a narrow corridor: 85 iterations
¡ A"E of the navigation loop have been executed, the trajectory is about ¯#°#
EB7 A otherwise
long. (Live demonstration in the “Cité de l’espace” museum in Toulouse,
Sept. 2000).
This parameter favors the trajectories in which the robot
internal configuration does not change
P
too much. Again,
the introduction of a threshold ¡ «§ under which it has no
influence is to get rid of the small terrain irregularities. 6 Summary and discussion
We described an algorithm that generates elementary mo-
4.3 Search algorithm
tions on rough terrains, which explicitly takes into account
Once the DEM is updated, a set of circle arcs is generated, the geometric constraints on an articulated chassis. The ap-
and each arc is discretized into a discrete set of robot config- proach has been integrated on board the robot Lama, and
urations $%&'( , which defines a tree structure. Configura- is very often demonstrated in continuously running exper-
tions are regularly spaced, and are defined up to a maximal iments, where the rover is able to autonomously reach a
curvilinear abscissa on the arcs, which correspond approx- few tens meters distant goal in initially unknown terrains.
imately to twice the distance that the robot is supposed to This functionality is integrated within a more global au-
travel until the DEM is updated again: this gives the robot tonomous long range navigation system, which manages
[7] A. Hait, T. Simeon, and M. Taix. Robust motion planning for
rough terrain navigation. In IEEE/RSJ International Confer-
ence on Intelligent Robots and Systems, Kyongju (Korea),
pages 11–16, Oct. 1999.
[8] S. Laubach and J. Burdik. An autonomous sensor-based
path-planner for planetary microrovers. In IEEE Interna-
tional Conference On Robotics and Automation. Detroit, MI
(USA), May 1999.
[9] S. Singh, R. Simmons, M.F. Smith, A. Stentz, V. Verma,
A. Yahja, and K. Schwehr. Recent progress in local and
global traversability for planetary rovers. In IEEE Interna-
tional Conference on Robotics and Automation, San Fran-
cisco, Ca (USA), 2000.
[10] A. Howard and H. Seraji. Real-time assessment of terrain
traversability for autonomous rover navigation. In IEEE/RSJ
Figure 12: Lama found a pass to climb a 2 meters high hill: 50 iterations International Conference on Intelligent Robots and systems,
of the navigation loop have been executed, the trajectory is about ±#1D pages 58–63. JPL, Nov. 2000.
long. (Trial in our experimentation site).
[11] D. Langer, J. Rosenblatt, and M. Hebert. A behavior-
based system for off-road navigation. IEEE Transactions on
several terrain models, motion modes and localization al- Robotics and Automation, 10(6):776–782, Dec. 1994.
gorithms [17]. [12] H. Haddad, M. Khatib, S. Lacroix, and R. Chatila. Reactive
Among the open problems that still have to be tack- navigation in outdoor environments using potential fields. In
International Conference on Robotics and Automation, Leu-
led, the consideration of realistic dynamic issues is one of
ven (Belgium), pages 1232–1237, May 1998.
the most important. These issues have been modeled and
considered in pioneer work related to rough terrain motion [13] A. Mallet, S. Lacroix, and L. Gallo. Position estimation
in outdoor environments using pixel tracking and stereovi-
planning, but their consideration on board real rovers re-
sion. In IEEE International Conference on Robotics and Au-
quires additional work and validation, as shown by recent tomation, San Francisco, Ca (USA), pages 3519–3524, April
practical contributions [18, 19]. 2000.
[14] A. Kemurdjian, V. Gromov, V. Mishkinyuk, V. Kucherenko,
and P. Sologub. Small marsokhod configuration. In IEEE
References International Conference on Robotics and Automation, Nice
(France), pages 165–168, May 1992.
[1] Z. Shiller and Y-R. Gwo. Dynamic motion planning of au-
tonomous vehicles. IEEE Transactions on Robotics and Au- [15] L.E. Dubbins. On curves of minimal length with a constraint
tomation, 7(2):241–249, April 1991. on overage curvature and with prescribed initial and terminal
positions and tagents. American Journal of Mathematics,
[2] S. Jimenez, A.Luciani, and C. Laugier. Predicting the dy- 79:497–516, 1957.
namic behaviour of a planetary rover vehicle using physical
[16] R. Alami, R. Chatila, S. Fleury, M. Ghallab, and F. Ingrand.
modeling. In International Workshop on Intelligent Robots
An architecture for autonomy. Special Issue of the Interna-
and Systems, Yokohama (Japan). INRIA-LIFIA, 1993.
tional Journal of Robotics Research on Integrated Architec-
[3] M. Cherif and C. Laugier. Motion planning of autonomous tures for Robot Control and Programming, 17(4):315–337,
off-road vehicles under physical interaction constraints. In April 1998. Rapport LAAS N. 97352, Septembre 1997, 46p.
IEEE Int. Conf. on Robotics and Automation, Nagoya [17] S. Lacroix, A. Mallet, D. Bonnafous, G. Bauzil, S. Fleury,
(Japan), pages 1687–1693, May 1995. M. Herrb, and R. Chatila˙ Autonomous rover navigation on
[4] M. Cherif. Motion planning for all-terrain vehicles: a physi- unknown terrains: Functions and integration. In 7th Interna-
cal modeling approach for coping with dynamic and contact tional Symposium on Experimental Robotics, Honolulu, HI
interaction constraints. IEEE Transactions on Robotics and (USA), Dec. 2000.
Automation, 15(2):202–218, 1999. [18] G. Andrade-Barosso, F. Ben-Amar, P. Bidaud, and
[5] T. Simeon and B. Dacre-Wright. A practical motion plan- R. Chatila. Modeling robot-soil interaction for planetary
ner for all-terrain mobile robots. In IEEE/RSJ International rover motion control. In 1998 IEEE/RSJ International
Conference on Intelligent Robots and Systems, Yokohama Conference on Intelligent Robots aned Systems, Victoria
(Japon), pages 26–30, July 1993. (Canada), pages 576–581, Oct. 1998.
[19] S. Farritor, H. Hacot, and S. Dubowsky. Physics-based plan-
[6] A. Hait and T. Simeon. Motion planning on rough ter-
ning for planetary exploration. In IEEE International Con-
rain for an articulated vehicle in presence of uncertainties.
ference On Robotics and Automation. Leuwen (Belgium),
In IEEE/RSJ International Conference on Intelligent Robots
pages 278–283, May 1998.
and Systems, Osaka (Japan), pages 1126–1133, Nov. 1996.