priamos: an experimental platform for reflexive navigation

9

Click here to load reader

Upload: ruediger-dillmann

Post on 26-Jun-2016

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PRIAMOS: An experimental platform for reflexive navigation

Robotics and Autonomous Systems 11 (1993) 195-203 195 Elsevier

PRIAMOS: An experimental platform for reflexive navigation

Ri id ige r D i l l m a n n *, J i i rgen Kreuz i ge r , F r a n k W a l l n e r

Institute for Real-Time Computer Systems and Robotics, Dept. of Computer Science, University of Karlsruhe, P.O. Box 6980, 7500 Karlsruhe 1, Germany

Abstract

Dillmann, R., Kreuziger, J. and Wallner, F., PRIAMOS: An experimental platform for reflexive navigation, Robotics and Autonomous Systems, 11 (1993) 195-203.

In this paper the new mobile robot system PRIAMOS is presented. The system emphasizes on fast navigation algorithms. In a (partially) unknown or changing environment fast perception and reaction is necessary for efficient task execution. Low level mapping and planning modules are used to span the period until higher control layers have enough time to react. The first part of this paper briefly describes the mechanical and technical construction of PRIAMOS. After an explanation of the software architecture the solutions for motion control and reflexive navigation, as realized in PRIAMOS, are given.

Keywords: Mobile robot; Obstacle avoidance; Intelligent control

1. Introduction

This paper presents the new mobile system PRIAMOS 1, which has been developed at the University of Karlsruhe during the last two years

Riidiger Dilimann studied Electrical Engineering at the University of Karlsruhe. He joined the Faculty for Informatics in 1977. In 1980 he re- ceived the Dr.-Ing. degree in Electri- cal Engineering and took the position of an assistant professor at the Com- puter Science Department of the University of Karlsruhe. In 1986 he obtained his habilitation in Computer Science. In 1987 he got the position of a university professor in Computer Science and was appointed director

of the CAD/CAM/Robo t i c s Group of the Institute for Real-Time Computer Control Systems and Robotics. He is head of the research group 'Interactive Techniques for Plan- ning' of the FZI-Karlsruhe. His general research activities are related to robotics with emphasis to: CAD/CAM/Robot i c - integration: Hierarchical robot control, Robot simulation sys- tems, Autonomous mobile robots, Robot machine learning, Telerobotics, Virtual Reality Applications. He is a member of IFAC/MANTECH, VDI-GMA and GI. He published several books and editorials and wrote more than 80 scientific and technical papers.

* Corresponding author. E-mail: [email protected] 1 PRI = Permutation of the German name of our institute,

AMOS = Autonomous MObile System.

[2,4]. In order to use PRIAMOS as an experi- mental platform for experiments on perception and navigation it is equipped with ultrasonic sen-

Jiirgen Kreuziger studied Computer Science and Artificial Intelligence at the University of Karlsruhe and the Swiss Federal Institute of Technology (ETH) in Zurich. In 1990 he obtained his Diploma degree from the Univer- sity of Karisruhe. Since 1991 he has been research associate at the Insti- tute for Real-Time Computer Control Systems and Robotics of the Univer- sity of Karisruhe. His main research topics are machine learning, the ap- plication of learning techniques to

robotics and mobile systems. He has published several papers on mobile systems and learning robot systems.

~ ~ ¢ ~ Frank WaHner studied Electrical En- gineering and Robotics at the Univer- sity of Karlsruhe where he graduated in 1991. In 1991 he worked at the laboratory for artificial intelligence LIFIA in Grenoble (France) in the field of mobile robots. In 1992 he joined the Institute for Real-Time Computer Control Systems and Robotics of the University of Karl- sruhe as a research associate. He has published several papers on the field of control, collision avoidance and en-

vironmental modelling for mobile robots. His present research is concerned with sensor fusion and sensor planning.

0921-8890/93/$06.00 © 1993 - Elsevier Science Publishers B.V. All rights reserved

Page 2: PRIAMOS: An experimental platform for reflexive navigation

196 R. Dillmann et al.

sors and an active stereo vision system. The ele- mentary behavior of following another leading mobile system based on ultrasonic range sensor information has been successfully trained by use of neural nets [1].

In the two following sections we will briefly describe the mechanical and technical construc- tion of PRIAMOS. We will then present the software architecture and describe the details of the motion control and the reflexive navigation algorithms as realized in PRIAMOS.

The new approach presented has some proper- ties not achieved in previous algorithms: • The algorithms are extremely fast. The number

of complex mathematical equations is consider- ably reduced.

• There are no problems like local minima or oscillations near obstacles.

2. Mechanical design

The analysis of weaknesses of an earlier mo- bile system (CPV-1E) developed at our institute led to the new design of PRIAMOS, that is described in this section. The mechanical con- struction consists of three main components into which the system can be separated for transporta- tion purposes, namely: (1) Chassis unit, (2) Con- necting unit, (3) Computer and servo unit. The driving system is based on Mecanum wheels and results in three degrees of freedom: motion in longitudinal and transverse direction and rotation around the center of the vehicle. The chassis unit consists of the chassis frame, a swing axle and a pneumatic lifting device. The pneumatic lifting device has been integrated into the mobile system in order to make control experiments easily possi- ble without ground contact. Due to the driving principle there must be a separate drive for each of the four wheels. Each driving unit is built up of a brushless servo-motor with integrated resolver and brake, a Cyclo reduction gear of 43 : 1, and a Mecanum wheel.

PRIAMOS has a total length of 900 mm, a width of 650 mm and a height of 750 mm. Its weight is 300 kg (four batteries of 124 kg in- cluded) and it can have an additional load of 50 kg. The maximum speed is 3 k m / h in longitudi- nal direction, 1.5 k m / h in transverse direction, 3 k m / h in diagonal direction, and the angular ve-

Fig. 1. PRIAMOS.

locity around the center axis is 1 1/s. These maximum speeds can be reached in less than three seconds. In general a very good maintain- ability was reached: all electrical components are easily accessible by opening the upper cover plate; the batteries are stored in two frames which can be pulled out from the side; the driving units can be completely unmounted to the front resp. back.

3. Technical design

The three main components, (1) computer rack, (2) sensor rack and (3) servo rack, are all integrated in the computer and servo unit. The multi-processor VME-Bus based system consists of two CPU cards - one mainly for the digital position control, one for command interpretation and motion interpolation - and a sensor interface controller for the connection of ultrasonar mod- ules, each of which supports four ultrasonic trans- ducers. The vehicle is connected to the other institute hardware via Ethernet and thus software development and higher levels of planning are performed on SUN workstations. Via D/A-con- verters the servo controllers of each driving unit are controlled, which realize an analogous speed control. During each complete turn of a wheel a resolver sends 176,000 pulses, which are also used by the digital position control. The ultrasonic sensors are mounted on a circle around the cen- ter of the vehicle. Other sensors can be fixed onto the sensor platform of the upper cover plate due to a flexible mounting system. For safety pur-

Page 3: PRIAMOS: An experimental platform for reflexive navigation

Reflexive navigation of PRIAMOS 197

I

L

Nominal Path ~I Reflexive Navigation I

I i I I I + e,,~ t~o~,~

Extermll Sensors Internal Sere;ore (Ultrasonic) (Wheel

Encoders)

Molion Interpolation I

PosiUon Control I

Wheel Velocltiu

I Servo Control I

DrMng Units

Fig. 2. Reflexive part of the software architecture.

poses the mobile system is equipped with two bumpers surrounding the lower part of the vehi- cle and causing an emergency stop as soon as being deformed up to a certain degree. PRI- AMOS uses four batteries as power supply, which

provide the energy for approximately seven hours of continuous experimentation.

4 . S o f t w a r e a r c h i t e c t u r e

The PRIAMOS software architecture is built up in a hierarchical manner. As this paper deals mainly with the reflexive levels of control, only this part has been illustrated in Fig. 2. The high- est level of control is performed by the reflexive navigation module, which has a nominal path to be followed as input. This path can be deter- mined by any kind of geometrical path planning algorithm. Due to partially unknown environ- ments or dynamic objects the path often cannot be followed as planned with respect to the global map. For this purpose the nominal global path is locally altered based on recent ultrasonic sensor measures as detailed in Section 6. The result of reflexive navigation is a short-term goal which is sent to the motion control module as elementary operation. The motion controller consists of a

l d-I > Io ol

Wdeso~O ~ 0

~des~O < 0 >

I, d-I < I, ol

¢vaes~o >__ 0

ma_ ............ I • i

~ 0

TroLl

~ 8

T s l T m l

¢1

o~

m~u..

Trot1 Trotl Tro~m

1odl ~ .................... °

I f f Trout Tr=s m o F

"I)+ T~! T t ~ I

T

Trot|

~des > 0

m0

Trot1

mdm

m O ~ l

Tr~s

Trot I

COdes < 0

T ~ m t + , m

Fig. 3. Basic velocity profiles of a rotation.

Page 4: PRIAMOS: An experimental platform for reflexive navigation

198 R. Dillmann et al.

command interpretation, a motion interpolation, and a position controller. A new motion com- mand can be interpreted during the on-going motion of the robot and - if wanted - can result in an immediate reaction of the system. The methods developed are described in Section 5. Finally the motion interpolation results in a new target position. The PI-position controller reads the encoder values of each servo and transforms the position difference into target velocities of each of the four wheels.

5. Motion control

The motion controller is responsible for the decomposition of a motion command specified in terms of an external coordinate system into incre- mental allegiations 2 of the vehicle's positioning action. As PRIAMOS is an omnidirectional vehi- cle we have to deal with 2D-translations and rotation around the center axis of the robot.

Each motion consists of a constant accelera- tion and deceleration in the beginning and the end of a motion and a period of stable velocity after the robot has reached the desired speed. It is sufficient to describe such a motion by the duration of each phase. Instead of computing all interim positions in advance, the immediate next position increment that has to be passed to the position controller can easily be derived from the previous one.

Unfortunately there are situations in which this velocity profile of a motion can not be ap- plied. Due to limits of the maximum speed and acceleration of each wheel, translations and rota- tions influence each other when executed simul- taneously. If the initial velocities v 0 and to o are unequal to 0, it can be neccessary to use a differ-

2 Positions to be reached within one control loop.

ent velocity profile to stop exactly at the desired goal position. Rotation and translation will be described separately, before section 5.2.2 de- scribes how they are synchronized.

5.1. Planning a rotation

A motion command of the form move ( A x ,

Ay, Aa, /"des, C-Odes) is specified by position and velocities. The acceleration of a motion (o), a) is fixed. With to o as the initial rotation velocity the motion profiles shown in Fig. 3 are possible. The absolute of O)rotl/3 is equal to tb. Angle and time of each of the three phases are determined as follows:

(todos) 2 - (to0) 2 Aot 1 =

2¢brotl

2

A a 3 = 2¢brot3

Act2 = A o t - Aa 1 -- Aa 3

todes -- too Trotl =

~ro t l

--rOde s Trot3 = - - ,

(~)rot3

At~ 2 T r o t 2 =" - - "

COdes

If A a is not large enough to allow acceleration until todes is reached or even requires immediate deceleration, three additional velocity profiles are neccessary as shown in Fig. 4.

5.2. Translation

Two distinct cases have to be considered when planning a translation: (1) There is no initial motion (v o = 0') or 7 0 is

parallel to the goal direction. In these cases, interpolation can be done analogously to the previously described rotation.

(2) In all other cases the vehicle will leave the direct line to the goal.

To describe the trajectory towards the goal, a new coordinate system, called goal coordinate system, is defined. Its origin is the (x, y)-positon

(0

~)0

° o "

Trail Trot s t Trots t '

¢0 0

Tr.t s

CO' . . . . . t ~ ~ r o t 3

Fig. 4. The three additional velocity profiles of a rotation.

Page 5: PRIAMOS: An experimental platform for reflexive navigation

Reflexive navigation of PRIAMOS 199

vy I. T . I I Tyt Tys TTs_]

vo ~,. tB) ~ !

,

V-ff Fig. 5. Velocity profile of the motion orthogonai to the goal.

of the robot at the time when the robot receives a new command and its x-axis points towards the goal.

All possible motions are now described as two overlapping motions: one motion is directed to- wards the goal and one orthogonally to it. Plan- ning a translation is thus divided up into two problems. As the orthogonal motion (My) is not useful, it has to be compensated. The motion towards the goal (M~) has to be planned at the same time. Both translations are coupled by a maximum wheel acceleration and velocity.

5.2.1. Compensation of the orthogonal motion The velocity of the vehicle orthogonal to the

goal is v 0 sin/3 (/3 is defined as the angle be- tween Y0 and the x-axis of the goal coordinate system). Using the velocity profile shown in Fig. 5 the vehicle is guided back onto the straight line to the goal. The time of each phase can be deter- mined as (ay = ayl/2 = - a y 3 ) :

v o sin/3 Tyl - - ,

ay

v o sin/3 1 ay ~ '

and the time for the whole compensation as:

r = r . + r . + T . = v o sin/3

ay - - (1+ v~-)

5.2.2. Interpolation of the motion towards the goal Tests have been done using two different

methods to find a velocity profile for the motion towards the goal (Mx).

Method 1: My and the acceleration of M~ are done in parallel so that they end at the same time (T = Txt).

Method 2: First My is compensated with maxi- mum acceleration. Only when this is done, the vehicle accelerates the motion towards the goal.

The constraint in both cases is that the accelera- tion resulting from Mx and My is not higher than the maximum acceleration of the robot.

a 2 = (axl) 2 + (ay) 2.

To compute the time of each of the phases it is necessary to know the corresponding accelera- tion. With the interpolation shown in Fig. 6 (T = Txl) we define Q as the quotient of the accelera- tion of My and M x.

O = m

ay v 0 sin/3(1 + V~-)

axl /.'de s - - v 0 COS fl

vx I. T

vo:: Tx I Tx l

% Tzs X goal

Velocity profile o f Mz Resulting Trajectory

Fig. 6. Interpolation according to Method 1.

Page 6: PRIAMOS: An experimental platform for reflexive navigation

200 R. Dillmann et al.

v::t_._... ................. vocos( )l:

TxO Tx I

Velocity profile of Mz

% Tx t T=a

II X """,

X ~ '

Resulting Trajectory

Fig. 7. Interpolation according to Method 2.

Then the acceleration of each phase is:

if (vd~ ~ - u o sin/3 > O) + Q ~ + I

axl = a - - otherwise. vf-a2 + 1

ax3 = - - a .

ay = a a x l .

If the interpolation principle as shown in Fig. 7 is applied, the accelerations are:

= [ + a if(U0e s - v 0 s i n / 3 > 0 ) ax l

- a else.

ax3 = - - a .

+a if (u 0 sin/3 <0) ayl_2 = - - a e l se

ay 3 = - a y l 2.

As soon as the acceleration is known, time and distance the robot has travelled in each phase can easily be determined. With that a criterium can be defined (shortest path or shortest time) to choose one of the above methods. Analogously to Fig. 4 three special situations have to be consid- ered if the commanded distance is too small to reach the commanded velocity (see Fig. 8).

As mentioned before, the fact has to be taken into account that translation and rotation influ- ence each other. Therefore the following proce- dure is used: it is periodically tested whether translation and rotation together command a wheel velocity which is higher than allowed. In this case the speed of both motions is reduced according to a given balance (default: 1/1). How- ever higher control levels could change this weighting and thus decide which motion is more important.

The presented interpolation is designed to control a robot with three degrees of freedom, the most general kinematics. However motions of a number of other kinematics can be treated as a simplification of this case and thus be controlled as well.

6. Ref lex ive n a v i g a t i o n

In the following a method is presented which enables the vehicle to react to unforeseen situa- tions during the execution of a pre-planned path.

Previous Collision Avoidance or Reflexive Navi- gation algorithms, especially those based on arti- ficial potential fields, are not able to guide the

+x t ,x I "x t Vdes Vdes vdes Vo cos(l~ Txo

v' . . . . . . . . . . . . . . . . . . VocOs(P) , )1 ~ = 1 I '== • v o ° + J , . x , + ,

T=O T=I T=S ; T=o T=II t ...............

Fig. 8. Additional motion profiles of M x.

Page 7: PRIAMOS: An experimental platform for reflexive navigation

Reflexive navigation of PRIAMOS 201

--~, hl ~--

. . . . . . . , . . . . , . . . . . . . . . . . "",,,.,,,,, """(Y'~"~'"'"""~'-''"'- Measure-ments R°~l~ootn "'"',.,.,,,.,,,.,,.,~

Fig. 9. Transformation of measurements into obstacles.

vehicle with a higher velocity on a satisfying tra- jectory [5].

The described planning method consists of three different modules: (1) A transformation of unprocessed sensor data

into 'virtual obstacles'. (2) A mapping procedure of these obstacles into

a grid model. (3) A planning algorithm to find the immediate

next robot motion. The advantages of this new approach are its functionality on one hand: there are no problems like local minima or oscillating motions near ob- stacles and it guarantees to find the shortest path within the perceptable range. On the other hand its simplicity: there is no intense use of computa- tional expensive mathematical operations.

6.1. Transformation of sensor data

the measured spots is then transformed into a line segment which is orthogonal to the measure- ment ray and has a length equal to the visible robot projection. A gap between two such en- larged obstacles is considered as a collision-free path for the robot.

If the robot is moving, the above transforma- tion is not sufficient to guarantee collision-free motions. The deceleration distance and the time the robot needs to react must also be taken into account. For this reason another transformation from lines into triangles is performed. The trajec- tory of the robot is not a straight line when going around an obstacle, but curved as shown in Fig. 9. However, these curves can be simplified to straight lines. The height h of this imaginary triangular obstacle depends on the magnitude of the robot speed projected towards the line seg- ment.

Range measurements are taken and expressed in world coordinates. In each local navigation cycle a set of measurements which are closest to the present robot position are selected. Each of

6.2. Mapping observations

For efficient obstacle mapping we have chosen a grid model as shown in Fig. 10. Size and loca-

Wall

V i r t u a l / o b s t a c l e s ,

", ,, . i

i

| ~ 1 i I i ~ 1 ) r~ l I I I I )

I # l l ~ i

I I I I l i i I I I l i l i | 1 1 1 1 1 1

m

i ~ mm

i I I

I n I n n | n i l • I n u | g I i N i n lmim i inimm mimmmmm mmmiiimmim

I I I I I

Fig. 10. Mapping virtual obstacles in a grid model•

Page 8: PRIAMOS: An experimental platform for reflexive navigation

202 R. Dillmann et al.

Fig . 11. C o n s t r u c t i o n o f d i s t a n c e f i e l d s a n d g r a d i e n t s e a r c h .

t ion of this grid are flexible and depend on the following items: • The number of cells in the grid should not

exceed a given maximum to limit the effort of later planning.

• The grid should cover all obstacles under con- sideration.

Therefore the grid is normally not centered a round the robot. A number of advantages result f rom this definition. The same information as in a cen tered grid can be represented using fewer cells. With varying grid and cell size one obtains high precision in densely clut tered environments and bet ter predictive behavior as soon as the immediate envi ronment contains fewer obstacles.

6.3. Finding the shortest path by using distance fields

We use a planning algori thm based on dis- tance fields. It works in the following manner : (1) The cell in which the goal position is located

is initialized with a default startingvalue ( '1 ' in Fig. 11)

(2) Provided they do not contain an obstacle or the grid boarder , the four neighbors of this cell get an entry: neighbor-cell-value = cell- value + 1.

(3) This p rocedure is repea ted recursively for each neighbor-cell until the robot positon (' R ' ) is reached.

(4) Starting at ' R ' a gradient algori thm follows the lowest value of the eight neighbors until the goal posit ion is reached.

• 1¢ l io l Iml Y = 11o2~ ~ ~ y i ~CI ~ " 40 'so1 p°l ~1 . O'~Oo e '~l timed x " 3 6 . . 4 ~ t 0 . . Co4I oxtexl Y = 9

0 0 ° 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 4 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 O O 0 0 * * ~ , ° ° ° ° ' - - ° * - ° * ° * o o o o o o O O * o O O o o o o ° ~ ° ° + ~ o . . o . 0

° 0 ° ~ m O N 0 0 0 0 0 0 O ° 0 0 0 0 0 O O ° 0 O 0 0 ° O l ° ~ o o ° 0 ¢ 0 0 0 l m * o o+ +o oO.O,~ + . - ~ oo oo o * * o o * oo o ~ ° ° o ° ° ° ° ° o 0" ° ° ° ° ° °

0 0 0 0 0 0 0 0 0 I S S M 0 0 0 0 0 0 0 0 0 0 ¢ 0 0 I I 0 0 0 0

° ° : + ° o ° " ° ' ' ° * ° o + * ° ° : ° ° o ° ° ° ° ° , o o ° o . l l ~ . ° o ° + l ; . ~ . ° , ° ~ + ~ ~ 0 , , . + . o o o o o o o < , : . m n n a m . o - . m J J 0 . . . o ° o , °o * °o o + , + + g , g o o o o o o , , . . . . + - ° ° - . , , + oOoO:o~ , , ° °+°o . . . ° o + o o 00 oo oo o , + , , : oo oo ° ° ° o , , . , , . . , . . - + o - . : , o ° o ° ° ~ o o o o o o ° o o 0 o o co o ° o ° o o o ° o ° o ° o ° o o o . . J ~ l l . . ° o3lnm+.me1~o.m~Tee~).:L81711ilS)OtNmtaloa~eo, 0 011 0 0 0 0 0 0 0 O O 0 0 0 0 0 0 ¢ O 0 0 " ~ e ~ l + ~ l ~ ' ~ . ~ 7 1 6 1 5 1 , 1 1 1 1 1 1 9 1 1 1 1 S 0 0 N o o o 0 0 0 0 o e o o o o o o o o 0 ~ M 2 3 m ~ 1 0 1 9 ~ 1 ~ 1 6 1 5 ~ 1 3 ~ 0t011?10 ~am 0 0 0 0 0 ¢ 0 O 0 0 0 0 0 0 0 0 O ~ L I t ~ 4 B 3 1 t M ~011/!)17161St4L31P ~ 0 ~ 1 6 1 7

0 o 0 o 0 0 0 0 0 o o 0 0 0 0 0 0 1 1 ~ t ~ j 0 ~ J ~ l + 7 +~ tS1413121112 ~m N1~16 0 0 S m J M - + L14 L3 12 ~ 10 11 m 4m 14 1§

I / . 312111 .0 m ~ 1~14 0 o o O O O O O O O 0 O O O O O 2 1 , ) l , . ~ +110 ~ 0 0 0 0 0 0 0 0 0 0 0 O 0 0

0 0 0] ~ ! t ~ 1 1 t 0 011114110 9 ° 7 6 9 1 1 1 1 +

o ° o ° o ° ° + + ° ° o ° ° o ° o ° g o ° o ° ° : ° o ° o " ~ " " ° o o ° o " " " l ~ g + ' ~ | ~ 0 " 0 . . . o o o 0 o - - . , o ++ ~ M 9 9

o o o o o o o s n u ! ~ n , + , , + . n . m . ~ o a o t s + , ; + + +

i ! ° ° ° ° ° ° ° + ° ° ° ° ° ° ° ° ' ' ' ' ' ' ° ° ° ° ° ° ° m ( ~ z a ' ° ' ° ~ ' ' + ~ + ~ ++ s : a + + + : o + o o ° o ° o . . , , = , . . , o . . . . . - , , , + + , , + ,

o o o o oe le+e, a l a e m m , + . , t s , * u t o + a P + 5 , , :+ . . + . + + ++ + o : + ~ . o o 0 , , . ~ . . . . . . . . . . , . , + , + + , , , + 6 7

4 6 8 7 0

i i 00 g 0 : 0 0 0 0 0 0 0 ) 0 ( . , l l ~ l + l . ~ l l J J l $ + ~ e m i I I 1 ~ , . ~ + 1 10 9 . 7 . ° . 7 . .~0 ° 0 O e e e e ~ 1 3 1 ~ . J O m l J ~ P ~ l i l l ~ 4 ~ t l : ~ l O 9 e 7 0 S ~ 15 13 7 O 9

oo oo ~ o ° o oo o o ° o o ° , o o - - n = a ~ = u m = u ! n ~ a + o ~ . ~ , :, 8 s+o , , o o o ° o ° o o o o o - , . a e a + m + t ~ m t m + m u u ~ ~ + o ~ e ,tottm ° o ° o o ° o ° o ° o o o o o o o o o o o o ° S . . l l n ~ 0 t t . o m u u . m t t + ° e ° e ~ o s ~ m .

0 0 ,0 O O o o o o o o a l l ~ l M I I m ~ l l t l U , l l ~ 1 4 1 3 1 2 1 1 L o s~o:1,1~131+1

F i g . 12. E x a m p l e r u n t h r o u g h a d o o r a n d r e s u l t o f o n e loca l n a v i g a t i o n cycle . ( * : R o b o t p o s i t i o n ; X X : M e a s u r e m e n t s ; # # : V i r t u a l

o b s t a c l e s . )

Page 9: PRIAMOS: An experimental platform for reflexive navigation

Reflexive navigation of PRIAMOS 203

Local planning does not result in a complete path to the goal but only the immediate next motion command. The gradient at the field at the robot position already indicates a collision-free direc- tion to the goal. However, no more than 8 differ- ent directions are possible in one search step. Path planning until the first obstacle is passed also results in a straight line and gradient search is continued to that point. Each cell lying in between increases the number of possible direc- tions by 8. A number of refinements were necces- sary to make this algorithm work in a satisfying manner [7].

As mentioned before the main advantage of the described local planning layer consists in its efficiency. The shorter a planning cycle, the faster the robot is able to react to unexpected obstacles. Distance field construction is not based on math- ematical equations. The relatively complex data transformation and mapping procedures could be simplified by the use of tables which are com- puted a priori and contain sets of typical obstacle transformations.

fields. The idea of reflexive planning is supported by a motion controller which is Capable to inter- pret new motion commands while travelling and which is able to find optimized transitions be- tween two motions. Both control layers in combi- nation are able to guarantee fast reactions to sensor data.

Acknowledgement

We would like to thank F.-O. Bischoff, M. G6tz, M. Husemann, F. Langineux, S. Tritschler and H.-P. Weis for their engagement in develop- ing PRIAMOS. The work has been supported by the SFB 314 'Kiinstliche Intelligenz', Project R2, of the German Research Foundation. It has been performed at the Institute for Real-Time Com- puter Control Systems and Robotics, Prof. Dr.- Ing. U. Rembold and Prof. Dr.-Ing. R. Dillmann, Department of Computer Science, University of Karlsruhe, 7500 Karlsruhe 1, Germany.

7. Experimental results

In order to illustrate how the robot behaves, an example run will be discussed in Fig. 12. A grid with a maximum of 40 x 40 cells, correspond- ing to a maximum range of 4 meters was used. One local navigation phase, obstacle transforma- tion, mapping and distance field construction, took between 5 and 15 ms on a Sun 4 Worksta- tion. The motion was commanded with 1 m/s. An average speed of 0.6 m / s was reached.

8. Conclusion

In this paper we described the new mobile system PRIAMOS, its motion control and reflex- ive navigation method. The algorithm described for reflexive navigation achieves properties such as high efficiency and a very good behavior near obstacles which are a definitive progress com- pared to methods based for example on potential

References

[1] K. Berns, R. Dillmann and R. Hofstetter, The application of a backpropagation algorithm for the control of a track- ing behavior, Proc. IEEE International Conference on Robotics and Automation, Sacramento, CA (1991) 2426- 2431.

[2] F.O. Bischoff, Design of the control software of the au- tonomous mobile platform PRIAMOS, Master's thesis, University of Karlsruhe, 1991 (in German).

[3] J. Borenstein and Y. Koren, The vector field histogram - fast obstacle avoidance for mobile robots, IEEE Transac- tions on Robotics and Automation 7 (3) (1991) 278-288.

[4] M. Husemann, Design of the autonomous mobile platform PRIAMOS, University of Karlsruhe, 1992 (in German).

[5] Y. Koren and J. Borenstein, Potential field methods and their inherent limitations for mobile robot navigation, Proc. IEEE International Conference on Robotics and Au- tomation, Sacramento, CA (1991) 1398-1404.

[6] F. Langinieux, Collision free motion control of a fast moving mobile robot, Master's thesis, University of Karls- ruhe, 1992 (in German).

[7] F. Wallner, T.C. Lueth and F. Langinieux, Fast local path planning for a mobile robot, Proc. Second International Conference on Automation, Robotics and Computer Vtsion, Singapore (1992) Ro 10.5.1-Ro 10.5.5.