Professional Documents
Culture Documents
R. V. Patel
Department of Electrical & Computer
Engineering
University of Western Ontario
London, Ontario, Canada N6A 5B9
F. Shadpey
Bombardier Aerospace
New Commercial Aircraft
2341 Boul Alfred Nobel
Montreal, Quebec, Canada H4S 2A9
F. Ranjbaran
Canadian Space Agency
St. Hubert, Quebec, Canada J3Y 8Y9
J. Angeles
Department of Mechanical Engineering
& Centre for Intelligent Machines
McGill University
Montreal, Quebec, Canada H3A 2A7
Contract grant sponsor: Strategic Technologies in Automation and Robotics 共STEAR兲 Program of the Canadian Space Agency.
Contract grant numbers: 9F006-2-0107/01-SW and 9F006-5-0219/01-SW.
Contract grant sponsor: Natural Sciences and Engineering Research Council 共NSERC兲 of Canada.
Contract grant number: RGPIN-1345.
Journal of Robotic Systems 22(12), 737–757 (2005) © 2005 Wiley Periodicals, Inc.
Published online in Wiley InterScience (www.interscience.wiley.com). • DOI: 10.1002/rob.20096
738 • Journal of Robotic Systems—2005
2. PRIMITIVES-BASED COLLISION
AVOIDANCE
Collision avoidance for stationary and moving ob-
jects is achieved by introducing an appropriate con-
straint as the additional task in the configuration con-
Figure 1. The REDIESTRO manipulator. trol scheme21,22 for redundancy resolution 共see
Appendix A兲. The idea is to model the links of the ma-
nipulator and the objects by primitives such as
spheres and cylinders. The major components of the
would not be appropriate for an arm with a more proposed scheme are outlined below:
complex geometry such as the one used in the re-
search described in this paper. • Collision detection/prediction: For those ob-
A simplified geometrical model for links of in- jects 共sublinks兲 that can potentially collide,
dustrial manipulators relevant to the study of colli- determine the critical distance hij, i.e., the dis-
sions either with each other or with objects in the tance from a critical point of the arm to that
workspace is the cylinder. Also, the cylinder is a very of the object. The critical points associated
appropriate primitive for modeling many objects in with the manipulator and the obstacles are
the workspace such as rods, mesh structures, open- denoted by Pci and Pcj with position vectors pci
ings, etc., without much loss of the available work- and pcj , respectively.
space. • Critical direction detection: For any pair of
In Section 2, we focus on the special cases of critical points Pci and Pcj , determine the critical
sphere-sphere, sphere-cylinder, and cylinder- direction, denoted by uij, a unit vector di-
cylinder collision detection and distance calculations. rected from Pci to Pcj .
Considering the importance of cylinder-cylinder col- • Redundancy resolution: Formulate an addi-
lision detection and also its complexity, a novel tional task and use configuration control to
method of detecting collisions between two cylinders inhibit the motion of the point Pci towards Pcj
using the notion of dual vectors and angles is pre- along uij.
sented. To the best of our knowledge, this is the first
time that this concept has been used in a collision-
avoidance scheme for a redundant manipulator.
REDIESTRO 共see Figure 1 for a photograph兲, an 2.1. Cylinder-Cylinder Collision Detection
isotropic redundant research arm, was selected for In order to determine the relative position of two
experimental verification of the collision avoidance cylinders, first the relative layout of their axes needs
system. Its special architecture, resulting from kine- to be established. The axes of the cylinders being
matic isotropic design objectives,20 represents a chal- directed lines in three-dimensional space, we resort
lenge for any collision-avoidance scheme: It has joint to the notion of line geometry. Specifically, with the
offsets, bends in the links, and actuators that are large aid of dual unit vectors 共or line vectors兲, and the
740 • Journal of Robotic Systems—2005
ê = e + ⑀m, 共2兲
m=p⫻e 共3兲
hj − hi
b i = p i + b ie i, t i = p i + t ie i, h i = p i + h ie i . 共1兲 nij = 共7兲
储hj − hi储
It should be noted that for a given cylinder Ci, the and ñij = nij ⫻ hi = nij ⫻ hj. Hence, Eqs. 共1兲–共7兲 uniquely
scalars bi and ti are known and fixed values. determine the dual angle vij subtended by the two
lines. Three different possibilities for the layout of
two distinct lines Li and Lj exist as explained below:
2.1.1. Review of Line Geometry and Dual Vectors
A brief review of dual numbers, vectors, and their • „A… Nonparallel and Nonintersecting Lines:
operations, relevant to our problem is provided in vij is a proper dual number, i.e., vij ⫽ k, with
this section. A more detailed discussion can be found k = 0 , 1 and hij ⫽ 0.
Patel et al.: A Collision-Avoidance Scheme • 741
• „1… Body-Body Collision: This situation—the • 共A-1兲 If bi 艋 hi 艋 ti and bj 艋 hj 艋 tj, then we have
most likely one—is shown in Figure 3, where a body-body collision, and the critical points
two cylindrical bodies of an object intersect. Pci and Pcj on the axes are Hi and Hj, respec-
tively 共Figure 3兲, with the critical direction be-
• „2… Base-Body Collision: The cylindrical
ing nij.
body of one cylinder collides with one of the
• 共A-2兲 If only one of the points Hi or Hj lies
two circular disks of the other cylinder.
outside of its corresponding cylinder, then
• „3… Base-Base: One of the circular disks of one we may or may not have a collision. How-
cylinder collides with a circular disk of an- ever, if the two cylinders collide, then this has
other cylinder. to be in the form of a base-body collision only
共Figure 4兲. As an example, in order to deter-
共A兲 Cylinders with Nonparallel and Nonintersecting mine the critical points and the critical direc-
Axes: In order to characterize the types of possible tion, we assume that Hi lies inside Ci with Hj
collisions for two cylinders whose major axes are lying outside Cj. The critical point Pcj of Cj will
represented by Li and Lj that are nonparallel and thus be one of the two points Bj or Tj, which-
nonintersecting, the following steps are taken: ever lies closer to Hj. Moreover, the critical
共i兲 First, we need to determine the location of the point Pci of the cylinder Ci is the projection of
points Hi along Li and Hj along Lj, i.e., the feet of the Pcj on Li. If pcj is the position vector of Pcj , we
common normal on the two lines. This can be done will have
by determining the scalars hi and hj, as given below:
pci = pi + 共p̃cj · ei兲ei , 共10兲
whenever the following inequality is satis- Denote by 兵dk其 the set of distances of Bi and Ti to
fied: Bj and Tj, i.e.,
pj − hi
uij = , 共19兲
Figure 10. Cylinder-sphere collision detection. 储pj − hi储
is the distance between the centers of the two prioritized formulation22 of configuration control us-
spheres. If hij ⬎ 共Ri + Rj兲, then there is no risk of colli- ing the weighted least-squares method at the velocity
sion; otherwise, the two spheres are in collision. 共See level 共see Appendix A兲. However, other redundancy
Figure 11.兲 resolution schemes can also be used. The feasibility of
the algorithms is illustrated using a kinematic simu-
lation.
冢 冣
cos i − cos ␣i sin i sin ␣i sin i ai cos i
i
i+1T =
sin i
0
cos ␣i cos i
sin ␣i
− sin ␣i cos i ai sin i
cos ␣i bi
= 冉 i
共 i+1
0T
R兲3⫻3 共 iPi+1兲3⫻1
1
冊 , 共22兲
0 0 0 1
where i = 1 – 7; ␣i, i, bi, and ai are the twist angle, tion are described in this frame. The ith column of
joint angle, offset, and link length respectively. The the Jacobian corresponding to the position of the
Denavit-Hartenberg parameters of REDIESTRO are end-effector in frame 兵1其 is defined by
given in Appendix B. The homogenous transforma-
tion relating frame 8 共end-effector frame兲 to the base
JPe共i兲3⫻1 = 1i Ẑ ⫻ 共 1P8origin − 1Piorigin兲, i=1–7
frame is given by
共24兲
1
8T = 12T 23T ¯ 78T. 共23兲
where 1i Ẑ is the unit vector along the z axis of joint i,
1
3.2. Main Task Tracking P8 is the position of the end-effector, and 1Piorigin is
the position of the origin of the ith frame with re-
The main task is described by the pose 共position and spect to frame 兵1其. The position and the velocity er-
orientation兲 of the end-effector, defined by the posi- rors are given by
tion vector 共 1P8兲3⫻1 and the rotation matrix 共 18R兲3⫻3 of
the transformation matrix 18T. The pose is thus di-
mensionally nonhomogenous and needs different ep = 1Pd8 − 1P8, ėp = 1Ṗd8 − JPeq̇, 共25兲
treatment for the three-dimensional vector repre-
senting the end-effector position from the 3 ⫻ 3 rota- where q̇ is the vector of joint velocities, and the su-
tion matrix representing orientation. Therefore, the perscript d denotes the desired values.
main task is divided into two independent subtasks.
冢 冣 冢 冣
ith column of the Jacobian matrix which relates the 500 0
angular velocity of the end-effector 共 e1兲 to the joint 1 d-final 1
P8 = 500 , Rd-final = 0 1 0 ,
velocity, i.e., e1 = JOeq̇, can be calculated from the fol- 8
e
1 d
ėo = − JOeq̇. 共27兲
The subscript c refers to the additional task
which is not active in the simulation presented in
this section. It should be noted in the following
simulations that redundancy resolution is imple-
3.2.3. Simulation Results mented in closed loop. Hence, the reference veloci-
The performance of redundancy resolution in track- ties are given by
ing the main task trajectories is studied here by com-
puter simulation. The integration step size in the fol-
lowing simulations is 10 ms, and the main task Ṗr = 1Ṗd8 + Kpp共 1Pd8 − 1P8兲, 共31兲
consists of tracking the position and orientation tra-
jectories, generated by linear interpolation between
the initial and final poses. It should be noted that ⍀r = e1⍀d + KpoeO , 共32兲
interpolation of rotations is a much more complex
problem than point interpolation in R苹. Sophisti- where KpP and KpO are the position and orientation
cated algorithms have been proposed in the litera- proportional gains, respectively. In the first simula-
ture for this purpose,26,27 but these are not intended tion, the subtask corresponding to tracking the de-
for real-time implementation. For this reason, we use sired orientation is inactive. Figures 12共a兲 and 12共b兲
simple linear interpolation for both translation and show the position and orientation errors. In the sec-
rotation, which nevertheless leads to satisfactory re- ond simulation only the orientation subtask is active,
sults. The initial and final poses are specified below: and the results are shown in Figures 12共c兲 and 12共d兲.
In this case, no attempt has been made to follow the
position trajectory. The position and orientation er-
冢 冣
61.8
rors are mainly due to the presence of W in the
1 d-initial
P8 = 231.4 , damped least-squares formulation of the redun-
1127.1 dancy resolution.
In the following simulations, both position and
orientation subtasks are active. Figures 13共a兲–13共c兲
冢 冣
show the results of the simulation with small W
0.143 − 0.25 − 0.958
1
共the singularity robustness factor兲. As we can see in
Rd-initial
8 = − 0.93 0.30 − 0.22 , Figure 13共a兲, at some point, the position and orien-
0.339 0.921 − 0.19 tation subtasks are in conflict with each other. This
Patel et al.: A Collision-Avoidance Scheme • 747
causes the whole Jacobian of the main task to ap- to the inverse of the minimum singular value of the
proach a singular configuration where the condition “normalized” Jacobian of the main task. The Jaco-
number of the Jacobian matrix is Condmax = 403. bian matrix is normalized using the concept of char-
Therefore, there is considerable error on both sub- acteristic length28 to resolve the dimensional inhomo-
tasks. Figures 13共d兲–13共f兲 show the simulation result geneity in the matrix due to the presence of
with a larger value of W. This time, the whole Jaco- positioning and orienting tasks. Figure 14 shows the
bian matrix remains relatively far from singularity comparison between these two approaches. As one
共Condmax = 105兲, and the maximum errors are re-
can conclude, the variable-weight formulation
duced significantly. However, in the case that W
shows better performance because W has small val-
= 20I7⫻7, there is considerable error at the end of the
ues far from a singular configuration. Hence, vari-
trajectory. This shows that W should be selected as
small as possible. able weights do not introduce errors on the main
The isotropic design of REDIESTRO reduces the task, and grow appropriately near a singular con-
risk of approaching a singular configuration over a figuration. While the computational complexity of
greater part of the workspace. However, this risk the numerical implementation of the SVD algorithm
cannot be eliminated completely, and the singularity for a 7 DOF arm may not be acceptable for real-time
robustness factor W should either be selected large control, bounds for the singular values of J can be
enough, which introduces errors in the main task, or found by means of bounds on the real, non-negative
be time varying, with diagonal entries proportional eigenvalues of JJT. As shown in Ref. 29, these bounds
748 • Journal of Robotic Systems—2005
Figure 13. Simulation results when both main subtasks are active; left column W = 1I3⫻3, right column W = 20I3⫻3.
can be found quite economically by resorting to the modeled by 14 cylinders in total, the fourth link hav-
Gerschgorin theorem.30 ing the maximum number of four sublinks. The end-
effector and the tool attached to it are enclosed in a
sphere.
3.2.4. Additional Tasks The environment is modeled by spherical and
The following collision avoidance tasks were incor- cylindrical objects. Each obstacle is enclosed in a cy-
porated as additional tasks in the redundancy- lindrical or a spherical surface of influence 共SOI兲.
resolution module: stationary and moving obstacle Note that the dimensions of the SOIs are used in
collision avoidance 共SOCA, MOCA兲, and self- distance calculation, collision detection, and obstacle
collision avoidance 共SCA兲. avoidance modules rather than the actual dimen-
Stationary and Moving Obstacle Collision Avoid- sions of the obstacles.
ance: A photograph of REDIESTRO, with its actual Additional Task Formulation: Let us assume that
links and actuators, is shown in Figure 1, while Fig- after performing the distance calculation, the jth
ure 15 depicts a graphical rendering of the arm with sublink of the ith link of the manipulator—Sij or Cij
each moving element of the arm enclosed in a cylin- depending on the primitive used for modeling—has
drical primitive. The links and the actuator units are the risk of collision with the kth obstacle 共Sk or Ck兲.
Patel et al.: A Collision-Avoidance Scheme • 749
Figure 16. Simulation results for MOCA with fixed weighting factor.
Wc = k 冉 1
−
1
共dc − RO兲2 共SOI − RO兲2
冊
, 共37兲
the Cartesian space level 共including the RR兲 and one
for the low-level joint control. In this way, the kine-
matic simulation 共including RR兲 running on an SGI
where dc is the distance between the critical point on workstation generates the desired joint trajectory and
the link and either the center of the object for a this trajectory is then transferred as the joint set
spherical object or the projection of the critical point points to the VME-bus based controller to drive the
on the axis of the cylinder in the case of a cylindrical robots PID joint controller.
object. RO and SOI are the radii and surface of influ- An obstacle-avoidance system essentially deals
ence of the objects. Figure 17 shows the results of the with a complex environment. There are many limi-
simulation using this formulation, which for the case tations in creating 共modeling兲 a robot’s environment
of k = 0.01 shows successful operation of MOCA, such as space, material, equipment, and financial
with minimum acceleration. limitations. Creating a time-varying environment 共as
in the case of moving obstacles兲 can be even more dif-
ficult. One solution to this problem is online transmis-
sion of a robot’s configuration to a workstation run-
4. EXPERIMENTAL EVALUATION USING A 7 ning a graphics visualization of the arm 共MRS兲. MRS
DOF REDUNDANT MANIPULATOR serves as a virtual environment; the graphics model
of the robot mirrors the motions of the arm, and the
The main objective of these experiments is to dem-
environment can also be modeled in the graphics pro-
onstrate the capability of the redundancy resolution
gram. This approach has two main advantages:
module in performing the main tasks 共position and
orientation tracking兲 while using the extra degrees of • Any complex environment 共including a time-
freedom to fulfill additional tasks 共obstacle and joint varying environment兲 can be modeled with a
limit avoidance兲 for REDIESTRO. The three major desired precision.
modules involved in the hardware experiment are
• The risk of damage to the robot is reduced.
• the redundancy resolution module 共RR兲,
• the robot and its associated control hardware
and software, and
4.1. Experimental Results
• the robot animation software: multi-robot
simulation 共MRS兲 system.31,32 Three different scenarios were selected to verify the
performance of the obstacle-avoidance based
In order to distinguish between the performance redundancy-resolution scheme in executing the fol-
of the robot controller and the redundancy-resolution lowing tasks: position tracking, orientation tracking,
scheme, two separate control loops are used, one at stationary and moving obstacle collision avoidance,
Patel et al.: A Collision-Avoidance Scheme • 751
Figure 17. MOCA simulation results for the time-varying weighting factor.
and self-collision avoidance. In each of these sce- curately positioned in the workspace. However, the
narios, one or multiple features were active at differ- moving object used in the second scenario was not
ent instants of execution. The sequence of steps in constructed; instead, the performance of the collision
each case was as follows: avoidance algorithm was observed using the virtual
models of the arm and the object in MRS. In order to
1. Generate the joint trajectory using the redun- illustrate the experimental results of the collision
dancy resolution and obstacle-avoidance avoidance maneuver, the pose data captured from
simulation. actual experiments were fed into MRS’s 3-D graph-
2. Verify the result using MRS 共e.g., are the ob- ics based kinematic simulation of REDIESTRO.
stacles avoided?兲. Snapshots obtained from this graphics animation are
3. Adjust parameters and repeat step 2 if nec- shown in Figures 18, 20, and 22.
essary.
4. Position the stationary obstacles in the work-
space. 4.2. Case 1: Collision Avoidance with Stationary
5. Use the command trajectory to run the robot. Spherical Objects
6. Record the joint history for further analysis
In this scenario, the end-effector was commanded to
Remark: For demonstration purposes, the sta- move from its initial position to a final desired posi-
tionary obstacles were built using styrofoam and ac- tion: There were two stationary objects to be avoided
752 • Journal of Robotic Systems—2005
Figure 19. Experimental results: case 1 共a兲 joint 1 共degrees兲, 共b兲 derivative of the joint set-point command, and 共c兲
derivative of joint trajectory.
Figure 21. Experimental results: Case 2 共a兲 joint 2 共degrees兲 and 共b兲 joint 3 共degrees兲.
Patel et al.: A Collision-Avoidance Scheme • 755
6. APPENDIX A: CONFIGURATION
CONTROL
The implementation of the collision-avoidance strat-
egy described in this paper is based on a singularity-
robust and task prioritized formulation of configura-
tion control.22
For a robot with r extra degrees of freedom, un-
der configuration control, the pose vector X is aug-
mented by the k ⫻ 1 additional task vector Z, and the
augmented 共m + k兲 ⫻ 1 task vector is defined by YT
= 关XT , ZT兴. The differential augmented kinematic re-
lations are given by
TY = 冉 冊
TX
TZ
= JAq̇, 共A1兲
task prioritization in configuration control of redun- manipulators, 22nd ASME Biennial Mechanisms Con-
dant robots, 29th IEEE Conference on Decision and ference, Scottsdale, AZ, September 13–16, 1992, vol. 45,
Control, 1990, pp. 3089–3095. pp. 203–208.
23. J. Angeles, The application of dual algebra to kine- 29. C.-P. Teng and J. Angeles, A sequential-quadratic pro-
matic analysis, in Computational methods in mechani- gramming algorithm using orthogonal decomposition
cal systems, J. Angeles and E. Zakhariev 共Editors兲, with Gerschgorin stabilization, ASME J. Mech. Des.
Springer-Verlag, Heidelberg, 1998, vol. 161, pp. 3–31. 123 共2001兲, pp. 501–509.
24. H. Seraji, Configuration control of redundant manipu- 30. R.S. Varga, Matrix iterative analysis, Springer-Verlag,
lators: theory and implementation, IEEE Trans. Rob. New York, 2000.
Autom. 5 共1989兲, 472–490. 31. F. Shadpey, M. Noorhosseini, I. Bryson, and R.V. Patel,
25. J.Y.S. Luh, M.W. Walker, and R.P.C. Paul, Resolved-
An integrated robotic development environment for
acceleration of mechanical manipulators, IEEE Trans.
task planning and obstacle avoidance, Third European
Autom. Control AC-25:共3兲 共1980兲, 468–474.
26. K. Shoemake, Animating rotation with quaternion Conf on Eng System Design and Analysis 共ASME兲,
curves, ACM Siggraph 19:共3兲 共1985兲, 245–254. Montpellier, France, July 1996.
27. Q.J. Ge, An inverse design algorithm for a G2 interpo- 32. I. Bryson and R.V. Patel, A modular software architec-
lating spline motion, in Advances in robot kinematics ture for robotic simulation and visualization, 31st Int
and computational geometry, J. Lenarcic and B. Ravani Symp on Robotics 共ISR2000兲, Montreal, Canada, May
共Editors兲, Kluwer Academic Press, Dordrecht, 1994, 2000.
pp. 81–90. 33. J. Angeles, Fundamentals of robotic mechanical sys-
28. M. Tandirci, J. Angeles, and F. Ranjbaran, The charac- tems: theory, methods, and algorithms, 2nd ed.,
teristic point and the characteristic length of robotic Springer-Verlag, New York, 2002.