Copyright ® IFAC Robot Control. Vienna, Austria, 2000
SIMULATION OF ROBOT MOTIONS BY KINEMATIC CONFIGURATION CONTROL
Steran AIrs, Oleg Ivlev, Axel Graeser
Institute ofAutomation (lA T) Faculty of Electrical Engineering, University of Bremen Kufsteiner Str., NW1, D-28359 Bremen, Germany Email: {alfs.oivlev}@iat.uni-bremen.de Tel: +49 (0)4212183217; Fax: +49 (0)4212184596
Abstract: The kinematic configuration control technology bases on a new approach for redundancy resolution. The approach allows to obtain a closed-form solution of the inverse kinematics for redundant robots with regular kinematic chains, as for common nonredundant industrial robots. The off-line evaluated inverse functions need low online computing power and allow to perform local real-time robot motion control in environments with obstacles. Computer simulations of robot motions resulting from the kinematic configuration control are presented by example of a redundant 7 DoF manipulator. Copyright © 2000 IFAC Keywords: Robot kinematics, redundant manipulators, configuration control, obstacle avoidance, simulation.
DeMers and Kreutz-Delgado, 1997). The joint coordinates needed in the control algorithm for the exact following of the desired end-effector trajectory have then to be found via numerical integration. Alternatively to this indirect techniques the direct methods provide the desired end-effector trajectory with inverse kinematic functions in terms of the joint variables. This schema, called kinematic control, is mostly used for con-ventional nonredundant manipulators because of its accuracy and low computing time needed for the numerical evaluation of the inverse functions. For that reason some attempts to solve the inverse kinematics in a closedform have also been undertaken for redundant robots (Wampler, 1987; Chang, 1987). The main difficulty at this is to specify fitting additional equations (constraints) in order to utilise the redundancy. Most of the existing solutions have a functional-closed form, in which the inverse functions contain redundant variables. The users have to specify task-
I. INTRODUCTION Redundant robots with more degrees of freedom (DoF) than are required to reach a desired location (position and orientation) of the end-effector have the ability to perform their work more dexterously than nonredundant ones. The "extra" DoF can be used advantageously for the execution of additional tasks, e.g. collision avoidance, joint limit avoidance, or energy optimisation (Klein, 1984; Yoshikawa 1984). The kinematics of this kind of mechanisms is described by an underdefined system of nonlinear equations. Hence, the motion control system has to be complemented by an algorithm for redundancy resolving or, in other words, an algorithm for configuration control. Most of the approaches for solving redundancy mentioned in literature are based on the local resolution of redundancy at the velocity level by means of the manipulator's lacobian matrix. An overview can be found in (Siciliano, 1990;
557
1--
dependent constraints manually in order to utilise the redundancy and to realise the configuration control (Seraji , 1989).
Joint k
i ;·······- \ ./~Oint k+J
X
In (lvlev and Graeser, 1997) a new analytical approach to resolve redundancy has been proposed. For redundant manipulators with regular kinematic chains, which only contain joints with parallel and/or perpendicular axes, the approach allows to obtain a closed-form solution of the inverse kinematics, as for common nonredundant industrial robots. Based on this solution, the highly efficient control algorithm called kinematic configuration control (KCC) has been developed . The KCC computes several configurations out of the redundancy manifold of the robot arm and selects an appropriate configuration by means of suitable selection criteria. Thus, the robot motions can be adapted to specific tasks and surroundings, e.g. joint limit avoidance, energy optimisation, or collision avoidance in a congested workspace.
RAk~\ Rk y
,!
I r i Oin! k-J
X Fig . I. Extended kinematic chain with imaginary link and virtual anchor point. These equations define the arrangement of redundant joints in Cartesian space with respect to some specified points R"' k in Cartesian Space (see Figure I ). Due to the simple form of the additional equations, it is possible to derive a closed analytical solution for robots with regular geometry:
The paper is organised as follows. Section 2 provides a brief summary of the main idea of the kinematic configuration control. In Section 3 the simulation tool for the three-dimensional examinations of robot motion resulting from kinematic configuration control is described . First results of a simulationbased KCC application are given in Section 4. Finally, Section 5 summarises the paper, draws some conclusions and takes a look at future developments.
(4) In addition to the desired gripper location ,g, the extended inverse functions i. now contain a set of independent parameters A = {A.d and 9t = {RA;}' The parameters A., are considered as lengths of imaginary links, each with nonactuated spherical joints at both ends . These links connect the redundant joints with virtual anchor points placed at Cartesian points RA;' The values of the parameters have to be chosen with respect to the inseparability conditions of the new virtual kinematic and the desired motion task of the robot.
'.j
2. KINEMATIC CONFIGURATION CONTROL SCHEME The forward kinematics for an open kinematic chain is given by the vector equation
For an arbitrary redundant robot various virtual kinematic structures can be built and consequently various extended inverse functions (4) can be obtained. As a practically useful example the extended inverse functions for a 7 DoF robot arm haven been presented in (lvlev and Graeser, 1998).
(I) which describes the nonlinear relationship between the n-dimensional vector q representing joint variables, and the s-dimensional vector g representing the location of the end-effector in the workspace . In classical industrial robotics, where n = s (in 3D Cartesian space IR J usually s = 6) , the equation system (I) can be solved in a closed form
In order to apply the imaginary links approach systematically to the control of various redundant robots, a kinematic configuration control algorithm has been integrated into robot simulator (Alfs, et aI. , 1999). During robot motions along arbitrary trajectories the KCC successively calculates suitable robot configurations for given gripper locations and transfers them to the manipulator. At this it is assumed that the robot has low-level joint servoloops capable of closely tracking the calculated configurations while the KCC just focuses on kinematic control. The architecture of the KCC is shown in Figure 2.
(2)
In the case of redundant kinematics (n > s) , the equation system (I) is underdefined and has an infinite number of solutions. An appropriate solution can be obtained using the method of imaginary links (h'lev and Graeser, 1997). In this approach the redundancy problem is solved by complementing the equation system (I) with r = n - s additional scalar equations of the type
The KCC Kinematics Kinematics calculation
(3)
558
is divided into the modules Inverse and Configuration Selection. The Inverse module contains several functions for the of possible robot configurations which
] Trajectory Generator
3. SIMULATION OF ROBOT MOTIONS
g(t)
+
KCC
.. ~
A proper simulation tool has been developed in order to examine three-dimensional robot motions resulting from the use of the KCC (Alfs, et al., 1999). The simulator administrates a robot and an environment model which the KCC can be applied to. As usual, the robot model is structured as an arbitrary open kinematic chain of links where each link is described by the definition of Denavit and Hartenberg. The shapes of the links and the environmental objects , are modelled as the union of convex bodies, e.g. cubes, cylinders , spheres, or any convex polyhedra. The geometrical information of these bodies is used for distance computation and collision detection, as well as for the tree-dimensional visualisation of the corresponding objects in the virtual workspace. Distances between robot and environmental bodies are calculated quickly by the use of the GJK algorithm and a hierarchical representation of bounding volumes (Gilbert, et al., 1988 ; Henrich, et al., 1997). The three-dimensional graph of the current simulation scene is realised by the help of the graphics standard OpenGL of Silicon Graphics . For more detailed off-line analysis the simulation results are written in a file and can be edited by external programs.
Inverse Kinematics Inverse I] Functions 1
-
J q(t)}
. { ~}
Configuration Selection
~ Criterion 11
~
H
Environmental] Information
Forward Kinematics
flq )
Irq(t) q(t-r)
, I IRobot Arm ,
q(t-r)
Fig. 2. Architecture of the Kinematic 5:'.onfiguration 5:'.ontroller (KCC) reach the desired Cartesian locations of the endeffector. Particularly the extended inverse functions are part of this module. Before starting a control process, the user has to determine which algorithm to use for the inverse kinematics of the actual robot. Thus the application and comparison of several algorithms can be performed easily. The KCC operates in two different modes: On the one hand the specific parameters of the inverse functions like anchor points or lengths of imaginary links are calculated automatically by means of suitable algorithms (see Section 4). This allows the execution of continuous robot movements without interventions of the user. On the other hand the controller parameters may be defined by the operator at the beginning of a new control process. This mode is intended for the simulation-based analysis of particular results of the inverse kinematics and configuration selection.
In order to simulate and observe the effects of the kinematic configuration control on robot motions, the gripper is moved along a given (fixed) Cartesian trajectory. This trajectory is supposed to be generated by a high-level path planning system or by a human operator in teleoperation mode. At present the trajectories are generated by user input where the user has to decide whether to enter the whole trajectory online in teleoperation mode or to record single locations off-line. In the case of off-line input, the trajectory's intermediate locations are calculated by linear or spline interpolation of the given locations. The user input is made by means of a Polhemus ISOTRACK II sensor or a Magel\an SPACEMOUSE (Hirzinger, 1997). Both devices enable the control of up to six DoF simultaneously. For this reason they are well-known in the fields of teleoperation and 3D computer graphics.
Generally the inverse functions yield no unique solution , but a set of possible robot configurations. In the module Configuration Selection one of these configurations is selected with regard to user-defined selection criteria, e.g. minimum changes in joint angles or maximum distance to obstacles. As a result of considering robot and environmental information, these selection criteria can be usefully applied to adapt the robot motion to specific tasks and surroundings , for instance joint limit avoidance, energy optimisation or collision avoidance in a congested workspace. The environmental information is supposed to be supplied by local sensors and/or a global model of the environment.
4. EXPERIMENTAL RESULTS OF A KCC APPLICATION For first simulation-based examinations the KCC is applied to a practically relevant redundant robot arm with 7 DoF. The arm is composed of a succession of roll and pitch joints. The analytical solution of the corresponding inverse kinematics based on the imaginary links approach has been described extensively in (lvlev and Graeser, 1998). The only imaginary link is connected to the fourth joint of the robot and to the virtual anchor point Ak . In order to obtain smooth robot motions, the anchor point is
559
placed at the position of the fourth joint during the last control cycle. The nature of the kinematic configuration control largely depends on the selection of the length }. of the imaginary link. The redundancy curve of this kind of robot is a circle, i.e. the result of the intersection of two spheres centred in the 2 nd and 6 th joint (link Band C according to Figure 3). The admissible interval [Amin, }'"T11ax] of the imaginary links length connecting the anchor point and the redundancy circle can be computed as real roots of the 4th degree polynomial in A. With Am," from the robot self-motions just one possible configuration for the desired gripper location is dete~ined. In this case a robot motion with smallest changes in joint angles will be carried out. Larger lengths
location k f /
Fig. 3. Redundancy resolution ofa 7 DoF robot. obstacle-avoiding robot motion, the robot configuration with the smallest potential is selected by the corresponding criterion within the KCC.
(5)
Figure 4 shows two robot motions along a fixed trajectory in free space. By the use of }'"T11in a motion with minimal changes in joint coordinates is realised (Figure 4a). The experiments showed that the control algorithm is very fast. On a common PC equipped with a 200 MHz Intel Pentium-II microprocessor the calculation of the inverse kinematics takes about 0.5 ms in each control cycle.
cause two solutions for the inverse kinematics. To adapt the robot motion to a specific task, one of these configurations has to be selected by means of a suitable criterion. For example, selecting the configuration with the largest distance to obstacles will result in an obstacle-avoiding robot motion. In order to consider multiple obstacles at once, the artificial potential field method (Khatib, 1986) is applied to the configuration selection process. Every obstacle generates an artificial potential field, whose strength diminishes with the square of the Cartesian distance from the obstacle. The potential at the position of each robot link results from the superposition of all potential fields, which are generated by the relevant obstacles in the workspace. Furthermore, the potential of each robot configuration is given by the sum of the single potentials of its associated links. In order to achieve an
After adding two obstacles to the workspace, setting the length of the imaginary link to Ac > Amin. and applying the potential field criterion to the configuration selection, a collision-avoiding robot motion results from configuration control (Figure 4b). At this time a control cycle takes approximately 50 ms due to the expensive calculation of the distances between the robot and environmental bodies. The computing time for the distance
a) motion in workspace without obstacles
,~: \.
o~
' 1 \ ---
\
\, I.
b) motion in workspace with two obstacles
fJ -.• -
°
_. - -1- - ,
\\--
----'---
,"
Fig. 4. Configuration control along a fixed trajectory in workspace without (a) and with (b) obstacles. ~
~
560
-,
0~:
- --. \
"-
.-..::0
\
i',:~ ~~·~~:r . ,:~;?::~= ..;"...-...
Fig. 5. A 7 DoF robot arm reaches safely along a given trajectory into a truss opening .. calculation increases with the number of obstacles, but it may be reduced by parallel computation (Henrich, et al., 1997). With this, local real-time robot motion control should be feasible for environments with a limited number of obstacles.
Although collision avoidance has been achieved for some complex tasks, there are certain situations in which the KCC fails to perform a collision-free configuration control. Figure 6 shows a simple example where the robot gripper has to be moved on a straight line behind a cubic obstacle. A collisionfree robot motion will only be guaranteed, if the target location is reached with a configuration like qd, where the robot's "elbow" (i .e. the 4th joint) is located above the upper edge of the obstacle. During motion execution the configuration selection of the KCC has to cause a self-motion of the robot's elbow upwards along the redundancy circle in order to obtain a configuration like qd. In this example such a motion can not be achieved using the potential field selection criterion which only considers local distance information. Due to the obstacle's shape and the actual robot pose the distance dmin .1 between the robot's elbow joint and the upper left corner of the obstacle will get smaller if the elbow is moved upwards. In this case the corresponding potential will increase. Therefore the KCC does not select a configuration that moves the elbow into the "right" direction. Instead, the elbow is stuck in a local minimum of the potential field selection criterion and the robot finally collides with the obstacle (configuration qeo)'
Figure 5 shows an application of the collision avoidance control scheme to a more complex task. The robot arm reaches safely into a truss opening and manoeuvres in constricted workspace behind the truss. This task is similar to that one described in (Glass, et al., 1995). A practical example for this configuration control task may be the collision-free industrial welding process inside a car shell.
The specified criterion for the configuration selection just considers local information. For this reason the KCC's ability to perform a collision-avoiding motion control largely depends on the shape of the environmental objects and their arrangement with reference to the robot. In order to prevent "deadlock" situations , some kind of global planning system has to be integrated into the KCC. This global planning stage has to find out the "right" direction for a selfmotion of the robot's elbow. Such a global plan may be developed basing on a digital approximation to the
Fig. 6. Due to a local minimum of the potential field the robot collides with the obstacle.
561
Gilbert, E.G., D. W. lohnson and S.S. Keerthi (1988). A Fast Procedure for Computing Complex Objects in Three-Dimensional Space. IEEE Journal of Robotics and Automation, Vol. 4, No. 2, pp . 193-203. Glass , K., R. Colbaugh, D. Lim and H. Seraji (1995). Real-Time Collision Avoidance for Redundant Manipulators. IEEE Transactions on Robotics and Automation, Vol. 11, No. 3, pp. 448-457 Henrich, D., S. Gontermann and H. Woern (1997). SchnelIe KolIisionserkennung durch paralelIe Autonome Mobile Abstandsberechnung. Systeme, pp. 131-152. Springer-VerJag. Hirzinger, G. (1997). Towards a new Robot Generation. Proc. Of the Third ECPD International Conference on advanced Robots, Intelligent Automation and Active Systems, pp. 2-18 . Ivlev, O. and A. Graeser (1998) . Resolving Redundancy of Series Kinematic Chains through Imaginary Links . CESA98 IMACS Multiconference: Computational Engineering in Systems Applications, pp. 477-482. Ivlev , O . and A. Graeser (1997) . An Analytical Method for the Inverse Kinematics of Redundant Robots. Proc. of the Third ECPD International Conference on advanced Robots. Intelligent Automation and Active 5.vstems, pp. 416-421. Khatib, O. (1986). Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. The International Journal of Robotics Research, Vol. S, No. I, pp. 90-98. Klein, CA. (1984). Use of Redundancy in the Design of Robotic Systems. Proc. of the 2nd International Symposium of Robotics Research, pp. 207-214. MIT Press Qin, C, S. Cameron and A. McLean (1995). Towards Efficient Motion Planning for Manipulators with Complex Geometry. In: Proc. IEEE Int. Symp. Assembly and Task Planning, pp. 207212. Pittsburgh. Seraji, H. (1989). Configuration Control of Manipulators : Theory and Implementation. IEEE Trans. on Robotics and Automation, Vol. S, No.4, pp. 472-490. Siciliano, B. (1990). Kinematic control of redundant robot manipulators : a tutorial. Journal of Intelligent and Robotic Systems., Vol. 3, pp. 201-212. Wampler, CW. (1987). Inverse Kinematic Functions for Redundant Manipulators. Proc. IEEE Int. Con/ on Robotics and Automation, pp. 610 617. Raleigh, NC Yoshikawa, T. (1984). Analysis and Control of Robot Manipulators with Redundancy. Robotics Research: The First International Symposium , pp. 735-747. MIT Press 1984.
Generalised Voronoi Diagram (GVD) which has been described in (Qin, 1995). Alternatively a useful global plan should be provided by a human operator in teleoperation mode.
5. FUTURE DEVELOPMENTS AND CONCLUSION The paper presents a new efficient scheme for realtime motion control of redundant robots in congested workspaces. The Kinematic Configuration Control approach is based on the exact closed-form solution of the inverse kinematics for redundant manipulators with parallel and/or perpendicular joint axes. The algorithm has low online computational costs almost independent of the degree of redundancy and, therefore, it can be implemented on inexpensive standard personal computer even for multi-redundant robotic systems. Simulation results of a KCC application to a 7 DoF manipulator have been presented which have proved the KCC's ability to take advantage of the robot's redundancy in order to perform collision-free motions along given trajectories. However, the results also showed that the configuration selection can easily be deceived by local minima of the selection criteria. For this reason, the KCC has to be enhanced with global planning information. This information is supposed to be provided by a high-level planning system or by a teleoperation system. The future work focuses on the development of such systems as well as on the application of the KCC to manipulators with a higher degree of redundancy (e.g. robots with 10, 13, and more DoF).
6. ACKNOWLEDGEMENT
This work is supported by the DFG - Deutsche Forschungsgemeinschaft (German National Research Foundation).
REFERENCES Alfs, S. , O. Ivlev, C Martens and A.Graeser (1999) Simulation Tool for Kinematic Configuration Control Technology for Dexterous Robots. Proc. of IECON99: A Total Networked Indusu:l' Environment , Vol. 1, pp. 430-435. San
lose . Chang, P.H. (1987). A Closed-Form Solution for Inverse Kinematics of Robot Manipulators with Redundancy. IEEE Transactions on Robotics and Automation, Vol. RA-3, No.S, pp. 393-403. DeMers, D. and K. Kreutz-Delgado (1997). Inverse Kinematics of Dexterous Manipulators. In: Neural Systems for Robotics (0. Omidvar and P. Smagt (Ed», pp. 75-116. Akademic Press.
562