RSD-TR-4-83 An Approach To Nonlinear Feedback Control With Applications to Robotics Elmer G. GJbert In Joong Ha l!Jg8^ /}- May 1983?^^^ift,//~', CENTER FOR ROBOTICS AND INTEGRATED MANUFACTURING Robot Systems Division COLLEGE OF ENGINEERING THE UNIVERSITY OF MICHIGAN ANN ARBOR, MICHIGAN 48109 1This work was supported by the Air Force Office of Scientific Research, AF Systems Command, USAF under Grant F 49620-82-C-0089.

/ 7;: -Q. ",rIr

Abstract A control problem involving a mechanical system with generalized coordinates qeRm is considered. The error in tracking a desired input yd E RP is e = E(q, yd) E Rm. If E satisfies simple conditions, it leads to a nonlinear control law which assures e(t) -, 0 as t -, oc. The law is robust in that small changes in it do not produce large steady:state errors or loss of stability. The theory presents a unified framework for treating a number of. problems in the control of mechanical manipulators. This is illustrated by an example.

1. Introduction In this paper we consider the control of systems described by dynamic equations of the form M(q(t))q(t) + F(q(t), q(t)) = P u(t), (1.1) y(t) = G(q(t)), (1.2) Where: q(t), u(t)Rm; y(t) eRk, k > m; P, M(q) are nonsingular square matrices. The most obvious application is in robotics [1]. The rigid body equations of motion for a mechanical manipulator with dc motor drives can be described by (1.1) if: m = number of joints in the kinematic chain (usually, m, = 6), q(t) = vector of generalized coordinates (usually, joint angles and displacements), M(q) = generalized inertia matrix, F(q, q) = vector of equivalent forces due to gravitational, centrifugal, Coriolis and back-emf effects, u(t) = vector of control voltages for the motors. Through feedback control it is desired to have the output y(t) follow closely a desired motion yd(t). In the case of a mechanical manipulator y may be specified in various ways: y = p, where pER9 is the position of the end effector; y = (p, 0) E R6, where 9 E R3 is a vector of Euler angles specifying the orientation of the end effector; y = (p, n, s, a) E R12, where n, s, a E R3 are unit vectors specifying the orientation of end effector axes in terms of their direction cosines. The specific form of G(q) depends on the choice of y and the configuration of the manipulator [1]. The inverse of G is denoted by Gt, i. e., if y = G(q) has a solution q it is denoted by Gt(y). There may be multiple solutions [1], but for each of them Gt usually exists on an open set in Rk. In manipulator problems the tracking error may be measured in several ways. Four examples are: El(q, yd) = Gt(yd) - q, (1.3) E2(q, yd) = yd -_ G(q), (1.4)

RSD-TR-483 2 ES(q yd) = Gd(yd) -G(q) (1.5) - P E4(q,yd) (1.6) (n x nd + s x sd + a x ad) The measure E1 describes the most common situation, where servo performance is measured in terms of the joint angles [1]. E2 measures the output error directly and is appropriate when y = p or y = (p, 0). By choosing Gd to be the map which carries (p, n, s, a) into (p, 9), E3 allows E2 to be extended to the case where y = (p, n, s, a). A problem with E2 and Es is the lack of uniform behavior with respect to the Euler angles. As the Euler angle singularities are approached, E2 and E3 become extremely sensitive to angular errors. The measure E4 applies to y = (p, n, s, a), which is a function of q, and uses vector cross products to measure angular errors. This avoids the sensitivity problem and Euler angle singularities associated with E2 and E3. The cross product expression is discussed further in [2]. Just as there are different ways of measuring tracking errors, there are different conceptual approaches to feedback system design. The most common approach for manipulators is to use joint coordinates. Given yd(t), the desired joint coordinates qd(t) are computed from Gt(yd(t)). Then servos are designed so that components of q(t) track corresponding components of qd(t). Often the design is based on single-input, single-output models for each joint, although corrections for varying inertias and gravitational loads are sometimes introduced [1]. Alternatively, qd(t) may be computed and q(t) controlled through the use of rate servos. This is called resolved-rate control [3] and has certain advantages in reducing the complexity of path computation and control, though precise position control is difficult to achieve. A more sophisticated approach to joint-coordinate control is the "inverse problem" or "computed torque" technique [4,5,6,7]. In this approach qd(t), qd(t), qd(t) are computed and the following control law is used Robot Systems Division

RSD-TR-4-63 3 u(t) = P1(M(q(t))(`qd(t)-Kp(qd(t)-q(t)) - KD(qd(t) -q(t))) + F(q(t), qd(t))). (1.7) Assuming there are no modelling errors, this gives e(t) = Kpe(t) + KDe(t), e(t) = qd(t) -q(t) = El(q(t), yd(t)). (1.8) By proper choice of the matrices Kp, KD the solutions of ( 1.8) are asymptotically stable and the tracking error e(t) tends to zero. More complex variants of this procedure, which cause y(t) to track yd(t) = pd(t) or yd(t) = (pd(t), nd(t), sd(t), ad(t)), are described in [2,8]. At present the use of computed-torque methods has practical limitations because of the complexity of the function M(q) Y + F(q, 4). Methods for reducing the computational complexity and the use of special processors is the subject of research [9-12]. Another concern with computed-torque methods, which has received little attention, is inaccuracy of the feedback mechanization. In general, the basis for the control law is an idealized model of the manipulator. When the "idealized" control law is used with an actual plant the validity of the scheme is subject to doubt. Thus theoretical results concerning the robustness of computed-torque methods are of interest. The purpose of this paper is to examine in a unified framework the computed-torque method for a variety of error measures. We begin, in Section 2, by stating a general control problem and giving conditions (Theorem 2.1) such that nonlinear feedback produces an error equation of a form similar to (1.8). This gets at the main idea of the computed-torque method without using the complex formulas associated with specific applications. Section 3 treats perturbations in the feedback law. It is shown that the situation is robust: steadystate errors are small and stability is maintained if errors in the feedback law are sufficiently small. Section 4 applies the preceding theory to the manipulator control problem considered in [2] where E4 is the error measure. A different control law is obtained. While it isi more complex than the one obtained in [2], it Robot Systems Division

RSD-TR-4-63 4 has the advantage that error convergence is assured for large errors. Approximations to the control law are investigated in some detail and it is shown that the simplest one leads to the control law described in [2]. Section 5 reviews the general value and applicability of the results. 2. The General Problem The following notation is used: x E Rn is an n-tuple of real numbers which is usually written as a column vector, x' is the corresponding row vector, linear operators Q: Rn - RP are written x e Qx where Q E Rxn is a real p by n matrix, when Q E Rn"n has an inverse it is written Q-',.In E RnXn is the identity matrix, bilinear operators Q: Rnx Rm -e RP are written (x,y) r Q[x] [y] and (since the ith component of Q[x] [y] can be written x' QiY, Qi E Rnxm, i = 1,...p) is designated by Q E RPX"nm. Let X c Rn be open and assume f: X -+ RP is C2 (twice continuously differentiable). Then for all x E X, Df(x) c RPXn denotes the first derivative of f and D2f(x) E RPXnXn denotes the second derivative of f. If X c Rn, Y c Rm and f: X x Y -, RP is C2, similar notations apply. Specifically, Dlf(x, y) E RPxn and Dzf(x, y) E RPxm are respectively the first derivatives of f with respect to the first and second arguments of f, while the second derivatives are: Dff(x, y) E: RPXnXn, Dif(x, y) E RPxmm, D1D2f(x, y) E Rpnxm, D2Dlf(x, y) E RPxmxn and D2Dif(x,y)[a] [#] = D1D2f(x,y)[] [a]. The general problem consists of the equations of motion ( 1.1) and an error measure E(q, yd). The error e(t) and its derivatives are given by e(t) = E(q(t), yd(t)), (2.1) e(t) = E(q(t), yd(t), q(t), yd(t)) e(t) = E(q(t), yd(t), q(t), d(t), q(t), yd(t)) o 00 where the functions E and E are defined by Robot Systems Division

RSD-TR-4-83 5 E(q, y q, ) = DiE(q, y)q + D2E(q, y)y (2.2) E(q, y, 4, y, q, y) = DE(q, y,)[q] [q] +D2DiE(q, y)[y][q] + (2.3) DiE(q, y)q +D2E(q, y)[y][y] +D1D2E(q, y)[q][y] +DE(q, y). As a first step in the solution of the problem we seek a control law of the form u(t) = K(q(t), yd(t), q(t), yd(t), v(t), yd(t)) (2.4) such that when u is substituted into (1.1) e(t) = v(t). (2.5) That is 00 E(q, y, q, y, M-1(q)(PK(q, y, q, y, v, y) - F(q, q)), y) v. (2.6) Having achieved (2.5), various choices for v(t) suggest themselves. For example, a PID (proportional, integral, derivative) controller has the form v(t) = KpEp(q(t), yd(t)) + Kiz(t) + KDED(q(t), yd(t), q(t), y(t)), (2.7) z(t) = EI(q(t), yd(t)), (2.8) 0 where Ep = E = E, ED = E. (2.9) Using (2.7). (2.8) together with (2.5) gives a differential equation for the error of the form z(t)' 0 Im 0 w(t) Aw(t), w(t)= e(t),A = 0 Im when K O 0, (2.10) te(t). KI KKp KD [e(t)] 0 I w(t) = Aw(t), w(t) = e(t),A KD when K = 0. (2.10') If Kp, KI, KD E RmXm are chosen appropriately A is a stability matrix and e(t) - 0. Conditions for the existence of K are formulated in the simple theorem which follows. Let E c Rm x Rk be open set. In a robotics problem E would be Robot Systems Division

RSD-TR-4-63 6 chosen so that (q, y) E E avoids singularities of E(q, y) having to do with the geometry and coordinate systems associated with the manipulator. Let Q Iq:(q, y) E EJ, the projection of E on Rm. The assumptions M: Q - Rmxm F:Q x Rm - Rm are C1, (A.1) M(q), q: Q and P E Rmxm are nonsingular (A.2) E:E Rm is C3, (A.3) DE(q, y), (q, y) E, is nonsingular, (A.4) lead to the desired result. Theorem 2.1. Suppose (A.1)-(A.4) are satisfied. Then K: E x (Rm x Rk)2 ^ Rm given by K(q, y, q, y, v, y) = P-'(M(q)(DiE(q, y))-' (v- E(q, y, q, y, q, y) + (2.11) D1E(q, y)q) + F(q, q)) is C' and causes (2.6) to be satisfied for all (q, y) E E and (q, y), (v, y) E Rm x RK Proof: verify by substituting (2.11) into (2.6). For special cases the formula for K becomes less formidable. For example, consider E = El where in (1.3) Gt is defined on Y and E = Gt(Y) x Y. Then it follows from (2.11) that K(q, y, q, y, y, ) = P'(M(q)(-v+D2Gt(y)[y][y] + DGt(y)y) + F(q, q)) (2.12) By setting qd = D2Gt(yd) [yd][yd] + DGt(yd)yd and using (2.7) with (2.9) and Ki = 0,the system (1.7), (1.8) is obtained. Using E = E2 with G defined on Q and E = x G (Q) gives K(q, y, q, y, v, y) = P-(M(q)(DG(q))-' (-v-D2G(q)[q][q] + y) + F(q, q)). (2.13) For specific applications in robotics DG(q) and D2G(q) may become quite complex. See [8] for some details when y = G(q) = p E R3. The case E = E4 is considered in Section 4. Robot Systems Division

RSD-TR-4-3 7 3. Errors in the Feedback Law The overall control law of the preceding section is determined by the functions K, Ep, EI, ED and the matrices Kp, Ki, KD. Different functions, K, Ep, EI, ED are used in an actual implementation because of errors due to computations, approximations and the inaccurate modelling of M, F, P, and E. In this section the effects of such implementation errors are considered. To simplify the analysis it is assumed that yd(t) is constant. Effects of implementation errors on the accuracy of the equilibrium solution and system dynamics in the neighborhood of the equilibrium solution are studied. The underlying perturbation theory has been used previously in a similar context [13]. The differential equations for the perturbed closed-loop system are obtained by substituting K, Ep, EI, ED for K, Ep, EI ED in (1.1), (2.4), (2.7), (2.8). This gives x(t) x(t) = f(x(t)), x(t) = q(t), (3.1).q(t) where EI(q, yd) f ( ) = (3.2). M) -(q)(Pu-F(q, q)) u = K'(q, yd q, v), v = KpEp(q, yd) + KIZ + KDED(q, yd q). Here, and in what follows, the superscript o denotes the substitution which results from yd(t) yd(t) 0. For example, K~(q, yd, q, v) = K(q, yd q, O, v, 0 ). While it is not indicated explicitly in (3.1), f depends on yd and KI, Ep, Ei,ED. In general, the equilibrium solution of (3.1), x(t) - x will differ from the ideal: z(t) - q(t) - 0, q(t) = q*, E(q*, yd) = 0. Moreover, the system matrix for Robot Systems Division

RSD-TR-4-83 the linearized equations at i, Df(x), will have characteristic roots which differ from the ideal characteristic roots Xi(A), i = 1,..., 3m. These deviations are characterized precisely by the theorem which follows. First, it is necessary to introduce appropriate measures of functional closeness and other notation. For an open set X c Rn let Y(X, RP) denote the set of all C' functions from X into RP. Let i. In and I. Ip be norms for Rn and RP. These norms generate norms for A E RPxn and f E 7(X,RP): I I A Ipn = max IAxlp:xE Rn, IxIn = ll I f Ifl.RP) = sup I f(x)lp, lIDf(x)llpn: x EX Thus functions f, f E'(X, RP) are close if and only if both the functions and their derivatives are close. Hereafter, subscripts are omitted from the norms when the meaning is clear from context. It is also necessary to restrict attention to neighborhoods of the ideal equilibrium. Let 7(se, C) = y E Rm: I y-t I < e and assume 7(E, q*) x (e, ya) C E. (3.3) Define VO (e) = 7(t7(E, q*) x 7] (e, yd), Rm), (3.4)' (E) = (7(e, q*) x 7(, yd) x (e, ( 0)) Rm), i = 1, 2. (3.5) Finally, for A E RnXn let XA(A), i = 1,.. n, be the characteristic roots of A. Theorem 3.1. Assume: (A.1) - (A.4) are satisfied; (q*, yd) E E and E(q*, yd) = 0; ReXi(A) < a < 0, i=l,..., 3m, where A is given by (2.10); K~, K~ E y2(e); Ep, Ei, EI E, E E YO(); EB, ED E 7y1(E); K~ is determined from (2.11) and Ep, EI, ED from (2.9) by appropriately restricting the functional domains. Given any e > 0 satisfying (3.3), there exist 6K, 6p, 6D > 0 such that KO-K~ I < dK., I Ep-Ep I < dp, I IEI-EI I < 6i, I ED-ED I I < 6 imply (3.1) has a unique equilibrium solution z(t) - z, q(t) - q, q (t) 0 such that E(q, yd) < e and IzI <. Furthermore, it is possible to choose dK 6p, dI, 6D so that ReXi(Df(x)) < a, i= 1,...,3m where x = (z, q, 0). Robot Systems Division

1RD-TR-4-63 9 Remark 3.1. The theorem shows that both the accuracy of the equilibrium solution and the dynamic behavior of the linearized closed-loop system can be maintained if K - K, Ep - Ep, Ei - Ei, ED - ED are sufficiently small in the indicated way. In practice the 5K, 6P, dI, 6D and the norms are difficult to evaluate, so the theorem should be viewed as a qualitative rather than quantitative result. Remark 3.2. The choice of the tolerances 6K, dp,.1, 6D depends on yd. Thus, the tolerances may be smaller for some yd than others. The same can be said for a and. The tolerances are likely to be larger if a- max Xij(A): i = 1,..., 3m, and e are larger. Remark 3.3. The condition ReXi(Df(x)) < a < 0, i = 1,...3m, implies that the equilibrium point x, of the nonlinear system (3.1), is isolated and asymptotically stable (see [14]). The rapidity of approach to the equilibrium point depends on a, which can be influenced by the choice of Kp, Ki, KD. Remark 3.4. The theorem could be generalized to account for errors in Kp, KI, KD. Usually such errors are insignificant. Remark 3.5. Note that q depends only on Ei(q, yd) = 0. The integral control automatically corrects for errors produced by K, Ep, ED. Generally this necessitates -z0. To assure E(q, yd) = 0 it is sufficient to require EI(q, yd) = 0 for all (q, yd) E E such that E(q, yd) = 0. Remark 3.6. The theorem applies when KI = 0. It is only necessary to define A by (2.10.1) and eliminate all reference to z(t), z, 6I and E. Remark 3.7. If KI = 0 the conditions for E(q, yd) = 0 are more severe than in Remark 3.5. Suitable condition are: K(q, yd, 0, 0, 0, 0) = K(q, yd, 0, 0, 0, 0), Ep (q, yd) = Ep(q, yd), ED(q, yd 0, 0) = ED(q, yd, 0, 0) for all (q, yd) E E such that E(q, yd) = 0. The proof of Theorem 3.1 follows from the following theorem which is a simple rewording of results found in Chapter 16 of [14]. Robot Systems Division

RSD-TR-4-83 10 Theorem 3.2. Suppose X c Rn is an open set and g E 7(X, Rn). For x* E X assume g(x*) = 0 and Dg(x*) is nonsingular. Then for any e > 0 satisfying?1(e, x*) c X there exists 6 > 0 such that II -g - g 7((R.x.).Rn) < 6 implies g(x) = 0 has a unique solution x = x satisfying Ix - x*l < e. Furthermore, if ReXi(Dg(x*)) < a, i = I,..., n, it is possible to choose 6 so that in addition ReXi (Dg(x)) < a, i = 1,..., n. To apply this theorem the state x in (3.1) is related to w = (z, e, e) by = T(x) = T()= E(q, yd). (3.6) q D1E(q, y)q For all z, q E Rm, (q, yd) E E it follows from (A.4) that DT(x) is nonsingular. Thus by the implicit function theorem (3.1) can be written in terms of w by w(t) = g(w(t)), (3.7) where: g: X -* Rm is C', X C R3m is open, 0 E X and g(w) = (DT(T-t(w)))-lf(T-'(w)). (3.8) Clearly, g depends on K, Ep, EI, ED. When K ~ K, Ep ~ Ep, EI - EI, ED ~ ED we indicate this by writing g = g; when there are no errors it follows from Section 2 that g(w) = Aw. Because A is nonsingular (this follows from Ai(A)<0, i = 1,.., 3m), g(w) = Aw = 0 implies w = x* = 0. By choosing dk 6p, 6I, dD appropriately it follows that I I g <6 for any 6 > 0. Thus Theorem 3.2 gives the equilibrium results of Theorem 3.1 The characteristic root result follows from the fact that Dg(T(x)) and Df(x) are similar matrices. 4. An Example In this section a mechanical manipulator with error measure E4 is considered. The feedback law given by (2.4), (2.7)-(2.9), (2.11) is determined. The form of the law is examined and its relationship to the control law obtained in [2] is discussed. Because of limited space, it is necessary to simplify notation Robot Systems Division

ISD-TR-4-83 11 and omit details from the following developments. Let y = (p, 7r) where ir = (n, s, a). Then (1.2) can be written as p = Gp(q), r = G,(q), (4.1) w h e r e Gp: R6 - R3, Gr: R6 - R9. Let c(t), Wd(t) E R3 denote the angular velo0 city of the sets (n, s, a), (nd, sd, ad). Then there exist Hp(q), H,(q), Hp(q, q), 0 H,(q, q) E R3x6 such that p = Hp(q)q, p = Hp(q)q + Hp(q, q)q, (4.2) = HO(q)q. cl = Hc(q)q + H,(q, q)q. (4.3) See, for example, [2]. The error measure is written E(q, yd) E= |[ (, ) Ep(p, pd) (4.4) E (ir, rd)= 1( x nd + s x a ) Straightforward differentiation shows that Ep(p, pdppd) = pd_ p (4.5) 0 E,(ir, rd, C, Wd) = L'(Tr, td))d - L(7r, Td)C (4.6) Ep(p, p pd, p,p) = p p (4.7) 0o E (r, rd W, W I, cW) = L'(Tr, Id)Td + (4.8) o L'(7r, -d W, d)d -_ L(7r, ~ad)o - L(i, ia, w, )' 0 Here L(rr, ird), L(rT, tTd, d) E R3x3, the' denotes matrix transpose and L = 1 (NdN + SdS + AdA) (4.9) Robot Systems Division

RSD-TR-4-83 12 L = - (NdN + NdN + SdS + SdS + AdA + AdA) (4.10) where Nd, Sd, Ad, Sd,,d N, S, A, N, S, A E R3x are skew symmetric and are obtained from nd, s, ad n, sd, ad n, s, a, n, s, a. For example, 0 -na n2 nI N= ns 0 -nn n= n2 (4.11) -n2 nl 0 The derivative vectors such as n are given in a simple way; for example, if c has components wl, cz, c3 then nl = cgn3 - n2 C3, n2 = cw3n -n3in, n3 = ci n2 - nl2g. Substituting (4.2), (4.3) into (4.5)-(4.8) and omitting the arguments of the functions gives DIE= -H E= Hp d k LHI' (4.12) *DE= [-LH, E= L' - LHq, d _ Hpq E - D1Eq = o o L'd + L'd - LHqq - LHq When the formulas (4.2) are substituted into (2.9) and (2.11), the expressions for K, Ep, El, ED are obtained. If E is chosen to avoid "geometric singularities", it can be verified that assumptions (A.1)-(A.4) are satisfied. Thus, Theorem 2.1 applies. Moreover, implementation errors can be tolerated in the sense of 0 Theorem 3.1. We now examine further the matrices L and L which appear in the feedback law. 0 When E, = E,(nr, rrd) and A- = cd - ) are small the formulas for L and L have simple approximations: L = Is +E, + R(rr, Trd), (4.13) Robot Systems Division

RSD-TR-4-83 13 0 1 0 L = 2(OdE, - E,d + RA) + R(rr, rd,, d). (4.14) Here El, Qd, AQ are skew symmetric matrices corresponding to ET, wd, Aw and R, R satisfy: I R(rT, Ird) I I< 77 ] E(7rT, d) 12, R(n, 7d, d, d) I < 7 I ET(n, rd). (I E,((, r d) + I A I), where Wd is bounded and 7] is sufficiently large. Thus good T o approximations for L and L which are computationally simple, may be obtained 0 by setting R = R = 0 in (4.13) and (4.14). o Now consider the even simpler approximations L = Is and L = 0. Using these substitutions in the formulas for K and ED gives new functions K and ED. Note Ep and Ei remain unchanged and are equal to E. assume yd(t) is constant. Then a somewhat tedious development shows that the system (2.10) (or (2.10') if KI = 0) is replaced by w(t) = Aw(t) + Al(w(t))w(t), (4.15) where: Al: r7 - R9X9 is C', 7 c R9 is a neighborhood of the origin, and Al(0) = 0. Thus the approximate control law K, Ep, El, ED, maintains the original equilibrium w = 0 (or z = 0, E(q, yd) = 0, = = 0). Furthermore, when the system (4.5) is linearized at w = 0, the system (2.10) is obtained. If A is a stability matrix, this implies that the equilibrium solution of (4.15) is (locally) asymptotically stable. The approximate control law has another interesting feature. When K = 0, Kp = -k216, KD = -kle6 it gives the control law of [2]. This places a new perspective on the control law in [2] and provides a rigorous proof of its local stability for yd(t) constant. -There may be good reason for using the exact control law K, Ep, Ei, ED. The number of additional computer operations is not that large compared with the approximate law K, Ep, Ei, ED. And, unlike (4.15), the error equation (2.10) is Robot Systems Division

RSD-TR-483 14 linear. Thus error convergence is assured even though the initial error may be large. 5. Conclusion We have presented two rather simple results concerning the choice of feedback laws for the system (1.1) with error measure e(t) = E(q(t), yd(t)). The first, Theorem 2.1 concerns the existence and form of the feedback function, K in (2.4), which gives the error equation (2.5). Once (2.5) has been obtained a variety of schemes, of which (2.7), (2.8) is a simple example, can be used to complete the overall feedback law. The second result, Theorem 3.1, shows that such designs are robust in the sense that accuracy and stability are not badly upset if implementation errors are kept sufficiently small. While Theorem 3.1 applies to the feedback law described by (2.4), (2.7)-(2.9), ( 2.1 1), it is clear from Theorem 3.2 that similar results can be obtained for more complex situations. The main contribution of the paper is a systematic approach to feedback system design which is based on a general error expression. The value of the systematic approach is confirmed for the error expression E4, where the resulting control law can be viewed as a generalization of the one obtained in [2]. Other error expressions have been treated with similar success by the authors. The importance of the general solution formulas should not be overlooked. Since they are not burdened by the complex details of a specific physical problems, they allow one to focus on conceptual issues apart from the multitudinous details of implementation. For example, with integral control it is seen that high accuracy for constant (or near constant) inputs depends only on EI(qyd). Thus, if possible, Ei should be determined by direct physical measurement (endeffector sensors). On the other hand Ep and ED may be determined indirectly from q and q using formulas based on a reasonably accurate model of the actual Robot Systems Division

RSD-TR-4-83 15 physical system. 6. References [1] R. P. Paul, Robot Manipulators, MIT Press, Cambridge, Mass., 1981. [2] J. Y. S. Luh, M. W. Walker, and R. P. Paul, "Resolved acceleration control of mechanical manipulators," IEEE Trans. Automat. Contr., vol. A-25, 1980, pp. 468-474. [3] D. E. Whitney, "The mathematics of coordinated control of prosthetic arms and manipulators," J. Dynamic Syst. Measurement, Contr., Trans. ASME, Dec. 1972. [4] R. P. Paul, "Modelling trajectory calculation and servoing of a computer controlled arm," Stanford Artificial Intelligence Lab, A.I. Memo 177, Sept. 1972. [5] B. R. Markiewicz, "Analysis of the computed torque drive method and comparison with conventional position servo for a computer-controlled manipulator," Jet Propulsion Lab., Tech. Memo. 33-601, March 1973. [6] A. K. Bejczy, "Robot arm dynamics and control," Jet Propulsion Lab., Tech. Memo. 33-669, Feb 1974. [7] M. H. Raibert and B. K. P. Horn, "Manipulator control using the configuration space method," Industrial Robot, vol. t, 1978, p.. 69-73. [8] J. R. Hewit and J. Padovan, "Decoupled feedback control of robot and manipulator arms," Proc. 3rd Symp. on theory and Practice of Robots and Manipulators, Elsevier, 1978, pp. 251-266. [9] J. Y. S. Luh, M. W. Walker, and R. P. Paul, "On-line computational scheme for mechanical manipulators," J. Dynamic Syst. Measurement, Contr., Trans. ASME, vol. 102, 1980. [10] J. M. Hollerbach, "A recursive Lagrangian formulation of manipulator dynamics and a comparative study of dynamics formulation complexity," IEEE Trans. Systems, Man. and Cyber., vol. SMC-10, 1980, pp. 730-736. [11] M. W. Walker and D. E. Orin, "Efficient dynamic computer simulation of robot mechanisms," Joint Automat. Contr. Conf., 1981. [12] J. L. Turney, T. N. Mudge, C. S. G. Lee, "Connection between formulations of robot arm dynamics with applications to simulation and control," University of Michigan, CRIM Report No. RSD-TR-4-82, April 1982. [13] R. Su, G. Meyer, and L. R. Hunt, "robustness in nonlinear control," presented at Differential Geometric Control Theory Conference. Michigan Tech., Houghton, MI, 1982. Robot Systems Division

RSIDTR-4-3 16 [14] M. W. Hirsch and S. Smale, Differential Equations, Dynamical systems, and Linear Algebra, Academic Press, New York, 1974. Robot Systems Division