THE UNIVERSITY OF MICHIGAN COMPUTING RESEARCH LABORATORY1 RESOLVED MOTION ADAPTIVE CONTROL FOR MECHANICAL MANIPULATORS C.S.G. Lee and B.H. Lee CRL-TR-22-83 JUNE 1983 Room 1079, East Engineering Building Ann Arbor, Michigan 48109 USA Tel: (313) 763-8000 1This research was supported by the National Science Foundation Grant ECS-8106954 and the Air Force Office of Scientific Research/AFSC, United States Air Force under AFOSR contract F49620-82-C-0089. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the funding agencies.

RESOLVED MOTION ADAPTIVE CONTROL FOR MECHANICAL MANIPULATORS C.S.G. Lee and B.H. Lee Department of ELectrical and Computer Engineering The University of Michigan Ann Arbor, Michigan 48109 ABSTRACT This paper presents the development of a resolved motion adaptive control which adopts the ideas of "Resolved Motion Rate Control and "Resolved Motions Acceleration Control" [10] to control a manipulator in Cartesian coordinates for various loading conditions. The proposed adaptive control is performed at the hand level and is based on the linearized perturbation system along a desired hand trajectory. A recursive least square identification scheme is used to perform on-line parameter identification of the linearized perturbation system. The controlled system is characterized by feedforward and feedback components which can be computed separately and simultaneously. The feedforward component resolves the specified positions, velocities, and accelerations of the hand into a set of values of joint positions, velocities, and accelerations from which the nominal joint torques are computed using the Newton-Euler equations of motion to compensate all the interaction forces among the various joints. The feedback component computes the variational joint torques which reduce the manipulator hand position and velocity errors along the nominal hand trajectory. This adaptive control strategy reduces the manipulator control problem from a nonlinear control to controlling a linear control system about a desired hand trajectory. The feasibility of implementing the proposed adaptive control using present day low-cost microprocessors is discussed. June 2, 1983 -1 -

ASME RESOLVED MOTION ADAPTIVE CONTROL 1. Introduction The purpose of resolved motion control is to maintain a prescribed motion for the manipulator along a desired time-based hand trajectory in Cartesian coordinates by applying corrective compensation torques to the actuators to adjust for any deviations of the manipulator from the hand trajectory. Most of the existing control schemes [1]-[7] control the arm at the joint level and emphasize nonlinear compensations of the interaction forces among the various joints. For most applications, resolved motion control, which commands the manipulator hand to move in a desired Cartesian direction in a coordinated position and rate control, may be more appropriate. Most existing resolved motion control algorithms [8]-[12] control the arm at the hand level with or without external sensory feedback information. The above joint motion and resolved motion control algorithms are inadequate because they neglect the changes of the load in a task cycle. These changes in the payload of the controlled system may be significant enough to render conventional feedback control strategies ineffective. The result is reduced servo response speed and damping, which limits the precision and speed of the end-effector. Any significant performance gain in this require the consideration of adaptive control techniques. Recently various adaptive control algorithms [13]-[15] have been proposed. Dubowsky [13] proposed a model referenced adaptive control which uses a linear second-order time invariant differential equation as the referenced model for each degree of freedom of the robot arm. The manipulator is controlled by adjusting the position and velocity feedback gains to follow the model. A steepest decent method is used to update the feedback gains. Koivo [14] proposed an adaptive self-tuning controller using an autoregressive model to fit the Input-output data from the manipulator. Both control algorithms assume that the interaction forces among the joints are negligible. Lee [15] proposed an adaptive control based on the perturbation equations in the vicinity of a desired joint trajectory. The highly coupled dynamic equations of a manipulator are linearized about a preplanned joint trajectory to obtain the June 2, 1983 - 2 -

ASME RESOLVED MOTION ADAPTIVE CONTROL perturbation equations. A recursive least square identification scheme is used to Identify the system parameters In the perturbation equations. The torques for the Joint actuators consist of the nominal torques computed from the Newton-Euler equations of motion and the variational torques computed from the controller of the linearized system. This paper adopts the ideas of resolved motion rate and acceleration control [8]-[1 0] and extends the above adaptive control concept to control the manipulator hand in Cartesian coordinates. All the feedback information are performed at the hand level. In this paper, we only investigate the resolved motion adaptive control for a six-joint manipulator and assume that the desired hand positions, velocities and accelerations along a path/trajectory in Cartesian coordinates are given. 2. Kinematics of the Manipulator Hand In general, the desired motion of a manipulator is specified in terms of a timebased hand trajectory in Cartesian coordinates, while the servo control system requires the reference inputs specified in joint coordinates. The mathematical relation between these two coordinate systems have been investigated by several authors [8]-[12]. We shall briefly describe the basic kinematic theory relating these two coordinate systems that will lead us to derive the equations of motion of the manipulator hand in Cartesian coordinates. 2.1. Position and Euler Angles of the Manipulator Hand The location of the manipulator hand with respect to a fixed reference coordinate system can be realized by establishing an orthonormal coordinate frame at the hand (the hand coordinate frame) [16] (See Figure 1). The problem of finding the location of the hand is reduced to finding the position and orientation of the hand coordinate frame with respect to the inertial frame of the manipulator. This can be conveniently achieved by a 4x4 homogeneous transformation matrix [18], [16]: June 2, 1983 -3 -

ASME ASME RESOLVED MOTION ADAPTIVE CONTROL fix s ax, px Rotation IPosit/on flad y sy, ay py ni 3 a matrix vector(1 to0 001 0 001 1 where p Is the position vector of the hand; and n,so a are the unit vectors along the principal axes of the hand coordinate frame describing the orientation of the hand. Instead of using the rotation submatrix [ n, s,aa] to describe the orientation, we can use three Euler angles, yaw a, pitch P, and roil y/, which are def ined as rotations of the ref erence f rame about the x, y, and z axes of the ref erence f rame respectively. One can obtain the elements of [ n, so a] from the Euler rotation matrix resulting from a rotation of a angle about the x0 axis, then a rotation of P angle about the yo, axis, and a rotation of y/ angle about the zo axis of the reference frame. Thus: fix sx ax -s/ 01 'CP 0 S#] 1 o 01 R = ny sayjSy C -y 0 0 1 01.10 Ca -Sa [nz sz az 0 0 1],-Sj3 0 cp jo Sa Ca J (2) [/cyc -S-yCaX+ CySfSa Sy/SaX+C-ySlC a1 = jsycp Cy/Ca+Sy/SpSa -CYSaX+S/Spca -pCfJSa COPC a where sin a Sa, cos a Cao, sin flSp,cosf3 Cp, sin-y Sy,cos-/ Cy1. 2.2. Velocities and Accelerations of the Manipulator Hand Let us def ine the position, orientation, linear velocity, and angular velocity vectors of the manipulator hand with respect to the reference frame respectively: A " )(A ) p(t) =(Px(t),p1,(t),pz(t))T (t) = a(t), fl(t), -Y(t) T3 vWt = Vx(t). vy~t), vz(t)) Q (t) = Wx(t), &)y(t), cz (t) ) T where the superscript "T" denotes transpose operation on vectors and matrices. The linear velocity of the hand with respect to the reference frame is equal to the time derivative of the position of the hand: June 2, 1983-4 - 4 -

ASME ASME RESOLVED MOTION ADAPTIVE CONTROL v(t) = dp(t) = pkt (4) Since the Inverse of a direction cosine matrix is equivalent to its transpose, the Instantaneous angular velocities of the hand coordinate frame about the principal axes of the reference f rame can be obtained f rom (2) as (see [21]) 0 WZ W*Y dRT _ dR R ~~RT= co 0 C4) dtdt C~y ~x 0(5) 0 -'Sfix+' -S-yC/3a-C-Y# S P -y0 cy/cgax- syp Sy/Cpa+ Cyj9 -Cy/Cp& + Syf 0 From the above equation, the relation between the (Wx, cy,,W) and ac,p-y) can be found by equating the non-zero elements in the matrices: CX-/Cyp S'y 0 a(6) W~Y= -Sy/Cfl -C-1 0 P3 Sp 0 -1. its Inverse relation can be found easily: aX -C7 - Sy 0 W ~ secfl Sy/Cp -Cy/Cg 0 WY -C-YSP -Sy/Sp -Cfl WZ (7) Or = M]Q) Based on the moving coordinate frame concept [1 7], the linear and angular velocities of the hand can be obtained f rom the velocities of the lower joints: Fvt) rq. (t 1 (0- J2 J1 (t) (8) where q(t) =(,,q6)T is the joint velocity vector of the manipulator, and J(q) is a 6x6 matrix whose ith column vector J/ can be found from (see [ 17]): June 2, 1983

ASME RESOLVED MOTION ADAPTIVE CONTROL z/-1 x(p - P/- ) I /; If joint I is rotational (9) JI= /-1l; if joint i is translational where x Indicates cross product, p/l- is the position of the origin of the (i-1 )th coordinate frame with respect to the reference frame, z1_1 Is the unit vector along the axis of motion of joint i, and p is the position of the hand with respect to the reference coordinate frame. (8) is the basis of resolved motion rate control [8]-[9], and J(q) is the Jacobian matrix. The accelerations of the hand can be obtained by taking the time derivative of the velocity vector in (8): ['(t)] = [i(q)]q(t) + [J(q) ]q(t) (10) where q(t) = (q1, * ',qe)T is the joint acceleration vector of the manipulator. If the Inverse Jacobian matrix exists at q(t), then the joint velocities q(t) of the manipulator can be computed from the hand velocities using (8): VI(t) (11) e(t) = [ J- (q) ] [(t) Using (8) and (11 ), (10) can be expressed as: v(t) 2v(t).. i n(t) = [(q)][J-(q)] 0(t) + [J(q)]q(t) (12) and the Joint accelerations q(t) can be computed from the hand velocities and accelerations as: of ko 0(t)' q(t) [J-1(q)] (t-[ (q)][(q)][J (q)] (t)13) The above kinematic relations between the Joint coordinates and the Cartesian coordinates will be used in the next section to derive the equations of motion of the manipulator hand In Cartesian coordinates. June 2, 1983 -6 -

ASME RESOLVED MOTION ADAPTIVE CONTROL 3. Equations of Motion of the Manipulator Hand The dynamics of a six-Joint manipulator can be derived either by Lagrange-Euler [1]-[31, [16] or Newton-Euler formulations [17], [16]. The resulting equations of motion are highly nonlinear and consist of inertia loading, coupling reaction forces (Coriolis and centrifugal) among the various Joints, and gravity loading effects. In general, the Lagrange-Euler equations of motion of a six-joint manipulator, excluding the actuator dynamics, gear friction and backlash, can be expressed in vector matrix notation as [16]: D(q)q(t) + H(q,q) + G (q) = (t) (14) where r(t) Is a 6x1 applied torque vector for Joint actuators, q Is the angular positions, q is the angular velocities, q(t) is a 6x1 Joint acceleration vector, G(q) is a 6x1 gravitational force vector, H(q,q) is a 6x1 Coriolis and centrifugal force vector, and D(q) is a 6x6 acceleration-related matrix. Since D(q) Is always nonsingular, q(t) can be obtained from (14) and substituted into (1 2) to obtain the accelerations of the manipulator hand: t) [(q)][J-(q)] + [J(q)][D-1(q)] (t) - H(q q)-G(q) (15) For convenience, let us partition J(q), J1 (q), and D- (q) into 3x3 submatrices and H(q,q), G(q), and T(t) into 3x1 submatrices: J1 1 J12 1K I K12 (16) (q)] |; [J-(q)] ^ - | -( = —I -- J21 JI 22 K21 K22 E11 E12 A H1 AA, A 1 7 A T1 [ q- ) -; H(q.q); [(q) I E21 E22 H2 G2 T2 Using (16)-(1 7), (16) can be expressed as: June 2, 1983 - 7 -

ASME RESOLVED MOTION ADAPTIVE CONTROL I (t) [11K11 + j122K21 J11K12 + Jl2K22 IV(t) l(t)j= [J21K11 + J22K21 J21K12 + j22K22 ) (18) [J1Ell1 + J12E21 J11E12 + J2E22 - H1 - G1 + TI1 J21 E1 + J22E21 J21E12 + J22E22 - H2 - G2 + T2 Combining (4), (7) and (18), we can obtain the state equations of the manipulator hand In Cartesian coordinates: p(t) O 0 13x3 0 p(t) (t) 0 0 0 M (t) - -- -- I - (t) 0 I j11K11 + 12K21 j11K12 + J12K22 v(t) 0( O I J21K11 + j22K21 j21K12 + 22K22 (t) (19) 0o 0 0 0 - H - G1 + T1 +I J11E11 + J12E21 I J11E12 + J12E22 -H2 - G2 + T2 J21E11 + J22E21 I J21E12 + J22E22 (19) is the state equations of the manipulator hand and will be used later to derive an adaptive control scheme in Cartesian coordinates. 4. Resolved Motion Adaptive Control Formulation Defining the state vector for the manipulator hand as: A x(t)= (Xl,X2, ''', x12) T = ( xP,, Py PZ, a,, 7, vx, Vy, Vz, x, Cy,Cz) T (20) -((pt, TVT,oT) T and the Input torque vector as: A A u(t) = (T1 (, -.8 T=(1,),u) T (21) (19) can be expressed in state space representation as: June 2, 1983 -8 -

ASME ASME RESOLVED MOTION ADAPTIVE CONTROL xMt = f ( X(t),U(t), t ) (22) where x(t) C R2",q u(t) c R1?, t c R~, f () F9R~ x Rnx R+-o R2n and continuously dif - ferentiable, and n = 6 Is the number of degree of freedom of the manipulator. (22) can be expressed explicitly as: ~j= fl(X,U,t) = X x2 =f2(X,U,t)= XS ~3= f3(X,U, t) = X x4 =f4(X,U~t =-secx5(xlo Cx6 + xi iSx6) (23) x6,= f6(X,U,t) =SeC X6(X1 0Cx6 SX6 - X1 CX6 CX6) x6 = f8(XPu9) = -Se3C X(X10 SX6 Cx6 + X1Sx5 Sx6 + Xl2 Cx) k = fl+6 (x,u,t)= g,+6 (x) x + b1 +e(x)j3(x) + b, 68(X)UMt,. where gi+e(x) Is the (1+6 )th row of the matrix: 0 0 I 13x3 0 001 0 M 0 0 I,,1K,1 + J12K21 J1 1Kl 2 + J12K22 0 0 1.2l K,1 + "J22K21 J211K12 +.122K22J and b1+8(x) is the (1+6 )th row of the matrix: 0 I0 0 I0 J11 El, -iJ12E21 JI JiEl2 + Jl2E22,J21 El, 4-J22E21 IJ21E12 +J22E22J and -H, (x) -G1(x) fl(X) = H2(X) - 2(X) With this formulation, the control problem Is to find a feedback control law u(t)= g(x(t)) such that the closed loop manipulator hand control system x(t) =f( x(t), g(x(t)),t) Is asymptotically stable and tracks a desired hand trajectory as closely as possible over a wide range of payloads for all times. June 2, 1983 '9 0- 9 -

ASME RESOLVED MOTION ADAPTIVE CONTROL 4.1. Perturbation Equations of Motion Equation (23) describes the complete manipulator hand dynamics, the desired joint torques for each hand trajectory set point (pd (t), d (t),Vd (t), 0d (t), Id (t), 0d (t)) can be computed (in open-loop fashion) quite accurately as follows: (i) The hand trajectory set points are resolved into a set of values of desired joint positions, velocities and accelerations, (ii) The desired joint torques along the hand trajectory are computed from the Newton-Euler equations of motion [1 7] using the computed sets of values of joint positions, velocities and accelerations. These computed torques constitute the nominal torque values. Using the Taylor series expansion on (23) about the nominal hand trajectory, the associated linearized perturbation model for this control system can be obtained: 6x(t) = F(t) 6x(t) + L(t) 6u(t) (24) where F(t)-Vxf xn and L(t)=-Vf i|n are the system parameters and are equivalent to the gradients of f( x(t), u(t), t ) evaluated at the nominal states, xn(t), and inputs, un(t), respectively, 6x(t) = x(t) - xn(t), and 6u(t) = u(t) - u(t). F(t) and L(t) are functionally defined by: F11 F12 F(t)= -- I; L(t)= F21 I F22 where the submatrices are found explicitly as: 00 0 0 0 0000 0 0 0 000 0 0 O F11 f4 af; F12 = xa6 Oax x ~ O 6 Of6 o 9^5 9X f 0 0 0 0 -- Of6 0 Ox6 ax6 o I o L21 I L22 (25) (26) 0 0 1 0 0 1 0 0 00 00 0 0 0 Ox10 axfo af6 axl0 0 0 0 af4 Ox11 Of6 ax11 0 0 0 0 0 Ofe aX12 June 2, 1983 - 10 -

ASME RESOLVED MOTION ADAPTIVE CONTROL Of7 af7 Of7 af7 Of7 Of7 Ox1 ax2 ax6 OX7 ax8 ax12 af8 Ofs (27) Oxl Ox7 F21 =..; F22 af12 Of12 Of12 af12 9xl xeg Ox7 axi2 Of7 Of7 af7 Of7 Of7 Of7 au1 au2 0U3 au4 au6 aue (28) L21 =.,.; L22 =. Of12 Of12 Of12 af12 Of12 Of12 9u1 0U2 au3 Ou4 au5 au6 F(t) and L(t) are slowly time-varying and depend on the Instantaneous manipulator hand position and velocity. The design of a feedback control law for the perturbation equations requires that the system parameters of (24) be known at all times. Thus parameter Identification techniques must be used to identify the unknown elements in F(t) and L(t). As a result of this formulation, the control problem is reduced to determining 6u(t) which drives 6x(t) to zero at all times. In other words, the position/orientation and velocity errors of the hand along the preplanned hand trajectory are minimized. The controlled system is characterized by a feedforward component and a feedback component. The feedforward component computes the nominal joint torques un(t) from the Newton-Euler equations of motion and the feedback component computes the variational joint torques 6u(t). The main advantages of this formulation are twofold. Firstly it reduces a nonlinear control problem to a linear control problem about a nominal hand trajectory, and secondly the computations of the nominal and variational Joint torques can be performed separately and simultaneously. The proposed resolved motion adaptive control block diagram Is shown In Figure 2. June 2, 1983 - 11 -

ASME RESOLVED MOTION ADAPTIVE CONTROL 4.2. Parameter Identification and Control of the Linearized Perturbation System For Implementation on digital computer, (24) needs to be discretized to obtain the following discrete-time linear equations appropriate for parameter identification: x((k+l)T)=A(kT)x(kT) + B(kT) u(T); k = 0,1, (29) where T is the sampling period, u(kT) E R" is a piecewise constant control input vector of u(t) over the time interval between any two consecutive sampling instants for kT < t < (k + 1) T, and x( kT) E R2n is a perturbed state vector which is given by: kT x(kT) = O(kT,to)x(to) + f (,kT,)L(t) u(t)dt (30) where @(kT,to) Is the state-transition matrfk of the system. A(kT) and B(kT) are respectively 2nx2n and 2nxn matrices and are given by: A(kT) = ((k + 1)T,kT) (31) and (k+-1)T B(kT)u(kT) = ((k+1)T,t)L(t)u(t)dt (32) With this model, a maximum of 6n2 (or 216) parameters need to be identified. Without confusion, the sampling period T will be dropped from the above equations for clarity. In order to simplify the identification algorithm for real-time applications, a recursive least square parameter Identification scheme is used. In the parameter identification scheme, we make the following assumptions: 1) The parameters of the system are slowly time-varying but the variation speed Is slower than the adaptation speed, 2) Measurement noise is negligible, and 3) The state variables x(k) of (29) are measurable. Defining and putting the Ith row of the unknown system parameters in (29) at the kth instant of time in a vector as: 6lk = (all(k),... alp(k), bil(k),. b/(k) )T (33) where p = 12 and n = 6, and the outputs and inputs at the kth instant of time in a June 2, 1983 - 12 -

. ASME ASME RESOLVED MOTION ADAPTIVE CONTROL vector as: rpt= ( x(A), x,x(A4,u 1(A),~ *, u,,(k) )T (34) and the state vector at the Oth Instant of time as: x(k) = (xl(k), --,xp(k))T = (Xlk,' -,Xpk)T (35) (28) can be rewritten as follow: X~k+1 =LVkalk; I =1, 2, -— 2n. (36) where X~k+1 Is the,tl'i state variable at the (A+ 1 )th sampling instant. Based on the Input-output relation In (36), a recursive least squares parameter Id entif icatIon algorithm can be found to be [ 119): %#= -al PkP [94jPk(Pk + rjj1 [rpk'&,k - Xlk+]; 1 = l 12,...,2n (37) Pk+1 =[Pk -Pk(Pk [(4Pk~k~k + r]-1 ~PLPk] r-1;0 <(r ~1 where "hat" is used to indicate the estimate of the parameters and Pk is a 3nx3n symmetric positive def inite matrix. Pk = r [ +4k kij] n ~ =['. o]i the measurement matrix up to the /(th sampling Instant, If input-output data are used to Identify the system parameters non-recursively. The Pk matrix has the similar effect as the error covariance matrix in stochastic Identification with zero mean modeling error. The estimate of the parameters 61k+1 at the (k+ 1)th sampling period is equal to the previous estimate;eIk corrected by the term proportional to qok2.ik - X~+.The joT~k Is the prediction of the value x~k1 The parameter r is a weighting factor and Is commonly used for tracking slowly time-varying parameters. If r <.Z 1, a large weighting factor is placed on the more recent sampled data by rapidly weighing out the previous samples. We can compromise between fast adaptation capabilities and loss of accuracy In parameter identification by adjusting the weighting f actor r. WIth the determination of A(k) and B3(k) from the parameter identification scheme, proper control laws can be designed to obtain the required correction torques to reduce the position/orientation and velocity errors of the manipulator hand June 2, 1983 - 13 -

ASME RESOLVED MOTION ADAPTIVE CONTROL along a nominal hand trajectory. This can be done by finding an optimal control, u*(A), which minimizes the performance index, J(k), while satisfying the constraints of (29): J(k) = xT(k+l)ax(k+l) + uT(k)Ru(k)] (38) where Q Is a 2nx2n semi-positive definite weighting matrix and R is an nxn positive definite weighting matrix. The one-stage performance Index in (38) indicates that the objective of the optimal control is to drive the position/orientation and velocity errors of the manipulator hand to zero along the nominal hand trajectory in a coordinated position and rate control per interval step, while at the same time, a cost is attached to the use of control efforts. The optimal control solution which minimizes the functional in (38) subject to the constraints of (29) is well-known and is found to be [20]: u(k) = -[R + B (k)QB() B (k)QA(k) x(k) (39) where A(k) and B(k) are the system parameters obtained from the identification algorithm at the kth sampling Instant. The above Identification and control algorithms in (37) and (39) do not require complex computations. In (37), (;OPPkYk + r) gives a scalar value which simplifies its Inversion. Although the weighting factor r can be adjusted for each Ith state variable as desired, this requires excessive computations in the Pk+1 matrix. For real-time robot arm control, such adjustment is not desirable. Pk+1 is computed only once at each sampling time using the same weighting factor r. Moreover, since Pk is a symmetric positive definite matrix, only the upper diagonal matrix of Pk needs to be computed. The computational requirements of the identification and control algorithms for a six-joint manipulator is tabulated in Table 1. 5, Computational Complexity of the Adaptive Control The overall adaptive control system is characterized by a feedforward component and a feedback component. Such formulation has the advantage of employing June 2, 1983 - 14 -

ASME RESOLVED MOTION ADAPTIVE CONTROL parallel computation schemes In computing these components. A feasibility study of Implementing the adaptive controller using present day low-cost microprocessors Is conducted by looking at the computational requirements In terms of mathematical multiplication and addition operations. The study assumes that multi-processors are available for parallel computation of the proposed controller. 6.1. Computations of Feedforward Control Component The feedforward component which computes the nominal joint torques along a desired hand trajectory can be computed serially in four separate stages. The first three stages resolve the preplanned hand trajectory set points ( pd (,t), d (t), vd (t), Id (t), d (t), d (t)) Into a set of values of desired joint positions, velocities and accelerations. The first stage Involves the computations of the Inverse kinematics solution routine. The second stage involves the computation of the Inverse of the 6x6 Jacobian matrix which can be computed using the methods stated in [22]. The third stage utilizes the computed Joint positions and velocities from the previous stages to compute the desired joint accelerations from the hand accelerations. In this stage, the time derivative of the Jacobian matrix is computed by first-order approximation. Finally the forth stage utilizes the computed values of joint positions, velocities, and accelerations from the previous stages to compute the nominal joint torques along the desired hand trajectory using the Newton-Euler equations of motion [17]. Computational requirements In term of multiplications and additions for the feedforward component are tabulated in Table 1. It requires a total of 1341 multiplications and 973 additions. 6.2. Computations of Feedback Control Component The feedback control component which computes the variational joint torques can be conveniently computed serially in three separate stages. The first stage June 2, 1983 - 15 -

ASME RESOLVED MOTION ADAPTIVE CONTROL computes the actual manipulator hand position and velocity from the measured values of joint position and velocity. It involves the computations of: (i) The direct kinematics routine, (li) The 6x6 Jacoblan matrix which can be computed using (9). The above computations can be performed In parallel and the maximum number of mathematical operations is taken as the time requirement for this stage. The second stage Involves the computations of: (i) The hand position and velocity errors which represent the deviations of the actual hand position and velocity from the preplanned hand trajectory, and (ii) The least square identification scheme for the linearized perturbation system. The third stage involves the computation of the dead-beat controller for the linearized system utilizing the parameters identified In the previous stage. Computational requirements for the feedback component are listed In Table 1. It requires about 3427 multiplications and 3037 additions. Since the feedforward and feedback components can be computed in parallel, the proposed adaptive controller requires a total of 3427 multiplications and 3037 additions in each sampling period. Based on the specification sheet of INTEL 8087 microprocessor, an integer multiply requires 19 fzs, an addition requires 17 ps, and a memory fetch or store requires 9 As, the proposed controller can be computed in about 1 75 ms which is not fast enough for closing the servo loop. Similarly looking at the specification sheet of PDP 11/46 computer, an integer multiply requires 3.3 us, an addition requires 300 ns, and a memory fetch or store requires 450 ns, the proposed controller can be computed in about 18 ms which translates to approximately a sampling frequency of 56 Hz. However, the PDP 11/46 is a uniprocessor machine and parallel computation assumption Is not valid. But it does give us an Indication of the required processing speed of the microprocessors. We anticipate that faster microprocessors will be just around the corner that will be able to compute the proposed adaptive controller within 1 0 ms. June 2, 1983 - 16 -

ASME RESOLVED MOTION ADAPTIVE CONTROL 6. Conclusion A resolved motion adaptive control based on the perturbation theory has been presented with an analysis of computational requirements for implementation. The adaptive control system Is characterized by a feedforward component and a feedback component. The feedforward component computes the nominal joint torques u,(t) from the Newton-Euler equations of motion using the resolved joint information, and the feedback component consisting of recursive least square identification and control algorithms for the linearized system computes the variational joint torques u(t). Since the computations of the nominal and variational torques can be performed In parallel, the computations of the adaptive control for a six-joint robot arm may be Implemented in low-cost microprocessors. Present day microprocessors still do not have the required speed to compute the proposed controller within 10 ms. This may be changing in the next year or two. The above analysis presented an ideal system study because it neglected such nonlinear effects as gear friction and backlash. The physical Implementation of the proposed adaptive control may require further investigation on the effects of gear friction, backlash, control device dynamics, and flexible link structure to the controller. 7. References 1. M. E. Kahn, B. Roth, "The Near-Minimum-Time Control of Open-Loop Articulated Kinematic Chains," Transaction of the ASME, Journal of Dynamic Systems, Measurement and Control, Vol. 93, Sep. 1971, pp 164-1 72. 2. R. P. Paul, "Modeling, Trajectory Calculation and Servoing of a Computer Controlled Arm," Stanford Artificial Intelligence Laboratory, A.I. Memo 177, Sep. 1972. 3. A. K. Bejczy, "Robot Arm Dynamics and Control," Technical Memorandum 33-669, Jet Propulsion Laboratory, Feb. 1974. June 2, 1983 - 17 -

ASME RESOLVED MOTION ADAPTIVE CONTROL 4. H. Hemani, P. C. Camana, "Nonlinear Feedback in Simple Locomotion System," IEEE Transactions on Automatic Control, Vol. AC-1 9, Dec. 1976, pp 855-860. 5. K. K. D. Young, "Controller Design for a Manipulator Using Theory of Variable Structure Systems," IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-8, No. 2, Feb. 1978, pp. 101-109. 6. C. S. G. Lee, T. N. Mudge, et al, "Hierarchical Control Structure using Special Purpose Processors for the Control of Robot Arms," Proceedings of the 1982 Pattern Recognition and Image Processing Conference, Las Vegas, Nevada, June 14-17, 1982, pp 634-640. 7. B. R. Marklewicz, "Analysis of the Computed Torque Drive Method and Comparison with Conventional Position Servo for a Computer-Controlled Manipulator," Technical Memo 33-601, Jet Propulsion Lab, March 1973. 8. D. E. Whitney, "The Mathematics of Coordinated Control of Prosthetic Arms and Manipulators," Transactions of the ASME, Journal of Dynamic Systems, Measurement, and Control, Dec. 1972, pp 303-309. 9. D. E. Whitney, "Resolved Motion Rate Control of Manipulators and Human Prostheses," IEEE Transactions on Man-Machine System, Vol. MMS-10, No. 2, i June 1969, pp 47-53. 10. J. Y. S. Luh, M. W. Walker, R. P. Paul, "Resolved-Acceleration Control of Mechanical Manipulators," IEEE Transactions on Automatic Control, Vol. AC-25, No. 3, June 1980, pp 468-474. 11. M. Takegaki, S. Arimoto, "A New Feedback Method for Dynamic Control of Manipulators," Transactions of the ASME, Journal of Dynamic Systems, Measurement, and Control, Vol. 102, June 1981, pp 11 9-125. 12. C. H. Wu, R. P. Paul, "Resolved Motion Force Control of robot Manipulator," IEEE Trans. on Systems, Man and Cybernetics, Vol. SMC-12, No. 3, June 1982, pp June 2, 1983 - 18 -

ASME RESOLVED MOTION ADAPTIVE CONTROL 266-276. 13. S. Dubowsky, D. T. DesForges, "The Application of Model Referenced Adaptive Control to Robotic Manipulators," Transaction of the ASME, Journal of Dynamic Systems, Measurement and Control, Vol. 101, Sep. 1979, pp 193-200. 14. A. J. Koivo, T. H. Guo, "Adaptive Linear Controller for Robotic Manipulators," IEEE Transactions on Automatic Control, Vol. AC-28, No. 1, February 1983, pp 162 -171. 16. C. S. G. Lee, M. J. Chung, "An Adaptive Control Strategy for Computer-Based Manipulators," Proceedings of the 21st Conference on Decision and Control, Dec. 8-10 1982, Orlando, Florida, pp 95-100. 16. C. S. G. Lee, "Robot Arm Kinematics, Dynamics, and Control", IEEE Computer, Vol. 15, No. 12, December 1982, pp 62-80. 17. J. Y. S. Luh, M. W. Walker, R. P. C. Paul, "On-line Computational Scheme for Mechanical Manipulators," ASME Journal of Dynamics Systems, Measurement and Control, Vol. 102, June 1980, pp. 69-76. 18. R. P. Paul, Robot Manipulators - Mathematics, Programmin-, and Control MIT Press, 1981. 19. K. J. Astrom, P. Eykhoff, "System Identification - A Survey," Automatica, Vol. 7, 1971, pp 123-162. 20. G. N. Saridis, R. N. Lobbia, "Parameter Identification and Control of Linear Discrete-Time Systems," IEEE Transactions on Automatic Control, Vol. AC-17, No.1 February 1972, pp 52-60. 21. R. A. Frazer et al, Elementary Matrices, Cambridge University Press, 1960, pp 260-266. 22. H. Melouah, P. Andre, "High Speed Computation of the Inverse Jacobian Matrix and of Servo Inputs for Robot Arm Control," Proceedings of the 21st Conference June 2, 1983 - 19 -

ASME RESOLVED MOTION ADAPTIVE CONTROL on Decision and Control, Dec. 8-10 1982, Orlando, Florida, pp 89-94. June 2, 1983 - 20 -

ASME ASME RESOLVED MOTION ADAPTIVE CONTROL Adaptive Number of Number of Controller Multiplications Additions stage I Compute qd (inverse Kinematics) 39 32 stage 2 Computeq (dEq. 1) 516 242 stags 8 Compute q (Eq. 13 012 stage 4 Compute Tr ( see [ 16)) 678 597 Total Feedf orward Computations 1341 973 Compute T,(pr~)T (Eqs.I& 2 ) 48 22 stagel1 Compute (VT, )T)T (Eqs. 8& 9) 168 138 Compute Hand Errors (x(k) -x,,(k)) 0 12 stage 2 and + Identif icatIon Scheme C Eq. 87) 11 1097 stage 3 Compute Dead-beat Controller CEq. 39) 2148 1790 Total Feedback Computations 3427 3037 Total Mathematical Operations 3427 3037 Table I Parallel Computations of the Proposed Adaptive Controller For a Six-Joint Manipulator June 2, 1983 - 21 -

ASME RESOLVED MOTION ADAPTIVE CONTROL Figure 1 Hand and Reference Coordinate Frames June 2, 1983 - 22 -

ASME RESOLVED MOTION ADAPTIVE CONTROL * (I (q ) J VrN bw to lnkE l rf o Formulationi = >0 =: Manipulator d 6u(k) K(A) Identification OR K(A)Mechanism dd ~ V Figure 2 Proposed Resolved Motion Adaptive Control June 2, 1983 - 23 -

UNIVERSITY OF MICHIGAN 3 9015 03023 0331