145 with the control input defined by (3.4.18) This is a nonlinear state equation of the form (3.4.4). It is important to note that this dynamical equation is linear in the control input u, which excites each component of the generalized momentum p(t). This Hamiltonian state-space formulation was used to derive a PID control, law using the Lyapunov approach in [Arimoto and Miyazaki 1984] and to derive a trajectory-following control in [Gu and Loh 1985]. Position/Velocity Formulations Alternative state-space formulations of the arm dynamics may be obtained by defining the position/velocity state x ⑀ R 2n as (3.4.19) For simplicity, neglect the disturbance τ d and friction F v +F d ( )and note that according to (3.4.2), we may write (3.4.20) Now, we may directly write the position/velocity state-space representation (3.4.21) which is in the form of (3.4.4) with u(t)= τ (t) An alternative linear state equation of the form (3.4.5) may be written as (3.4.22) with control input defined by (3.4.23) Both of these position/velocity state-space formulations will prove useful in later chapters. Feedback Linearization Let us now develop a general approach to the determination of linear state- space representations of the arm dynamics (3.4.1)–(3.4.2). The technique involves a linearization transformation that removes the manipulator 3.4 State-Variable Representations and Feedback Linearization Copyright © 2004 by Marcel Dekker, Inc. Robot Dynamics146 nonlinearities. It is a simplified version of the feedback linearization technique in [Hunt et al. 1983, Gilbert and Ha 1984]. See also [Kreutz 1989]. The robot dynamics are given by (3.4.2) with q ⑀ R n Let us define a general sort of output by (3.4.24) with h(q) a general predetermined function of the joint variable q ⑀ R n and s(t) a general predetermined time function. The control problem, then, will be to select the joint torque and force inputs τ(t) in order to make the output y(t) go to zero. The selection of h(q) and s(t) is based on the control objectives we have in mind. For instance, if h(q)=-q and s(t)=q d (t), the desired joint space trajectory we would like the arm to follow, then y(t)=q d (t)-q(t)=e(t) the joint space tracking error. Forcing y(t) to zero in this case would cause the joint variables q(t) to track their desired values q d (t), resulting in arm trajectory following. As another example, could represent the Cartesian space tracking error, with the position error and e 0 ⑀ R 3 the orientation error. Controlling y(t) to zero would then result in trajectory following directly in Cartesian space, which is, after all, where the desired motion is usually specified. Finally, -h(q) could represent the nonlinear transformation to a camera frame of reference and s(t) the desired trajectory in that frame. Then y(t) is the camera frame tracking error. Forcing y(t) to zero would then result in tracking motion in camera space. Feedback Linearizing Transformation. To determine a linear state-variable model for robot controller design, let us simply differentiate the output y(t) twice to obtain (3.4.25) (3.4.26) where we have defined the Jacobian (3.4.27) If y ⑀ R p , the Jacobian is a p×n matrix of the form Copyright © 2004 by Marcel Dekker, Inc. 147 (3.4.28) Given the function h(q), it is straightforward to compute the Jacobian J(q) associated with h(q). In the special case where represents the Cartesian velocity, J(q) is the arm Jacobian discussed in Appendix A. Then, if all joints are revolute, the units of J are those of length. According to (3.4.2), (3.4.29) so that (3.4.26) yields (3.4.30) Define the control input function (3.4.31) and the disturbance function (3.4.32) Now we may define a state x(t) ⑀ R 2p by (3.4.33) and write the robot dynamics as (3.4.34) This is a linear state-space system of the form (3.4.35) driven both by the control input u(t) and the disturbance v(t). Due to the special form of A and B, this system is said to be in Brunovsky canonical form (Chapter 2). The reader should determine the controllability matrix to verify that it is always controllable from u(t). Equation (3.4.31) is said to be a linearizing transformation for the robot dynamical equation. We may invert this transformation to obtain (3.4.36) 3.4 State-Variable Representations and Feedback Linearization Copyright © 2004 by Marcel Dekker, Inc. Robot Dynamics148 where J + is the Moore-Penrose inverse [Rao and Mitra 1971] of the Jacobian J(q). If J(q) is square (i.e., p=n) and nonsingular, then J + (q)=J -1 (q) and we may write (3.4.37) As we shall see in Chapter 4, feedback linearization provides a powerful controls design technique. In fact, if we select u(t) so that (3.4.34) is stable (e.g., a possibility is the PD feedback ), then the control input torque τ (t) defined by (3.4.36) makes the robot arm move in such a way that y(t) goes to zero. In the special case y(t)=q(t), then J=I and (3.4.34) reduces to the linear position/velocity form (3.4.22). 3.5 Cartesian and Other Dynamics In Section 3.2 we derived the robot dynamics in terms of the time behavior of q(t). According to Table 3.3.1, (3.5.1) or (3.5.2) where the nonlinear terms are (3.5.3) We call this the dynamics of the arm formulated in joint space, or simply the joint-space dynamics. Cartesian Arm Dynamics It is often useful to have a description of the dynamical development of variables other than the joint variable q(t). Consequently, define (3.5.4) with h(q) a generally nonlinear transformation. Although y(t) could be any variable of interest, let us think of it here as the Cartesian or task space position of the end effector (i.e., position and orientation of the end effector in base coordinates). Copyright © 2004 by Marcel Dekker, Inc. 149 The derivation of the Cartesian dynamics from the joint-space dynamics is akin to the feedback linearization in Section 3.4. Differentiating (3.5.4) twice yields (3.5.5) (3.5.6) where the Jacobian is (3.5.7) The Cartesian velocity vector is , with v ⑀ R 3 the linear velocity and ω ⑀ R 3 the angular velocity. Let us assume that the number of links is n=6, so that J is square. Assuming also that we are away from workspace singularities so that |J|≠0, according to (3.5.6), we may write (3.5.8) which is the “inverse acceleration” transformation. Substituting this into (3.5.2) yields Recalling now the force transformation τ=J T F, with F the Cartesian force vector (see Appendix A) we have (3.5.9) This may be written as (3.5.10) where we have defined the Cartesian inertia matrix, nonlinear terms, and disturbance by (3.5.11) (3.5.12) (3.5.13) Equation (3.5.9)–(3.5.10) gives the Cartesian or workspace dynamics of the robot manipulator. 3.5 Cartesian and Other Dynamics Copyright © 2004 by Marcel Dekker, Inc. Robot Dynamics150 Note that , , and f d depend on q and , so that strictly speaking, the Cartesian dynamics are not completely given in terms of However. , and given y(t) we could use the inverse kinematics to determine q(t), so that , , f d can be computed as functions of y and using computer subroutines. Structure and Properties of the Cartesian Dynamics It is important to realize that all the properties of the joint-space dynamics listed in Table 3.3.1 carry over to the Cartesian dynamics as long as J is nonsingular [Slotine and Li 1987]. Note particularly that is symmetric and positive definite. For a revolute arm the Jacobian has units of length and is bounded. In that case, is bounded above and below. Defining (3.5.14) it follows that (3.5.15) with (3.5.16) where V m was defined in Section 3.3. It is easy to show that (3.5.17) is skew-symmetric. Indeed, use the identity (3.5.18) to see that Copyright © 2004 by Marcel Dekker, Inc. 151 which is skew symmetric since is. The friction terms in the Cartesian dynamics are (3.5.19) and they satisfy bounds like those in Table 3.3.1. Notice that in Cartesian coordinates the friction effects are not decoupled (e.g., J -T F v J -1 is not diagonal). The Cartesian gravity vector (3.5.20) is bounded. The property of linearity in the parameters holds and is expressed as (3.5.21) where the known Cartesian function of robot functions is (3.5.22) and ϕ is the vector of arm parameters. EXAMPLE 3.5–1: Cartesian Dynamics for Three-Link Cylindrical Arm Let us show how to convert the joint space dynamics found in Example 3.2.3 to Cartesian dynamics. From Example A.3–1, the arm Jacobian is (1) whence its inverse is (2) From Example 3.2.3 the arm inertia matrix is (3) 3.5 Cartesian and Other Dynamics Copyright © 2004 by Marcel Dekker, Inc. Robot Dynamics152 Applying (3.5.11) yields (verify!) (4) where . In a similar fashion, one may compute . 3.6 Actuator Dynamics We have discussed the dynamics of a rigid-robot manipulator in joint space and Cartesian coordinates. However, the robot needs actuators to move it; these are generally either electric or hydraulic motors. It is now required, therefore, to add the actuator dynamics to the arm dynamics to obtain a complete dynamical description of the arm plus actuators. A good reference on actuators and sensors is provided by [de Silva 1989]. Dynamics of a Robot Arm with Actuators We shall consider the case of electric actuators, assuming that the motors are armature controlled. Hydraulic actuators are described by similar equations. In this subsection we suppose that the armature inductance is negligible. The equations of the n—link robot arm from Table 3.3.1 are given by (3.6.1) where q ⑀ R n is the arm joint variable. The dynamics or the armature-controlled do motors that drive the links are given by the n decoupled equations (3.6.2) where with, q Mi , the ith rotor position angle and vec{α i } denoting a vector with components α i . The control input is the motor voltage vector v ⑀ R n The actuator coefficient matrices are all constants given by Copyright © 2004 by Marcel Dekker, Inc. 153 The actuator coefficient matrices are all constants given by (3.6.3) where the ith motor has inertia J Mi , rotor damping constant B Mi , back emf constant K bi , torque constant K Mi , and armature resistance R ai . The gear ratio of the coupling from the ith motor to the ith arm link is r i , which we define so that q i =r i q Mi or q=Rq M . (3.6.4) If the ith joint is revolute, then r i is a dimensionless constant less than 1. If q i is prismatic, then r i has units of m/rad. The actuator friction vector is given by F M =vec{F Mi } with F Mi the friction of the ith rotor. Note that capital “M” denotes motor constants and variables, while V m is the arm Coriolis/centripetal vector defined in terms of Christoffel symbols. Using (3.6.4) to eliminate q M in (3.6.2), and then substituting for τ from (3.6.1) results in the dynamics in terms of joint variables (3.6.5) or, by appropriate definition of symbols, (3.6.6) Properties of the Complete Arm-Plus-Actuator Dynamics. The complete dynamics (3.6.6) has the same form as the robot dynamics (3.6.1). It is very easy to verify that the complete arm-plus-actuator dynamics enjoys the same properties as the arm dynamics that are listed in Table 3.3.1 (see the Problems). In particular, V’ is one-half the difference between and a skew-symmetric matrix, all the boundedness assumptions hold, and linearity in the parameters holds. Thus, in future work where we design controllers, we may assume that the actuators have been included in the arm equation in Table 3.3.1 3.6 Actuator Dynamics Copyright © 2004 by Marcel Dekker, Inc. [...]... industrial robots based on a compact Lagrangian formulation,” Proc IEEE Conf Decision Control, pp 1497– 150 1, 19 85 [Gu and Loh 1988] Gu, Y-L., and N.K.Loh, “Dynamic modeling and control by utilizing an imaginary robot model,” IEEE J Robot Autom., vol 4, no 5, pp 53 2 53 4, Oct 1988 163 Copyright © 2004 by Marcel Dekker, Inc REFERENCES 1 65 [Spong and Vidyasagar 1989] Spong, M.W., and M.Vidyasagar, Robot Dynamics... Adaptive Control of Mechanical Manipulators Reading, MA: Addison-Wesley, 1988 [de Silva 1989] de Silva, C.W., Control Sensors and Actuators Englewood Cliffs, NJ: Prentice Hall, 1989 [Gilbert and Ha 1984] Gilbert, E.G., and I.J.Ha, “An approach to nonlinear feedback control with applications to robotics,” IEEE Trans Syst Man Cybern., vol SMC-14, no 6, pp 879–884, Nov./Dec 1984 [Gu and Loh 19 85] Gu, Y.-L., and. .. MA, 1984 [Asada and Slotine 1986] Asada, H., and J.-J.E.Slotine, Robot Analysis and Control, New York: Wiley, 1986 [Borisenko and Tarapov 1968] Borisenko, A.I., and I.E.Tarapov, Vector and Tensor Analysis with Applications Englewood Cliffs, NJ: Prentice Hall, 1968 [Brewer 1978] Brewer, J.W., “Kronecker products and matrix calculus in system theory, ” IEEE Trans Circuits Syst., vol CAS- 25, no 9, pp 772–781,... desired trajectory Before the robot can do any useful work, we must position it in the right place at the right instances In this chapter we discuss computed-torque control, which yields a family of easy-to-understand control schemes that often work well in practice These schemes involve the decomposition of the controls design problem into an inner-loop design and an outer-loop design In Section 4.4... “computed-torque controllers.” These generally perform well when the robot arm parameters are known fairly accurately Some connections are given with classical robot control, and modern design techniques are provided as well The effects of digital implementation of robot controllers are shown Trajectory generation is outlined 4.1 Introduction A basic problem in controlling robots is to make the manipulator. .. robot manipulator links were analyzed and included in Section 3.6 Copyright © 2004 by Marcel Dekker, Inc REFERENCES [Anderson 1989] Anderson, R.J., “Passive computed torque algorithms for robots,” Proc IEEE Conf Decision Control, pp 1638–1644, Dec 1989 [Arimoto and Miyazaki 1984] Arimoto, S., and F.Miyazaki, “Stability and robustness of PID feedback control for robot manipulators of sensory capability,”... Suh 19 85] , [Kahn and Roth 1971], [Kim and Shin 19 85] , [Shin and McKay 19 85] Copyright © 2004 by Marcel Dekker, Inc 4.3 Computer Simulation of Robotic Systems 181 4.3 Computer Simulation of Robotic Systems It is very important to simulate on a digital computer a proposed manipulator control scheme before actually implementing it on an arm We show here how to perform such computer simulations for robotic... dynamics using various control schemes Simulation of Digital Robot Controllers While most robot controllers are designed in continuous time, they are implemented on actual robots digitally That is, the control signals are only updated at discrete instants of time using a microprocessor We discuss the implementation of digital robot arm controllers in Section 4 .5 To verify that a proposed controller will operate... through This continuous-path generation problem is covered in Section 4.2 In most practical situations robot controllers are implemented on microprocessors, particularly in view of the complex nature of modern control schemes Therefore, in Section 4 .5 we illustrate some notions of the digital implementation of robot controllers Throughout, we demonstrate how to simulate robot controllers on a computer... here the robot is moving in free space, having no contact with its environment Contact results in the generation of forces The force control 169 Copyright © 2004 by Marcel Dekker, Inc 170 Computed-Torque Control problem is dealt with in Chapter 7 We will also assume in this chapter that the robot is a well-known rigid system, thus designing controllers based on a fairly well-known model Control in . industrial robots based on a compact Lagrangian formulation,” Proc. IEEE Conf. Decision Control, pp. 1497– 150 1, 19 85. [Gu and Loh 1988] Gu, Y -L. , and N.K.Loh, “Dynamic modeling and control by utilizing. constant coefficients. The dynamical effects of joint coupling and gravity appear only as disturbance terms multiplied by . That is, robot controls design is virtually the problem of simply controlling the actuator. Addison-Wesley, 1988. [de Silva 1989] de Silva, C.W., Control Sensors and Actuators. Englewood Cliffs, NJ: Prentice Hall, 1989. [Gilbert and Ha 1984] Gilbert, E.G., and I.J.Ha, “An approach to nonlinear