+ All Categories
Home > Documents > Reduction of free-space-loss for good and rapid 3D path planning of 6DOF robots

Reduction of free-space-loss for good and rapid 3D path planning of 6DOF robots

Date post: 24-Feb-2023
Category:
Upload: sena
View: 0 times
Download: 0 times
Share this document with a friend
16
Journal of Intelligent and Robotic Systems 13: 263-278, 1995. 263 © 1995 Kluwer Academic Publishers. Printed in the Netherlands. Reduction of Free-space-loss for Good and Rapid 3D Path Planning of 6DOF Robots C. BALAGUER*, A. BARRIENTOS, F.J. RODRIGUEZ, R. ARACIL, E. A. PUENTE Divisidn de Ingenier{a de Sistemas y Automdtica (DISAM), Polytechnical University of Madrid, c/Jose Gutidrrez Abascal, 2, Madrid 28006, Spain and U. PETER Institut fiir Regelungstechnik, Technical University of Braunschweig Hans-Sommer-Strafle, 66, Braunschweig 3300, Germany (Received: 30 March 1993; in final form: 26 November 1993) Abstract. This paper deals with a new approach to solve the up to 6DOF robots global collision-free path planning. This problem seems to be more difficult when big or very long pieces are manipulated in cluttered and occupied environments. Moreover, the computational effort increases if the necessary path resolution is very high. The developed algorithm is based on the c-space technique. Different robot models are used for rapid c-spaces computation. Each one for different parts of a typical pick and place task. The algorithm selectively uses these global or local c-spaces. This strategy leads to fast global c-space computation without a considerable loss of free-space caused by the simplified robot model, and to quasi real-time local c-space computation. The paths searching in the computed c-spaces can be performed by several techniques: cell (cube) mapping, octree, and slice, which are rule-base selected in an adequate way. Finally, the results of the algorithm implementation in several real robots are presented. Key words. Path planning, collision detection, robot modelling, graph searching. 1. Introduction Task-level robot programming is one of the most important objectives in modem robot research. The aim of this level of programming is to develop a method to program the robot with simple commands instead of a unique programming language for each robot. In order to achieve this purpose, it is necessary to develop the ability to plan robots collision-free motions in complex environments. In the last few years, different methods have been developed in order to rep- resent the free-space. The potential field method, as used in a lot of algorithms (Amaris, 1991), is very time-consuming and presents serious problem because of * Now with University Carlos III of Madrid, c/Butarque, 15, 28911 Leganes (Madrid), Spain.
Transcript

Journal of Intelligent and Robotic Systems 13: 263-278, 1995. 263 © 1995 Kluwer Academic Publishers. Printed in the Netherlands.

Reduction of Free-space-loss for Good and Rapid 3D Path Planning of 6DOF Robots

C. BALAGUER*, A. BARRIENTOS, F.J. RODRIGUEZ, R. ARACIL, E. A. PUENTE Divisidn de Ingenier{a de Sistemas y Automdtica (DISAM), Polytechnical University of Madrid, c/Jose Gutidrrez Abascal, 2, Madrid 28006, Spain

and

U. PETER Institut fiir Regelungstechnik, Technical University of Braunschweig Hans-Sommer-Strafle, 66, Braunschweig 3300, Germany

(Received: 30 March 1993; in final form: 26 November 1993)

Abstract. This paper deals with a new approach to solve the up to 6DOF robots global collision-free path planning. This problem seems to be more difficult when big or very long pieces are manipulated in cluttered and occupied environments. Moreover, the computational effort increases if the necessary path resolution is very high. The developed algorithm is based on the c-space technique. Different robot models are used for rapid c-spaces computation. Each one for different parts of a typical pick and place task. The algorithm selectively uses these global or local c-spaces. This strategy leads to fast global c-space computation without a considerable loss of free-space caused by the simplified robot model, and to quasi real-time local c-space computation. The paths searching in the computed c-spaces can be performed by several techniques: cell (cube) mapping, octree, and slice, which are rule-base selected in an adequate way. Finally, the results of the algorithm implementation in several real robots are presented.

Key words. Path planning, collision detection, robot modelling, graph searching.

1. Introduction

Task-level robot programming is one of the most important objectives in modem robot research. The aim of this level of programming is to develop a method to program the robot with simple commands instead of a unique programming language for each robot. In order to achieve this purpose, it is necessary to develop the ability to plan robots collision-free motions in complex environments.

In the last few years, different methods have been developed in order to rep- resent the free-space. The potential field method, as used in a lot of algorithms

(Amaris, 1991), is very time-consuming and presents serious problem because of

* Now with University Carlos III of Madrid, c/Butarque, 15, 28911 Leganes (Madrid), Spain.

264 C. BALAGUER ET AL.

the presence of local minima in complex environments. The roadmap approach, for example Voronoi diagram (Lee and Drysdale, 1981) and V-graph (Lozano- P6rez and Wesley, 1979), is appropriate for 2D-environments and for mobile robots with several degrees of freedom. Its application to 3D-environments is complex and not satisfactory resolved. Another method, which is extendable only with bad results to 3D-environments, is the technique based on the free- ways concept (Brooks, 1983). Although its use for 2D-environments is really successful as shown in Balaguer (1988).

Another well-known method is based on the configuration space (c-space) representation. The c-space is defined easily as the set of robots parameters values (in the joint or Cartesian space) which define the non-collision positions and orientations of the robot. The explicit use of c-space for planning collision-free motions was first proposed by Lozano-P6rez (1983). Using c-space representation the motion planning has been already successfully solved for 2D-environment. But in 3D complex environments for 6DOF robots and especially for large (long) work pieces to be handled, this problem is generally not clear and very time- consuming. A complete methodology of the 3D problem is presented by Shen and Xue (1993).

On the one hand, it is necessary to find a simplest model of the robot in order to reduce the execution time of the path-planning algorithm. On the other hand, a simplest robot model produces a loss of free-space by not representing exactly enough the environment or the robot, i.e. the space representation has to consider free configurations as occupied.

The use of extra free-space is especially important when large work pieces are manipulated, particularly in cluttered environments. It can prevent the searching of a free path in cases where the execution of the task would be possible with a more precise model. The purpose of this paper is to demonstrate that c-space representation can be both simple (by using exclusively models with only 3DOF) and exact.

For this reason a strategy for a pick-and-place task to be executed by a robot which manipulates a very long work piece has been developed. The real robot model will be compared with the new one. Its modelling attends to the quite simple idea of reducing the degrees of freedom to only three, by using a model that considers the last three joints as free and includes all their possible positions in the polyhedra of the robot hand. However, the algorithm presented is a general one and is applicable to most of the commercial robots (ASEA IRb 2000, PUMA 560C, etc.) by simply changing the corresponding models and their kinematic transformations.

For the final experiments in the 6DOF robot (ASEA IRb 2000) the known path-planning algorithms are used: (a) exact cell mapping, (b) octrees (Arimoto and Noborio, 1988), and (c) slice (Lozano-P6rez, 1987). A rule-based algorithm that selects the best of these three methods for the path searching and c-space computation, considering the length of the path and the computational time, is described by Balaguer (1992a).

GOOD AND RAPID 3D PATH PLANNING OF 6DOF ROBOTS 265

2. Path Planning by Configuration Space

The collision free-path planning is divided in two parts. The first one is the computation of the c-space, which is normally calculated off-line and is explained in more detail below. The second part is the path-searching algorithm which is usually carried out on-line, because the environment normally does not change but initial and final positions of the path do. In addition, an even more important reason for calculating only the path searching on-line is to save computational time, considering that the complexity of a global 3D free-space calculation is about two orders higher than the path-finding problem.

In general, the calculation and representation of the free-space can be realized in the Cartesian or in the joint angle space. Representation in Cartesian space is very easy and does not need much memory, as compared to that in joint angle space which represents the obstacles by the configuration of the robot.

The configuration is defined as any set of parameters that describes completely the position of the whole robot (not only orientation and position of hand), as the set of joint angles does. All configurations which would cause a collision with the environment or work piece are calculated by a 3D collision algorithm between moving and fixed objects. These occupied positions of the robot are considered the c-space obstacles and the complementarity of the corresponding ranges of the joints are defined as the free-space.

A compact way to store the free ranges is the tree-data structure, where every tevel of the tree describes the corresponding joint. Each valid range is sampled with a fixed resolution (4 ° turned out to be appropriate in complex and cluttered environments) and ramifies to the lower joint.

The enormous advantage of the c-space representation is the transformation of the complex robot to a set of up to six joints values (angles), so that the path-searching problem is reduced to a simple search algorithm in a graph. The disadvantage of this method is the high execution time of the free-space compu- tation, but generally is only required off-line.

However, to calculate the free-spaces and to find the path for up to 6DOF is a time-consuming process for all methods known (Canny, 1987). Therefore, it is necessary to develop a strategy which without hindering the robot task, can reduce the computational effort by decreasing the robot degrees of freedom, i.e. reduce the free-space-loss, defined as the difference between the c-space using real robot model and the c-space using reduced number of DOF robot model.

Further, it is necessary to limit the characteristics of the robot and the environ- ment in order to reduce the calculation time of the c-space construction, taking into account the following assumptions: * Environment

- 3D - static - known - modeled by rectangular polyhedra

266 C. BALAGUER ET AL.

* Robot - base remains fixed - links are represented by rectangular polyhedra Another way to reduce the calculation time is to develop the 'intelligent' 3D

collision check verification procedure. This aspect is very important due the fact that a great part of the c-space computational effort is concentrated in these verifications (solids intersections). This procedure consists of a set of very fast conditions checks before computing the solids checks. For example, they are checked if the obstacle is in the robot-working are, or if the planes of the robot movements intersect the obstacles, etc. This set of sufficient and necessary con-

ditions are applied in increasing complexity order (Rodrlguez, 1993). In order to obtain in the following chapters the computational effort of the developed algorithm, tdc h and tch are defined as the discard checking and checking times respectively. The relationship between these two times is in order of three mag- nitudes.

3. C-space Representation with Three Free Joints

In order to reduce the computational time, the basic strategy of the pick-and-place task considers the last three joint angles to be free. Therefore the polyhedra of the model include all possible positions of the hand (called enlarged model) and the c-space will be calculated only for the first three joint angles.

Figure 1 shows an example of the enlarged model of the robot by polyhedra and the c-spaces constructed with it. On the one hand, this is a really simple way to reduce the costs of calculation, but on the other hand, it is obvious that the enlarged model will cause a large loss of free-space, because any combination of the first three joints has to be considered as occupied if the enlarged link would cause a collision (even if only one special configuration of the last three joints does it).

i - -

tel i

q4, qs, q~ free

insertion of the --~ c-s

moving piece I in the plane

insertion j of the --, c-s_reD

static piece I

Fig. 1. Enlarged model of the robot and the corresponding c-spaces representation.

GOOD AND RAPID 3D PATH PLANNING OF 6DOF ROBOTS 267

Several c-spaces with the enlarged model as the base-model are calculated in order to contain in each one data about the collisions between different elements; robot, work piece and environment. The paths which use that base-model are formed by several parts, respectively searched in the different c-spaces. These computed c-spaces are:

* C-sJ:e: Global c-space (3D, for the first three joint angles), which is calcu- lated with a 3D collision-check of polyhedra and considers collisions between the robot and the environment. It is calculated in a similar way as those in Lozano-P6rez (1979, 1987). The c-s_re serves as the basic c-space (containing the robot free positions without work piece) for the other c-spaces.

* C-s_rep: Global c-space (3D, for the first three joint angles), which is calcu- lated by an insertion procedure of a static piece into a previously computed c-s_re c-space. The created c-space considers possible collisions between the robot, the environment and the static piece. The insertion procedure checks for every valid configuration of the robot in the environment (taken from the c-sJ:e) a possible collision with the new piece. Thus, the static work piece is inserted in a fast way in its initial and final position. In the c-s_rep the paths are carried out in two steps. First, one from the initial position of the robot to the point in which the work piece is caught and second, one from the point in which the piece is released to the final position of the robot.

* C-s: Global c-space (3D, Cartesian), which is calculated by an insertion procedure for a moving piece a previously computed c-space. This c-space controls collisions between the robot, the environment and the moving work piece. It is computed for the transport of the work piece on selected planes, called planes of movement. The degrees of freedom are no longer the first three joint angles, but the two coordinates of the gripper (with the piece) in the plane and the sixth joint angle q6 (to turn the piece in the plane) are considered. The insertion procedure of the moving piece computes the allowed values of q6 for every valid position of the gripper in the plane (taken from the c-s_re).

Notice: The transport of the work piece in a plane is the only restriction of the robot mobility in this application; although the user is free to choose its position and orientation. Therefore, one has to change only the corresponding file and calculate the c-s for the new plane. Thus it is very simple to adapt the position of the plan to the task in order to avoid reducing the mobility.

4. C-space Representation with Exact Model

This strategy to reduce the free-space-loss, without a high increase of the exe- cution time, consists of two basic ideas. The first is to fix the hand of the robot

268 C. BALAGUER ET AL.

during the movement without the piece (for example, fix the q5 = 0). This makes it possible to describe the hand and the gripper by its polyhedra which is very precise. The second one is to consider the hand and the gripper as a part of the moving work piece during its motion in the plane of movement. This idea takes the consideration of the fact that the hand is fixed in reference to the work piece while the piece is picked up by the robot.

Figure 2 shows the models of the robot, that are explained in the following and the c-spaces constructed with them. Figure 3 presents the composition of the path by its parts, also explained in the following.

The base-model for the c-space is the short model that describes the robot without its hand. Several c-spaces are calculated in the base-model allowed positions in order to compose the path for different models. The computed c-spaces are:

* C-s_re-:

* C-s-re+:

Global c-space (3D, for the first three joint angles), which is calculated in the same way as the c-s_re (mentioned in Section 3) but using the short model. It considers collisions between the robot without hand and the environment. Containing the free positions of the robot without the hand the c-s_re- serves as base for the computation of the c-s_re+ and the c-s (mentioned below). Global c-space (3D, for the first three joint angles), which is cal- culated by an insertion procedure, that adds the polyhedra of the robot hand and gripper to the short model. The created c-space controls possible collisions between the robot with hand (called long model) and the environment. The developed insertion pro- cedure checks for every free position of the short model (taken

q~ = 0 o

insertion i of the --~ e-s_rep+.ini

static piece I in the initial

Dosition

addition r - - insertion i of the --~ c-s_re+ of the --~ c-s_rep+.fin

hand & gripper I static piece I in the final

position

selection of the i i

plane for----~ e-s- I moving place considering

the hand & gripper as a part of the piece

w o r k p i e c o

Fig. 2. Short model, long model and model that considers the hand and the gripper as a part of the piece.

GOOD AND RAPID 3D PATH PLANNING OF 6DOF ROBOTS 269

final pas~an

initial position

' ~ in the c - L m p + . f i n

\ 1 ) in the e - l n~p+ . in i , , ~ . _ k ~ plane of movements \ /

o,.n,..., ;,...°-.o;,.nlY • " ' . ~ } / r -~ obstacle ]/ '7) in the c-s_loa_p.fin

_.~"// initlol poltltion of piece final position of the pie=e

Fig. 3. The strategy of path composition,

* C-s_rep+.ini:

* C-s_rep+.fin:

from the c-s_re-) if the addition of the new polyhedra, which con- tains a precise model of the fixed hand, would cause a collision. The c-s_re+ is the c-space of the long model and is used as base for the below mentioned c-spaces c-s_rep+.ini and c-s_rep+.fin. Global c-space (3D, for the first three joint angles), which is calculated by the same insertion procedure of a static piece as used for the computation of the c-s_rep (mentioned in Section 3). The static piece in its initial position is inserted in all free po- sitions of the long model c-space. The created c-space takes in consideration collisions between the robot with the fixed hand, the environment and the work piece still remaining in its initial position. In this c-space the paths from the start point of the robot to a position near the work piece and the hand orientation to pick up the piece are calculated (movements Nos. 1 and 2 in Fig. 3). Global c-space (3D, for the first three joint angles), which is created in the same way as the c-s_rep+.ini but inserting the work piece in its final position. In this c-space the paths are searched from a point near the final position of the piece, where the hand is fixed again, to the end point of the motion (movements Nos. 8 and 9 in Fig. 3).

270

C-s_loc_p.ini:

C-s_loc_p.fin:

C-s-:

C. BALAGUER ET AL.

Local c-space (3D, for the first three joint angles), which is cal- culated surrounding the initial placement of the piece and using an algorithm, which is similar to that in Kondo (1991). This c- space is created for the hand orientated in order to transport the work piece and only in the allowed positions of the short model. It considers possible collisions between the robot, the environ- ment and the moving piece. The local c-spaces are the only ones which are calculated on-line due to the fact that their size is very small. In this c-space the paths to pick up the piece and to lift it up to the plane of movement are calculated (movements Nos. 3 and 4 in Fig. 3). Local c-space (3D, for the first three joint angles), which is cal- culated in the same way as the C-s_locTp.ini but around the final placement of the piece. In this c-space the paths to set the work piece down from the plane of movement and then to remove the hand and fix it (in our example to q5 = 0) are searched (movements Nos. 6 and 7 in Fig. 3). Global c-space (3D, Cartesian), which is created in the same way as the c-s (mentioned in Section 3) but inserting in all free positions of the short model the moving piece which consists now of two polyhedra. The first one is the work piece and the second one is the hand of the robot (not included in the short model), because it is fixed in reference to the piece. Thus, the hand is represented by its own exact polyhedra during the movement of the piece in the plane. This c-space controls collisions between the robot, the environment and the work piece moving in the previous selected planes. The three degrees of freedom are the two coordinates of the gripper (with the piece) in the plane and the sixth joint angle (to turn the work piece in the plane). The main part of the transport of the work piece is carried out again in this plane (movement No. 5 in Fig. 3).

5. Experimental Results

One of the experiments to demonstrate the increase of mobility by the new strategy was made in the environment shown in Figure 4. The main problem for the robot is to remove the work piece from the table without touching the two wide front-supports (Balaguer, 1992b).

The crucial part of the path is represented in Figure 5 for the short model with the piece formed by itself and the hand-gripper, and for the enlarged model. In this position the arm of the robot has to be very close to the left support to turn the work piece out of the table without touching the fight one. The short model

GOOD AND RAPID 3D PATH PLANNING OF 6DOF ROBOTS 271

Fig. 4. Environment of the experiments.

Fig. 5. Crucial position of the path for the short and enlarged models.

272 C. BALAGUER ET AL.

q 3 ~ 0 °

7

Li fo

~ : i i i i i i i i i i i i i i i : : ,

] ( ] l t . . . . . . . . . . . . . . . . . . I{ . . . . . . . . . . . . . . . . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

] / 1 T I I I I I I I I I I I I I I I I [ I I l I I I I I I I I I / I I J l I ' I / I I I I I S I ]

% = 2 2 °

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l l l ( l l l I l l l l I l l l H l l ~ l l ] . . . . . . . . . . . . . . . . . . . . . . . . . . ~ . . . . | ! ! ! ! , , ! ! , , , ! ! ! ! ! !

" ' I I H . . . . . . .

J l W J ~ I |

, , ,,,'722,,,, ,,,'222,,,, I i 1 [ ] 1 1 1 1 ] ] ] 1 1 1 1 1 1 1

i l I l l l l l l I l l l l l l l l l l l

I ~ I I I I I ; ; ; I H I ; ; ; I I I ~ r r r r rv ,nr ' rvr ' r r 'n m . . . . . . . . . . . . . . . . . II . . . . . . . . . . . . . . . . . . . . . . . II . . . . . . . . . . . I: . . . .

I . . . . . . . . . l l l ¿ l l l : l | l ~ : : : : : : : : : : : : : : : : : : : : : ~ | I I I I I I | I L : | : : : I I I I I

iiiiiii11i . . . . i i i i i i i i i i i i l l . . . . . . . . . . . . . : : I ~l~I~ i l ~ . . . . . . . . . . . I l l . . . . . . . . . . . . I I I . . . . . . . . . . . . . . . . . . . . . . . . . I 1 [ I . . . . . . . . . . . . . . . . . . . . . . . I I 1 1 ]

Fig. 6. Slices of the c-s_rep for enlarged model and for different q3-

is able to reach this position whereas the enlarged model would cause a collision with the left support, which prevents from finding a free path with it.

Figure 6 presents the slices of the c-s_rep for q3 = 0° and q3 = 22 °. The axes for these slices are the other two degrees of freedom: ql and q2- In order to pick up the work piece, the robot has to move into the table and to go to the pick up- position (q3 = 22o) • In both slices the white region inside the squared one, that represents the free-space inside the table, is very small and even more important is that there is, for whatever value of q3, no opening to enter this region.

GOOD AND RAPID 3D PATH PLANNING OF 6DOF ROBOTS

%= 0 °

~ I [ I l l T ] ] l T T I l ]

t ~ l l ~ I I l l I I I l ~ l ~ I I H-t44 1 , ¢ - ~ 1 , , ~ r ' r r r r r r r r ~ ~iiiiiiiiiii!!! ii@iiiiiiiiiiil ~

~ I l l l l l l l l l l l ] l l l l l l ~

21111111111 iiiiii . . . . . . . . . . . . . . . . . . !iiiiiiiii @ . . . . . . . . . . . . . . . . . . . . . . . . ~ I ~ I ~ I ~ I ~ I ~ I ~ I I ~ I ~ I ~ | ~ I ~ I ~ I ~ I ~ H i ~

I l l l l l I I ] l l l l l ] l l ] l l l [ l l I l l ] l l l ] l l r l i l l l ] l l l l l [ l l l l l ] [ I I ] l l l l l l l l l l l l ] l ] l ] ] ] l ~ , , , , , t t . . . . . . . . . . . t l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , , , 1 . . . . . . . . . . . . . . . . . . . . . . t t ~ t t } l l l

] [ ~ [ ~ [ ~ I ~ l ~ I ~ [ ~ ~ I 1 ~ I ~ ~

273

Fig. 7.

c h = 22 °

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l l l l l l l l l | l l l t t | l l t . . . . . .

" iiiiiiiiii'"

~ z ' J l l l l l a z l l , l z z l

I l l l l l l l l l l I l l l l l l l

i

l l l l l l i i i l ; i i i i i i l ;

] l l l l E I I I l l l ] l l l l l l l l l l I I l l l l l . . . . . . . I E l l l l l E l l l i . . . . . . I , I I I l l . . . . ~ ] ] ~ i ~ i ~ i ~ ] i ~ i ~ i ~ i ~ E ~ i i ~ ] I ~ i ~ i ~ i ~ i ~ [ ~ i ~ i ~ } ~ ] [ ] i ] ~ } ~ i ~ [ ~ ] ~ ] ~ [ ] ] ~ [ l l l l . . . . I . . . . . . . . . . . . . . . . . . . . l l l l l . . . . . . . . I B I [ I B E . . . . . . . ] l E i l l l l l l l l B ] l l ] l , l l l l l l l l , l l l I I ] ]

Slices of the c-s_rep+.ini for long model and for different q3.

Figure 7 shows the same slices as in Figure 6 but for the c-s_rep+.ini. In this c-space, made with the short model, the mobility of the robot inside the table is much higher and the robot is able to go into the table by using the aperture in the squared region of the slice for q3 = 0°. Then it can turn the third angle to q3 = 22° and orientate the hand to pick up the work piece.

Figure 8 shows the free-spaces of c-s and c-s- in the planes of movement for different values of the sixth joint angle. The axes of the shown slices are the two Cartesian coordinates of the piece in the planes. In each picture the white

274 C. BALAGUER ET AL.

qa = - 9 0 o q~ = - 8 0 °

q6 = " 7 0 ° q~ = - 6 0 *

Fig. 8. Differences in the free-space of the plane of movement computed using the enlarged and short mode] for different q6.

regions represent the free configurations in both c-spaces and the black regions the configurations which are free only in the c-s-. The black regions illustrate as well the reduction of the loss of free-space which is really high in the important area of the table. The robot is not able to get the work piece out of the table with the enlarged model. This fact corresponds with the collision in the crucial position shown in Figure 5.

Table I shows the computational time needed for the c-space calculation for the ASEA IRb 2000 robot in a HP-Apollo 9000/720 workstation and with 4 ° global c-space and 2 ° local c-space resolutions. Table II illustrates the times necessary

Table I. Computational time of the c-spaces (in sec)

Environment c-s_re- c-s_re+ c-s_rep+ c-s- c-s_loc_p Total time

Quasi empty 1.4 1.5 2.0 1.1 0.1 6.1 Normal 52 37 4 10 1 104 Cluttered 55 50 10 60 3 178

GOOD AND RAPID 3D PATH PLANNING OF 6DOF ROBOTS

Table II. Computational time of the path in cluttered environment (in sec)

275

Method Robot model Graph building Path finding Total time

Exact cell Enlarged 0.80 0.61 1.41 Short, long, etc. 0.71 1.31 2.02

Slice Enlarged 1.20 0.11 1.31 Short, long, etc. 1.16 0.43 1.59

Octree Enlarged 3.75 2.20 5.95 Short, long, etc. 10.49 1.30 11.79

i i~il ~i!i~ii ~ ~i ̧ ~̧ ~ ..... i ~ ~' ,!~,~ ~ i ~ i~ ̧ ~ " ~ ' v " ~ ~ i ~ . . . . ~ ~ i~ ̧ ~ ~

i i ~

,~ • ,~•~ , ~ ~ ~ % ~ , ~ , ~ • ~ , ~ : ~ , , ~ . . . . . . ~ ~ ~ , , ~ ~,•" ~ • ~ , ~ , ~ i ~ ~ ~ " ~ ~ • ~ i ~ i ~ "'• ,~ ~ !

. . . . . ~ ~ ..... ~'~ ~' ; ~ ' ~!%~ ~ •~i~FL~ ....... ,~' ~ • . . . . ~i ~ii~~ ~ ' ~ .... ~' ~ ~ ~ ~ • ~ ; ~ ® ~ ~ ,~,~ ~ ~ ~ ~ . . . . . ~ ~ ~ ~ ~ ~ , ~ ~ ~ , ~ i ~ ~ . . . . . ~ ~i~i~,~,~ ~ ' ~ ' . . . . . . ~'~ ~ ~%~

~ , ~ ~ ' ' ~i"~Ji ~ ~ i ~ ii ~ i ~ i ~ i ~ ! ~ i ~" i ~ •

Fig. 9. Animation of the ASEA IRb 2000 robot implementation.

276 C. BALAGUER ET AL.

to build and to find a path in a cluttered environment such as shown in Figure 4. The time for the enlarged model is for the same environment but with smaller front supports to allow the success of the path finding which is impossible with the widen ones. The increase of the calculation time is caused mainly by the graph building and path finding in the plane of movement, which has to check much more free positions for the short model than for the enlarged one. But it is important to note that the increase of the total time is slight in comparison to the high reduction of the loss of free-space in the narrow regions of the environment. Finally, Figure 9 presents the animation of the described pick-and-place task for the ASEA IRb 2000 robot in the mentioned environment.

6. Computational Effort and Memory Requirements

The formally computational effort of the presented algorithm is similar to the one presented by Lozano-P6rez (1987) for 2D environment, but adapted for 3D o n e s :

O(rk-l dmn) (1)

where r is the number of intervals in which the joint range are divided (in our implementation is 360°/4°), k is the number of DOE d is the number of solids faces and edges comparisons (for rectangular polyhedra d = 240), m is the number of robot polyhedra, and n is the number of environment polyhedra. Due the fact that the relationship between tach and tch is in order of three magnitudes (see Section 2), the c-space execution time (that directly depends on the collision check procedure) decreases substantially if the collision checks are discarded, being between the following maximum and minimum magnitudes:

Maximum = (tdch + t~h)(r k-l dmn) (2)

Minimum = tdch(rk-lmn) (3)

The memory requirements for c-space storage directly depends on the used method, but in general it is not very high. In our applications it is about 40- 60 Kbytes (4 ° resolution). For the 3D c-space the formulations of maximum memory requirements are:

Slice = rlr2r32d Regular cell = rl r2r3

Octree = rlT"2v3

(4) (5) (6)

where ri is the resolution of the c-space for /-axis. Note, that in the slice and octree methods the real memory requirements highly depends on the level of occupancy of the environment. Normally the slice and octree memory occupation is lower than the cell one.

GOOD AND RAPID 3D PATH PLANNING OF 6DOF ROBOTS 277

7. Conclusion

The experimental results shown in Section 5 demonstrates that it is possible to find a strategy to solve the pick-and-place task without loosing free-space and in a rapid way. This results were obtained by modelling the robot in the fight way through changes to the model during the different parts of the path.

The developed method is a general one and was applied with success to most of commercial robots like ASEA IRb 2000 and PUMA 560. It was created for the difficuk task of handling very long work pieces in cluttered environments. Its only restriction is that the transport of the work piece is carried out on a plane, but this plane can be chosen freely to correspond to the task of the user. Thus the plane of movement does not reduce the mobility of the robot.

It has not been necessary to widen links of the model although it has never handled more than three DOE For this reduction to three degrees of freedom the on-line calculation time remains low as the time expensive c-space calculation is done off-line.

8. Acknowledgements

This work is part of the EUREKA EU-18 and ESPRIT No. 6450 ROCCO projects and is partially supported by the ERASMUS project. Special thanks are due to J. M. Pastor, H. Amaris and E. Gambao. Without their help it would have been impossible to implement the developed algorithm. Finally, special thanks to L. F. Pefiin for his suggestions and corrections.

References

Amarfs, H., Barrientos, A., Balaguer, C. and Aracil, R.: Path-planning solution on poten- tial field non uniformly distributed, IFAC Symp. Robot Control (SYROCO'91), Vienna (Austria), 1991, pp. 611-616.

Arimoto, S. and Noborio, H.: A 3D closest pair algorithm and its application to robot motion planning, IFAC Syrup. Robot Control (SYROCO'88), Karlsruhe (Germany), 1988, pp. 59.1-59.10.

Balaguer, C. and Martf, A.: Collision free path planning algorithm for mobile robots which moves among unknown environment, IFAC Syrup. Robot Control (SYROCO'88), Karslruhe (Germany), 1988, pp. 66.1-66.6.

Balaguer, C., Rodr{guez, E J., Pastor, J. M., Gambao, E., Aracil, R. and Barrientos, A.: A rule- based selection of C-space representation for rapid 3D robot path planning, 7th IFAC/IFIP Symp. Information Control Problems in Manufacturing Technology (INCOM'92), Toronto (Canada), 1992a, pp. 514-518.

Balaguer, C., Rodr[guez, E J., Pastor, J. M., Gambao, E., Aracil, R. and Barrientos, A.: An adequate robot modelling for rapid and good 3D collision-free path planning, IMACS/SICE Int. Syrup. Robotics, Mechatronics and Manufacturing Systems (RM2S'92), Kobe (Japan), 1992b, pp. 527-532.

Brooks, R. A.: Solving the find-path problem by good representation of free space, IEEE Transaction on Systems, Man, and Cybernetics 13(3) (1983), 190-197.

278 C. BALAGUER ET AL.

Canny, J. E: The complexity of robot motion planning, ACM Doctoral Dissertation Award 1987, The MIT Press Cambridge, MA, 1987.

Kondo, K.: Motion planning with six degrees of freedom by multistrategic bidirectional heuristic free-space enumeration, IEEE Transaction of Robotics and Automation 7(3) (1991).

Lee, D. T. and Drysdale, R. L.: Generalization of Voronoi diagrams in the plane, SIAM J. Computing No. 10 (1981), 73-87.

Lozano-P6rez, T. and Wesley, M.: An algorithm for planning collision free paths among polyhedral obstacles, Comm. ACM 22(10) (1979), 560-570.

Lozano-P6rez, T.: Spatial planning: A configuration space approach, IEEE Trans. Computers CA-32(2) (1983), 108-120.

Lozano-P6rez, T.: A simple motion planning algorithm for general robot manipulators, IEEE J. Robotics and Automation RA-3(3) (1987), 224-238.

Rodr~guez, F. J.: Automatic collision-free robot path planning in 3D environments, PhD Thesis, Polytechnical University of Madrid, Spain, 1993.

Shen, E and Xue, Q.: Intelligent Robotics Planning Systems, World Science Publishing, 1992.


Recommended