Robotics & Computer-Integrated Manufacturing, Vol. 8, No. 3, pp. 181-185, 1991
0736-5845/91 $3.00 + 0.00 © 1991 Pergamon Press pie
Printed in Great Britain
•
Paper NEW APPROACH TO THE APPLICATION OF R E D U N D A N T ROBOTS VELJKO POTKONJAK Electrical Engineering Faculty--Belgrade, Bulevar Revolucije 73, 11000 Belgrade, Yugoslavia
The problem of a heavy robot performing highly accelerated motion is discussed. Since the original six degree of freedom configuration could not solve the task, a suitable redundancy was added to improve the acceleration capabilities. This redundant configuration equipped with the DPS (distributed positioning system) software was able to perform the motion required. The theoretical background and simulation results are presented.
solution of this problem is based on the D P (distributed positioning) concept. 1 Let us explain the idea. A redundant robot consists of the basic configuration (standard nonredundant mechanism) and low inertial redundant joints. The required motion of the end effector is smoothed to a degree which allows the basic configuration to perform it. The resting component consists of small and fast oscillations around this smooth motion, i.e. it takes care of rapid accelerations (Fig. 1). Now, the original motion is distributed to robot joints in such a way that the basic configuration becomes responsible for smooth motion and the redundant joints solve the highly accelerated component. Several industrial applications require robot motion with sudden changes in end effector speed (i.e. rapid accelerations) or any kind of small motions around a given smooth trajectory. Here are few exampies: spot-welding, assembly of small pieces, arc-welding (waving along the seam), etc.
INTRODUCTION Heavy robots are usually used for manipulation tasks where weighty objects are moved. These tasks do not require sudden changes in speed of movement and thus there is no rapid acceleration. On the other hand, highly accelerated motion is usually required in manipulation of light objects. In such tasks, there is no need for heavy robots. So these two sorts of task may be considered as separate categories applied to rather different robot configurations. However, this conclusion does not stand if we consider flexibility in robot implementation. In order to improve the flexibility of a robotic system, it is. useful to make it capable of solving both heavy manipulation and the highly accelerated light manipulation. Let us note the problems. Handling heavy objects implies relatively massive robot segments. If such a robot faced the problem of highly accelerated motion, it could not solve it for two reasons. The drives and the transmissions (including reduction) are not designed for fast motion and the acceleration of massive segments requires extremely high torques. This paper proposes a solution to the problem exposed. A suitable redundancy is added to a standard heavy-robot configuration in order to improve its acceleration capabilities. Note that the terms "heavy" and "light" should be treated relatively in this context. An object of 10 kg (and the corresponding manipulation robot) could be considered "heavy" if compared with a 0.5 kg object.
2, THE INVERSE KINEMATICS We consider a manipulation mechanism having n one degree of freedom joints. Hence, the mechanical system has n degrees of freedom (DOF). Let the end
I / ~
1. THE MAIN IDEAS FOR THE SOLUTION OF THE PROBLEM We consider a heavy redundant robot in a task involving rapid accelerations of the end effector. The
.Requiredmotion Smoothmotion
/ /
~
,
('--...
Time Acceteroted motion
Acknowledgement--The author wishes to thank Dragan Risti~ B.S. for his help in preparing the numerical example.
Fig. 1. 181
Smoothingthe motion.
182
Robotics & Computer-Integrated Manufacturing • Volume 8, Number 3, 1991
effector have n e DOFs and let ne < n. This means that the mechanism is redundant. An example may be considered where n = 8 and ne = 6 (Fig. 4b). The position of the mechanism is defined by means of n joint (internal) coordinates forming the vector q = [qa,..., q,]r. The position of the end effector can be defined by means of n~ external coordinates. We usually use the three Cartesian coordinates (x, y, z) to define translation and the three Euler angles (0, 4, ~O) to define rotation (Fig. 2). In this way we obtain the six-dimensional vector X = Ix y z 0 ~b ~O]T. If n~ < 6, the vector X is reduced to n e independent components. The direct kinematics understand the calculation of the end effector motion for the given internal motion, i.e. X = f(q)
(1)
and the solution can be found directly. The inverse kinematics means the calculation of internal motion q(t) for the prescribed external motion X(t). Since n~ < n, Eq. (1) represents the set of n e scalar equations which should be solved for n unknowns (qx . . . . . q,). Hence, the problem does not have a unique solution. We separate the joint position vector q into two parts. Let qb be the n~-dimensional vector containing the basic DOFs (basic configuration), and let qr be the nr dimensional vector containing the redundancy. It is clear that n = no + n,. Let the external motion X(t) have n, elements which involve highly accelerated terms and let them form the nr-dimensional vector X~. The (he -nr)-dimensional vector X2 contains the resting elements. We may now write: X=
,q=
q~ .
and
[7 [Xol
X =
X2
"~
ec
= Xb .~
[Xol cc
whereX b = I-X1Xz] - r r x is called the basic external motion. Now, we may write Eq. (1) in the form Xb +
[Xo1
~° = f(qb, qr).
(5)
Since X(t) is a known function, functions X1(t), X1aco(t), and X2(t) are known too. If we form the following basic kinematic model: Xb = f(qb, qr = 0)
(6)
then there exists a unique solution to the inverse problem: qb(t) = f - l(Xb(t), qr = 0),
(7)
since vectors qb and Xb have equal dimensions (he). Now, the complete model (5) becomes Xb(t) +
a0*
= f(qb(t), q0
(8)
and we assume that a unique solution for the redundant motion qr(t) exists: qr(t) = f - l(Xb(t), Xl,~c(t), qb(t)).
Xt = X1 + X l ~
(9)
It is clear that the necessary condition for this inverse calculation is that qr does not influence X2. Since the nonlinear kinematic model (1) is extremely complex we usually solve the inverse kinematics by using the Jacobian transformation. 2-7 The transformation of the second order has the form = J(q)i~ + A(q, ~l)
We now use an appropriate smoothing method to separate the vector Xl(t) into two addenda: The smooth motion X~(t) and the highly accelerated relative motion X~,~(t). The method of smoothing will be discussed later. Thus,
(4)
(10)
where J is the ne x n Jacobian matrix and A is the no-dimensional adjoint vector. Since no < n, J cannot be inverted and (10) represents a set of ne scalar equations with n unknowns (/tl,-..,/1,). According to (2) and (4), we may write (10) in the form
(3) I i~21
[Jzb
J2~jLqrJ
IA A2l l
or I
Rb
+
ee
~
Jbqb +
qr + A
(12)
w h e r e t h e d i m e n s i o n s a r e Xb(ne) , X l ( n r ) , X 2 ( n e -- nr),
Xl,~c(nr),
Jb(ne X n e ) ,
qb(ne),
Jlr(nr × nr),
J2r((ne -- nr) × nr) , qr(nr), A l ( n r ) , A 2 ( n e -- nr), A(ne).
The basic kinematic model has the form •b(t) = Jb(qb, q, = 0)qb + A(qb, q, = 0, ¢lb, ~h = 0) (13) from which the basic internal motion can be found i ] b = J b l(qb, qr = 0)(Rb(t)
Fig. 2. Definition of the end effector position.
-- A(qb, qr = 0, (lb, I~lr = 0)).
(14)
183
Application of redundant robots • V. POTKONJAK
Now, the redundant motion should be computed from the complete models (11) or (12). The necessary and sufficient conditions for the existence of a unique solution ~ are
~ Geometry, initiaL state
eometry.initiaL state / (0),~(0), and /
q~(,~) Odlr(t) OA~ T /
/
Or(o). #r(o)
J2r = 0, J2b(qb(t), qr) = J2b(qb(t), qr = 0) (15a)
I'°.',
and rank Jlr = nr.
I
(15b)
Condition (15a) expresses the assumption that q, does not affect X 2, and (15b) provides the nonsingular transformation. If the conditions (15) are satisfied there will be also A2(qb(t ), qr = 0, ~lb(t), (It = 0 ) = A2(qb(t), q~, /lb(t), /h) and the complete model (12) reduces to
CaLcuLate /;ib according to Eq. (4)
i
g.!
j
~ l ( t ) = Jlr(qb(t), tl,)(]r + Jlb(qb(t), qr)i]b(t)
+ A1(qb(t), q~,/ib(t),/h)
(16)
(a)
or
(b)
Fig. 3. Algorithms for the solution of the inverse kinematics.
~laec = Jl,(qb(t), q,)ii,
+ (Jlb(qb(t), q,) - Jlb(qb(t), q, = 0))~b(t ) algorithm. The algorithms for the solution of the inverse kinematics are presented in Fig. 3. Procedure (a) calculates the basic motion, and (b) calculates the redundant motion.
+ Al(qb(t), qr~lb(t), /!,) -- Al(qb(t), + q~ = 0,/lb(t), ~, = 0).
(17)
The redundant accelerations are computed from models (16) or (17): (Jr = Jlrl(qb(t), q,)(~t(t) -
--
3. EIGHT D E G R E E OF F R E E D O M R O B O T We consider an elbow-scheme nonredundant robot (n c = n = 6), shown in Fig. 4(a). The manipulation task consists of moving a working object along the trajectory shown in Fig. 5. Figure 5(a) presents the
Jlb(qb(t)' qr)qb(t)
A~(qb(t), q,,/k(t), ~,)).
(18)
Since the kinematic model is expressed in Jacobian form, the calculation of motion involves an iterative
/
/
(a)
/
(b)
Seqments
m,.
I
2,3
5.0
6.0
I. I
1.5
0.6
0.001
0002
0.08
0.001
0.002
4,5
I,-,.
1.2
0.6
0.001
0.002
~i
05
0.5
0.05
0.05
*Working object included
Motors
6*
Reduction ratio
I-3
Po rvex-AXEM F9M4R
I00
4-8
Parvex-AXEM MC 17B
I00
(c)
Fig. 4. Nonredundant and redundant robots.
184
Robotics & Computer-Integrated Manufacturing • Volume 8, Number 3, 1991 (a) 0.8
E
0.6
(b) 04 0.2 0
08
.~
06 04 0
0.2
02
0.4
06
08
I
I0
x
0.5
I.o
Time
15
2.0
(s)
Fig. 5. Manipulation task. time histories of x and y, and Fig. 5(b) presents the trajectory in the x, y plane. It is assumed that z = constant, and the object maintains an orientation parallel to the x, y plane (~b, ~b = constant), and the angle 0 is changed from ~/2 to 0. The motion should be performed in T ' = 2 s, and the position reached should be kept for another T " = 0.56 s. Thus, the execution time is To = 2.56 s. The simulation results are shown in Fig. 6. It is evident that the nonredundant configuration could not follow the trajectory. This is due to the fact that the motion requires high accelerations, and the nonredundant robot must accelerate all its segments (including massive upper- and forearms, i.e. m2, m3). In order to improve the acceleration capabilities, two redundant linear joints are added [Fig. 4(b)]. N o w n e = 6, n = 8. The basic configuration is defined by qb = [ql . . . . , q6] T, and the redundant joints are
bandwidth is o~ = 5(o0, ~oo = 27r/To. The smoothing of x(t) and y(t) is shown in Fig. 7, and the smooth trajectory (in the x, y plane) in Fig. 8. Now, the algorithms for the solution of the inverse kinematics are applied. The procedure of Fig. 3(a)
0.8 0.6 x
04 02 0 0.5
I
1.0
i
I 5
i
2.0
25
i
i
0.6
qr = r q 7 , q 8 ] T.
0.4
We find that the external position vector X = Ix y z 0 tk ~k]r has two highly accelerated components: X 1 = [xy] x. These two components are smoothed by using Fourier's approximation. The
Y 0.2 0
.
Fig. 7. Smoothing of x and y motion. 0.8
0.6~--
x
,,
x ~ R e q u i r e d uLation
x,
Smooth
0.4
0.2 --
0
Required motion J
0.2
J
\ I
0.4
~
0.6
V
08
IO
b
3,
x (m)
Fig. 6. Simulation of nonredundant configuration.
Fig. 8. The original and the smooth trajectory.
Application of redundant robots • V. POTKONJAK
+ ~/2 ~
.
.
,
,
~
,
~
"4
185 Curves ; q),... ,q5 qs=O
+0.1
(m)
0
-O.I
Fig. 9.
v
I I
O
I 2
(s) Internal motion.
0
" U
I
/
'
~
I
I
2
(s)
Fig. 10. Simulation of redundant robot.
CONCLUSION The concept of distributed positioning allows the separation of external motion into smooth and highly accelerated components. The smooth motion is distributed to the joints which move large masses, and rapid accelerations are solved by redundant joints moving light masses. In this way a heavy robot becomes capable of performing tasks involving highly accelerated motions.
solves ql . . . . , q6, and the procedure of Fig. 3(b) solves q7, qs. The time histories of the joint coordinates (q) are shown in Fig. 9. We see that the basic joints now perform smooth motion so that there is no need for rapid acceleration of the massive segments m2 and ma. The rapid accelerations are distributed to the redundant joints q7 and q s, and these joints move relatively small masses (including the working object). In this way the unloading of the driving system is achieved. A simulation was performed for such a redundant robot. The results in tracking x and y are shown in Fig. 10. It is clear that the D P concept allows the robot to perform successively highly accelerated motion.
1. Potkonjak, V.: Distributed positioning for~redundant robotic systems. J. Robotica 8: 61-67, 1990. 2. Vukobratovi~, M., Potkonjak, V.: Dynamics of Manipulation Robots. Berlin, Springer, 1982. 3. Vukobratovi~, M., Stoki~, D.: Control of Manipulation Robots. Berlin, Springer, 1982. 4. Paul, R.: Robot Manipulators. Boston, MA, M.I.T. Press, 1981. 5. Orin, D. E., Schrader, W. W.: Efficient computation of the Jacobian for robot manipulators. Int. J. Robotics Res. 3(4): 66-75, 1984. 6. Lee, C. S. G., Ziegler, M.: A geometric approach in solving the inverse kinematics of PUMA robots. IEEE Trans. Aerospace Electronic Systems AES-20(6): 695-706, 1984. 7. Vukobratovi~, M., Potkonjak, V.: Applied Dynamics and CAD of Manipulation Robots. Berlin, Springer, 1985.
./,,, V
,
,
0.5
''% ) "~j 0.5
1.0
,,
/ ~/
,
1.5
,/..,
2.0
t(s) ,"~ 'JJ"
I 1.0
,"~ I ~,,,~- 1.5
I 2.0
*(s)
REFERENCES