A solution to the velocity control of redundant robots

A solution to the velocity control of redundant robots

MATHEMATICS AND COMPUTERS IN SlMULAflON Mathematics and Computers in Simulation 41 (1996) 201-208 ELSE&ER A solution to the velocity control of red...

525KB Sizes 0 Downloads 32 Views

MATHEMATICS AND COMPUTERS IN SlMULAflON

Mathematics and Computers in Simulation 41 (1996) 201-208

ELSE&ER

A solution to the velocity control of redundant robots S. Tzafestas

a**, A. Zagorianos

a, ‘, T. Pimenides

b

a Intelligent Robotics and Control Unit, Department of Electrical and Computer Engineering, National Technical University of Athens, Zografou 15 773, Athens, Greece b Systems and Control Division, Department of Electrical Engineering, Patras University, Patras, Greece

Abstract

Flexible and dexterous manipulation of modem industrial applications requires the use of robots with extra (more than six) axes of motion (degrees of freedom). Thus the kinematic and control considerations of redundant robots are currently of increasing interest to both theorists and practitioners. For this type of robots, a closed-form solution of the inverse kinematic problem is not possible, and the classical approach is to use the pseudoinverse of the Jacobian matrix together with an extra criterion function. This paper presents an iterative technique for velocity control, which is suitable for redundant robots with a maximum of 11 d.o.f. This technique, which splits the Jacobian inversion problem into two subproblems (wrist position and wrist orientation), provides an exact solution for the arm tip position and an approximate solution for the wrist orientation. The convergence of the procedure is examined and a simulated example is included.

1. Introduction Modem and flexible manipulation requires the use of robots with an increased number of degrees of freedom (d.o.f.), because of the several advances that redundant manipulators possess over the standard ones. The application of textual programming in modem robotic systems at the end-effector or object levels requires the solution of the inverse kinematic problem. That is the capability of the robot to convert the available information from the outside world to the appropriate joint coordinates which lead to the desired position and orientation of the arm. The kinematic transformation between Cartesian and joint coordinates is nonlinear and configuration dependent. For a six d.o.f. robotic manipulator the common approach is to obtain a closed-form solution to the inverse transformation [ 1,2], provided that the arm configuration allows for a solution of this type. In a second approach, we can divide the robot into two subsystems, and creating an iterative procedure between the two subsystems we can find a solution for the joint coordinates of each subsystem [3]. * Corresponding author. ’Also with Hellenic Airforce Academy, Dekelia, Attiki, Greece. 0378-4754/96/$15.00 0 1996 Elsevier Science B.V. All rights reserved SSDI 0378-4754(95)00070-4

202

S. Tzafestas et al. /Mathematics

and Computers in Simulation 41 (1996) 201-208

For kinematically redundant manipulators, the problem becomes more difficult because a closed-form solution is not possible. The classical approach is to use the pseudoinverse of the Jacobian matrix together with an extra criterion function, in order to optimize over the number of unspecified dimensions [4]. In this paper, an iterative technique for velocity control of redundant robots is presented. The kinematic model of the industrial robot is divided into two subsystems such that an iterative procedure can be applied to determine the joint coordinates of the system. The technique is suitable for redundant robots with a maximum of 11 d.o.f. One advantage of the method is that it can cope with the degeneracies of the robot. The convergence of the procedure is depending on the step size of the iterations which is automatically taken into account from the procedure. As a simulation example, a seven d.o.f. robot manipulator is used, moved on a specified Cartesian path.

2. Kinematics of redundant manipulators Let us consider an n-d.o.f. manipulator moving along a continuous trajectory in the work space described by external coordinates x E R6, 6 < ~1.The vector of joint coordinates q = [ql, . . . , qnlT belongs to IZdimensional space. The world coordinates of the end-effector of the robot with respect to the inertial base system are given by Tn = A1A2...An

noap

=

o o o 1

[

1

(1)

The vector i E I@ of the Cartesian velocities is uniquely defined by the kinematic model

where i = [V w]~ are the Cartesian linear/angular velocities along/about the axes of T,-frame and J(q) E R6xn is the Jacobian matrix of the manipulator. 2. I. Cartesian trajectory specijication For the development of the Cartesian motion we need to generate intermediate points between the beginning and the end of a path segment defined by two transformation expressions (Pl and P2 for the initial and the final point, respectively, referred to the base coordinate frame). One of the simple ways to move from one point to another is by a straight-line translation and a rotation about some fixed axis in space [ 11. If D(r) is the appropriate drive transformation for the above-mentioned change, then T,(t) of the end-effector, with respect to the base coordinate frame, is given by T,(t) = Pl . D(r),

(3)

where r = t/T, t is the elapsed time since the beginning of the motion, and T is the total time for the desired motion. The drive transformation is given by the relationship

S. Tzafestas et al. /Mathematics and Computers in Simulation

? D(r)

=

;

41 (I 996)

203

201-208

-s(rqw~*v(re) + CW)]

c~s(re)

r-x

-SW)[-SW~VWI

s+s(t-e)

t-y

+ c(r@)[-s@c$v(re)] + C(r~>[C*1C/v(re> + W-e)]

-W#+[-CWW>l

+ cwbww-e)i

c(t-e) 0

0

0

rz

1

I : ’

(4)

where the left-hand column is the vector cross product of the next two columns of the matrix as follows: x =’ n

y =‘o

. (‘p -$I),

* (“p Jp),

z =]a

. (“p Jp),

and @, 8,# represent the relative orientation of the end-effector I

0.

2

(5)

with respect to the initial point Pl

a

tan + = -n
[(‘n’2ai2+(10’2a)]“2,

tan8=

_-n
\

Ia .*a ('n .*n)+ (q*ve

-S*CI)VO

tan f$ = where

C(.)

= cos (.),

2.2, Cartesian

('n . 20)

-S$C$VO

position

.

1

+ ce) (‘0 .'n)- S+S0 ('a+'n)

+ (C7+b2ve + ce) (10 JO) - s+se ('a.*o)



-n ”

’ TT’ @)

S(.) = sin (.), V(.) = 1 - cos(*). and orientation

The desired Cartesian position Tnd(t) can be calculated by (3) and the actual Cartesian position Tna is obtained by ( 1). The Cartesian position and orientation error vector is Xe =Xd -&

= [dx

dy

dz

Sx

Sy

6~1~.

(9)

It expresses the residual position/orientation between Tna and Tnd with respect to the base coordinate frame, but along/about the axes of the T,,-frame. Using differential kinematics equations and for a set of x - y - z rotation axes, Eq. (9) becomes na.

(Pd -Pa)

Oa * (Pd -Pa) aa.

(Pd -Pa)

1/2(fZa * Od 1Mna *ad

-

ad

-

nd

. aa)

. nd

-

Od

. %> _

lP(Oa

. Oa)



3. Problem solution formulation The inverse kinematic problem is the determination of a vector q which corresponds to a given endeffector target transformation T,,d. The approach is based on the residual vector xe introduced in (10). The solution of the problem is

204

S. Tzafestas et al. /Mathematics and Computers in Simulation 41 (1996) 201-208

dq = J-‘(q)

exe.

(11)

But for a redundant manipulator, .I is a non-square matrix, so one cannot invert it to solve for the motion rates of the robot. The implementation of the proposed procedure requires the splitting of the robot into two subsystems. We can achieve it by partitioning the Jacobian matrix in a proper way, as follows:

.I (mxl) .-I 1 =

dx ‘;

=[

JUq)(mxm)]

LWm

and

1((n-m>

:

SY

Jll(q)

I

62 ((n-m)x

(12)

_I

J%)

L

(m x (n - m))

JWq)

xm)

1)

The solution of the inverse kinematic problem is given by

(14)

(1%

From the above equations, one can see that m cannot be greater than the dimension of the residual +. and n must be less than 11 to distinguish between Eqs. (14) and (15). With this formulation of the inverse kinematic problem we have achieved the kinematic division of the robot into two subsystems, each one of which gives a closed-form solution for the required joint velocities when the residual errors xe are known.

4. Solution of the inverse kinematics An iterative procedure for the inverse kinematics problem of redundant robots has been developed. The procedure consists of two parts, each of which gives a closed-form solution for a kinematic subsystem of the whole system.

S. Tzafestas et al. /Mathematics and Computers in Simulation 41 (I 996) 201-208

205

The sequence of steps of the procedure is formulated as follows: Step 1: Assume the initial and the final points of the desired trajectory

(Pl and P2, respectively). Derive the step, dr, of the driving transformation, D(r) and using Eq. (3), the desired Tnd(r) transformation of the end-effector for the given trajectory. Step 2: At each sampling period: (a) assume dq = 0, (b) assume k = 0, (c) iterative procedure: (0 evaluate& = &(r) - &(qk); (ii) determine the Jacobian J (qk); (iii) evaluate the following convergence index:

(16) (iv) assume arbitrary values for dqk,, , dqk,,, . . . , dq,k and find dq:, dqi, . . . , dqk in closed-form from Eq. (14); . . . , dq,k in closed-form using Eq. (15); (v) with fixed dqf , dqt, . . . , dqk find dqk,, , dq:,,, determine the new values of joint coordinates from the equation (vi) q ‘+I = qk + hdqk,

(17)

where h is a positive number chosen to satisfy the inequality G(qk+‘) < G(qk);

(18)

verify if G(qk+‘) < E, (19) where E > 0 is a threshold value supplied by the user. If (19) does not hold, let k = k + 1 and return to algorithm step 2(c), otherwise. Step 3: Set q” = qk+’ and go on at the next sampling time toward point P2. (vii)

5. Simulation results The effectiveness of the proposed method in the present paper was evaluated by computer simulation. A 7 d.o.f. two elbow, all rotary joint robot is adopted. A schematic presentation of the robot arm is shown in Fig. 1. The homogeneous transformation matrices Ai, i = 1, . . . ,7, can be determined following the standard procedure. The link lengths are given as dl = a2 = a3 = d4 = 1 m, d5 = a6 = a7 = 0. The robot was asked to follow different paths. In this section, only a couple of these tasks will be discussed. Firstly, the robot was commanded to move between three points forming a triangle. The joint angles of the initial point were q0 = (0.2,0.2,0.2,0.2,0.2,0.2,0.2) rad. The robot was asked to track the formed triangle both clockwise and counterclockwise. Fig. 2 shows the optimal joint trajectories as the robot tip has been specified to trace the desired trajectory. Noticeable is that the robot tip after tracing the triangle reaches the starting point with an accuracy of f0.5 mm in world coordinates, but in a different arm configuration. By tracing the specified trajectory during successive cycles no limits for the joint angles are reached, and generally one can say that the joint state for a given Cartesian point will not be known, and may be

206

S. Tzafestas et al. /Mathematics

and Computers in Simulation 41 (1996) 201-208

Fig. 1. A schematic representation of a 7 d.o.f. robot. 3.1 1.6

2s

13

^

1.9

J

13

3

0.7

a ! OJ $ -1.0 -1.6 -22 -29

4.9 48.8

%.6

144.4

TIME (x 25 msec)

19x!

ZAO.0

1.0

48a

9&6 144.4 TIME (x 25 msec)

1922

2po.O

Fig. 2. Joint trajectories as the robot traces a triangle.

undesirable. This can be avoided by initializing the joint angles each time the robot passes by the starting point of the triangle. Secondly, the robot was commanded to trace a circle lying on a plane vertical to the world z-axis and having a centre point at PC = (2.165,0.958, -0.566) and a radius of 0.1 m. The joint angles at the starting point wereq0 = (0.4,0.4,0.4,0.2,0.2,0.2,0.2). The robot was asked to trace the circular path, while theorientation of the wrist was remaining constant in world coordinates. In this example the reached joint angles, after the robot completes the tracing of the circle, were q = (0.40,0.38,0.42,0.19,0.19,0.19,0.2). Successive passing of the robot tip over the circle boundary gives joint angles within an accuracy of 0.05 rad (see Fig. 3). The error between the desired and actual coordinates along/about X, y, z world axes was lower than 0.5 x lo-* m (see Fig. 4). The number of iterations needed at each sampling period was 1 or 2, and the value of h was always 1. A critical number in the convergence of the procedure was the step size, dr, of the sampling period. For simulation purposes, a large number of path segments have been used and show a variety of effects depending on the configuration of the arm and the size of the path. This is a typical problem of all kinematic inverse analysis techniques [4], so that we have to use dynamic criteria to optimize over the redundant joint angles and find out a joint angle solution depending on the desired path [7,8].

S. Tzqfestas et al./Mathematics

and Computers in Simulation 41 (1996) 201-208

201

0.7 0.6 0.8

OJ G

0.4

c

03

d y

02

2

0.1

g

0.0

E

Al.1 42

-0.1

a.3 1.0

U.8

48.6 n4 TIME (x 2.5msec)

962

1.0

lB.0

24.8

4n.6 nr TIME (x 2.5mrc)

962

1M.O

Fig. 3. Joint trajectories as the robot traces a circle.

Lo

a.4

41.8

n2

944

1la.o

TIME (x 50 msec)

Fig. 4. Cartesian errors between actual and desired trajectories along X-, y-, z-axes.

A great advantage of the procedure is that one can cope with the degeneracies of the robot. When degeneracy occurs, the Jacobian of the manipulator becomes singular. But one can partition the Jacobian adding or subtracting columns or rows, so that .I 1 and 522 be always square and non-singular. This means that, in any case, we can invert them and apply the proposed iterative procedure.

6. Conclusion This paper presents a complete generalized solution to the inverse kinematics of redundant robots. The solution is robot independent, it is obtained using an iterative procedure and is based on the kinematic

208

S. Tzafestas et al. /Mathematics

and Computers in Simulation 41 (1996) 201-208

division of the robot into two subsystems achieved by the partitioning of the robot Jacobian. The procedure requires that the Jacobian is either analytically or numerically computed, it can cope with the degeneracies of the robot manipulation, it is efficient from the computational standpoint, and it shows good convergence characteristics.

References [l] RI? Paul, Robot Manipulators, Mathematics, Programming and Control, Mass. Inst. Tech. (Cambridge, MA, 1981). [2] S.G. Tzafestas and A. Zagorianos, Inverse kinematics analysis of a class of industrial robots, in: Proc. 2nd European Simulation Cong., Antwerp, Belgium (1986). [3] V.J. Lumelsky, Iterative coordinate transformation procedure for one class of robots, IEEE Trans. Systems Man Cybemet., SMC-14(3) (1984) 500-50.5. [4] C.A. Klein and C.H. Hvang, Review of pseudoinverse control for use with kinematically redundant manipulators, IEEE Trans. Systems Man Cybernet., SMC- 13(3) (1983) 245-250. [5] C.H. Wu and R.P. Paul, Resolved motion force control of robot manipulator, IEEE Trans. Systems Man Cybemet., SMC-12(3) (1982). [6] A.A. Goldenberg, B. Benhabib and R.G. Fenton, A complete generalised solution to the inverse kinematics of robots, IEEE J. Robotics Automat. RA-l(1) (1985) 14-20. [7] A. Zagorianos and S. Tzafestas, A dynamic approach to the velocity control or redundant robots, IFAC Int. Workshop on Decisional Structures in Automated Manufacturing, Genova, Italy (1989). [8] A Zagorianos, S. Tzafestas and P Dimou, Global optimization technique for velocity control of redundant robots, Joint Hungarian-British Mechatronics Conf., Budapest (1994).