Professional Documents
Culture Documents
IEEE,
I. INTRODUCTION
ADVANCEDCONTROLofrobot
manipulators,
FOR
necessary capabilities are offline programming of the end
effector path and control in terms of Cartesian coordinates.
Although control of Cartesian trajectory of the end effector is a
basic requirement for many industrial applications, most robot
manipulators lack this ability.
The inverse kinematics control of a robot manipulator
requires the transformationofend
effector Cartesian task
space coordinates into corresponding joint configuration space
coordinates. The common approachfor solving this problem is
to obtain a closed-form solution to the inverse transformation
[l]. However, only certain classes of robots (e.g., spherical
wrist manipulators, such as thePUMA560
robot) allow
closed-form inverse kinematics solutions. The problem becomes more critical for kinematically redundant robots, for
which the number of degrees of freedom (DOF) exceeds the
required six coordinates necessary to attain arbitrary locations
in the three-dimensional work space [2], [4].
A second approach for solving the inverse transformation
problemof n DOF robots is basedontheuseof
iterative
procedures for solving a system of nonlinear equations [3],
[6]. Alternatively, the kinematicsmodel of the
manipulatorcan be divided into subsystemssuch that an
iterative procedure can be applied to determine some of the
joint variables, while the other variables are obtainedbya
closed-form solution
[8]. Themethodpresented herein
.OO
Authorized licensd use limted to: IE Xplore. Downlade on May 10,2 at 18:570 UTC from IE Xplore. Restricon aply.
0 1985 IEEE
GOLDENBERG et
15
r,= 1/2(a"
re= 1/2(na a t - n t
r$=1/2(oa
n f - o f n3
(7)
r=@Jyrzr,ror$)
(3)
nt),
where
(-(na
For a set of
sin r,+
y
Authorized licensd use limted to: IE Xplore. Downlade on May 10,2 at 18:570 UTC from IE Xplore. Restricon aply.
cos r,),
cos r,)]
andvectorwhich
is chosen to beorthogonal to
is determined using the Gram-Schmidt orthogonalization process, so that
16
IEEE JOURNAL OF ROBOTICS AND AUTOMATION, VOL. RA-I, NO. 1 , MARCH 1985
[13](k)(6('))=0, l ~ k - i ~ n .
Following the determination of the Jacobian matrix, the next
task is to invert it for solving (IO).
min Z = f ( q )
B. Inverse of the Jacobian
andtheoptimumcanbedeterminedusing
an (n
6)
Case I: For manipulator arms with n 6 DOF, the (6
dimensional
optimization
routine.
n) Jacobian matrixis nonsquare, so that an inverse can be only
obtained using generalized inverses [17] as follows
B. Constraints
G=[Jl+=([J1T[4)-1[Jl=
(15)
The system of nonlinear equations (8), r
r ( q ) ,is always
subject
to
constraints
imposed
on
the
solution
such as
The inverse J + is unique, minimizes the Euclideannorm of
and satisfies the following relations [I71
JJ+
JJf
J)T=
JJ+
J+
(22)
(164
J+
16b)
(J+
17a)
(JJ+)T=
17b)
Case
For manipulator arms with n
6 DOF, the
Jacobianmatrix is squareanditcan
be inverted if it is
nonsingular. Then J +
J - (the ordinary inverse) in (15).
Case 3: For kinematicallyredundant robots with n
6
DOF, the (6 n) Jacobian matrix is nonsquare andits inverse
canbeobtainedusingpseudoinverses
[4]. Although, the
pseudoinverseof the (6
n) Jacobian matrix, n
6, can
easily be obtained, it can only beused if the objective function
is the minimum Euclidean norm. For more general objective
functions a newtype of Jacobian inversion technique is
presented in the next section.
IV. SOLUTION TO THE INVERSE KINEMATICS
where and
are the lower and upper limits on the joint
variable displacements qi, i
n.
In general, for Newton-Raphson methods, when the generalized inverse is used to obtain the inverse Jacobian matrix, no
control is exercised on the computed correction vector
at
iteration step k. It is possible, that q(k+l)
determined from
(9)doesnot satisfy (22) and the algorithmconverges to a
(nonfeasible) solution outside the permissible joint ranges of
the robot (outside the work space). Under such circumstances
there may betwo strategies to preventconvergence to a
nonfeasible solution: 1) Check the solution q ( k + lagainst
)
the
limits and correct those variable values to their nearest limit
which are out-of-range, or 2) Reduce the step size of NewtonRaphson iteration, 6 ~ ~ ( ~if) al ljoint
, exceeds its limits. This
strategy will be discussed in detail in Section IV-C.
For the modified Newton's method presented inSection IVA, for n
6 , joint limits on the free variables,
are
determinedfrom constraints equation (22) specified for all
joints prior to every algorithm step. Let qi@)be the current
value of the ith joint variable. Then, using (19) and (22), the
constraints become
17
j= I
G(q("
2G(q("))<0
X=O
where
(31 )
([JJT[~+y(k)[ll)q(k)+[JJT(r(q(k)))=O
(32)
where
is a positive number.
A common strategy to both methods is to retain direction,
but to restrict step length if necessary. If (28) is satisfied, the
full Newton-Raphson correction 6NR(k)is maintainedby
setting X(")
1 in (27) and d k )
0 in (32).
Asmentionedin Section IV-B, step size control canbe
effectively used to prevent nonfeasible solutions. If sucha
situation is encounteredduringthe iterative procedure, the
step size is restricted using a newalgorithmpresented
in
Section IV-D
It is noticed that the iterative procedure of the LevenbergMarquardt method (see Appendix 11) [20] is a least squares
solution, and can not be easily applied for n
6 DOF robots
if the modified Newton's method of Section IV-A is used. On
the other hand, the step size restriction procedure using (27),
as it will be explained inSection IV-D, is moresuitable for the
newalgorithmof
Section IV-A, since the correction
is
restricted only after the full Newton-Raphson correction
6NR(k)
is computed.
[Jl
b)determine the correction vector BNR(Q
(see
(10)).
Case 2 (for n
6 DOF):
a) partition the Jacobian matrix into [ J R ]and [ P I (see
18))
b) determine the constants
and [b] (see (20))
c)determine the feasible domainof the free variables
(see (23)-(26))
for agiven
d) determine an optimal solution
objective function (see (21))
e) determine the optimal correction vector tSNR@) (see
(19)).
Step 4: Checkif
minimum using
G(q(k92tIlg'k'll
where t: is usually set to anoverestimate of the distance
to
the solution [22].If (34)holds, i.e., there is convergence to
a local minimum, then terminate the process, else proceed to
the next step.
Step Restrict the step size by the following procedure, if
necessary.
1 ) If
SACk)
(35)
and
then set
(k)f 6NR,(k)
(37)
18
IEEE JOURNAL OF ROBOTICS AND AUTOMATION, VOL. RA-I, NO. 1, MARCH 1985
TABLE
(38)
KINEMATIC VARIABLES
=A(k).
(39)
Maximum Velocity
(1 /s)
Maximum Acceleration
Lower Limit
(rad)
Upper Limit
(rad)
Mid-Range
(rad)
10
10
10
10
10
25
25
25
(9)
Step
(AB;)
A42
(41)
M~
0.522 -0.467
0.047
-0.821
0.883
-0.232
0.000
0.000
T7@)
T7(')
0.207
0.943
-0.292
0.894
-0.160 -0.395
0.000
0.000
0.714 1.688
0.569 0.373
-0.408 2.347
0.000 1.000
0.261
0.352
0.899
o.Oo0
2.231
0.749
1.923
1.000
where
M I max [7;(Aei); i=
(446) 71
Authorized licensd use limted to: IE Xplore. Downlade on May 10,2 at 18:570 UTC from IE Xplore. Restricon aply.
(48)
0.5
DSTEP 0.00001DMAX
20.0
(42)
(43)
VI. CONCLUSIONS
(44)
eiM)2
i= I
A(o)= 0.9967
x.(e;7
where E
(47)
i= I
(45)
19
ROBOTS
Compute
I ) ( Y ( ~ - ~ ) ) and
from (29) as
follows:
THE MANIPULATOR JACOBIAN
a) If G(k+l)(y(k-I)/E)
5
let
Each column ofthe manipulator Jacobian matrix[qcan be
b) If G(k+l)/(y(k-l)/E)
and G(k+l)(y(k-l))5
obtained from aT,/dO;. In order to determine the columns of
let
the (6
n ) Jacobian matrix with respect to the end effector
3) Solve (A8) for the normalized correction vector
frame, the
T,, i
n transformations have to be
developed as follows
([Jp+
(A81
APPENDIX I
i-lTn=(AiAi+l
A,),
j=l,
, n
(A9)
The constant
is selected in order to satisfy inequality (28).
The normalization procedure is sometimes referred as scaling and widely used in
linear least squares problemsas a way
of improving the performance of an algorithm [20], [23].
REFERENCES
[l] R. P. Paul, B. Shimano, and G. E. Mayer, Kinematic control
6j=n,i+o,j+azk
and if the joint is prismaic
dj=nzi+ozj+azk
6;=Oi+Oj+Ok
where n,
645)
T,
APPENDIX 11
THE LEVENBERG-MARQUARDT ITERATIVE
PROCEDURE
The algorithmof
the Levenberg-Marquardtprocedure
given by (31)-(32) solves the nonlinear set of equations (3)
r=
(3
1)
where
r]
([J1T[JJ+y(k)[11)r](k)+[JJT(r(q(k)))=O.O.
(32)
047)
2) Determine d k ) as follows.
Let
1.0, and
denote the valueof
previous iteration; initially let v(O)
2.
Authorized licensd use limted to: IE Xplore. Downlade on May 10,2 at 18:570 UTC from IE Xplore. Restricon aply.
v from the
IEEE JOURNAL OF ROBOTICS AND AUTOMATION, VOL. RA-I, NO. 1, MARCH 1985
D. W. Marquardt, An algorithm for least-squares estimation ofnonlinear parameters, J. Soc. Zndust. Appl. Math., vol. 11, no. 2, pp.
431-441,1963.
K. Levenberg, A method for thesolution of certain non-linear
problems in least squares, Quart. Appl. Math., no. 2, pp. 164-168,
1944.
P. Rabinowitz, Numerical Methods for Non-linear AlgebraicEquations. New York:Gordon and Breach, 1970, pp.115-161.
J. More, et al., User guide for Minpack-I. Argonne, IL: krgonne
National Laboratory, 1980.
Y . Oh, D. Orin, and M. Bech, An inverse kinematic solution for
kinematically redundant robot manipulators, J. Robot. Syst., vol. 1,
no. 3, pp. 235-249, 1984.
Authorized licensd use limted to: IE Xplore. Downlade on May 10,2 at 18:570 UTC from IE Xplore. Restricon aply.