Advanced Control Techniques390 EXAMPLE 7.2–1: DCAL for the Two-Link Arm We wish to design and simulate the DCAL given in Table 7.2.1 for the two-link arm given in Figure 6.2.1. (The dynamics for this robot arm are given in Chapter 3.) Assuming that the friction is negligible and the link lengths are exactly known to be of length 1 m each, the DCAL can be written as (1) and (2) In the expression for the control torques, the regression matrix Y d (·) is given by (3) Figure 7.2.1: Block diagram of DCAL controller. Copyright © 2004 by Marcel Dekker, Inc. 7.2 Robot Controllers with Reduced On-Line Computation 391 where Formulating the adaptive update rule as given in Table 7.2.1, the associated parameter estimate vector is with the adaptive update rules (8) For m 1 =0.8 kg and m 2 =2.3 kg, the DCAL was simulated with The tracking error and mass estimates are depicted in Figure 7.2.2. As illustrated by the figure, the tracking error is asymptotically stable, and the parameter estimates remain bounded. (9) and and Copyright © 2004 by Marcel Dekker, Inc. 7.2 Robot Controllers with Reduced On-Line Computation 393 are repeatable if the desired trajectory is periodic. That is, even though there may be unknown constant parametric quantities in (7.2.29), the signal represented by the n×1 vector u d (t) will be periodic or repeatable. Therefore, in the subsequent discussion, we assume that the desired trajectory is periodic with period T. This periodic assumption on the desired trajectory allows us to write u d (t)=u d (t-T) (7.2.30) since the dynamics represented by u d (t) depend only on periodic quantities. Utilizing the repeatability of the dynamics given by (7.2.29), the RCL is formulated as (7.2.31) where the n×1 vector û d (t) is a learning term that is used to compensate for the repeatable dynamics u d (t), and all other quantities are the same as those defined for the DCAL. The learning term û d (t) is updated from trial to trial by the learning update rule (7.2.32) where k L is a positive scalar control gain. As done similarly in the adaptive control development, we will write the learning update rule given in (7.2.32) in terms of the learning error, which is defined as (7.2.33) Specifically, multiplying (7.2.32) by -1 and then adding u d (t) to both sides of (7.2.32) yields (7.2.34) By utilizing the periodic assumption given by (7.2.30), we can write (7.2.34) as (7.2.35) which gives the learning error update rule (7.2.36) where is defined in terms of (7.2.33). Copyright © 2004 by Marcel Dekker, Inc. Advanced Control Techniques394 Before we analyze the stability of the controller given in (7.2.31), we will form the corresponding error system. First, we rewrite (7.2.1) in terms of r defined in (7.2.6). That is, we have (7.2.37) where the n×1 vector u a (t) is used to represent the “actual manipulator dynamics” given by (7.2.38) Adding and subtracting the term u d (t) on the right-hand side of (7.2.37) yields (7.2.39) where is defined as (7.2.40) As shown similarly in [Sadegh and Horowitz 1990], this difference between the actual manipulator dynamics (i.e., u a (t)) and the repeatable manipulator dynamics (i.e., u d (t)) can be quantified as (7.2.41) where 1 , 2 , 3 , and 4 are positive bounding constants that depend on the desired trajectory and the physical properties of the specific robot configuration (i.e., link mass, link length, friction coefficients, etc.). The last step in forming the error system is to substitute the control given by (7.2.31) into (7.2.39) to yield (7.2.42) We now analyze the stability of the error system given by (7.2.42) with the Lyapunov-like function (7.2.43) Differentiating (7.2.43) with respect to time yields Copyright © 2004 by Marcel Dekker, Inc. 7.2 Robot Controllers with Reduced On-Line Computation 395 (7.2.44) Substituting the error system given by (7.2.42) into (7.2.44) yields (7.2.45) By utilizing the skew-symmetric property and the learning error update law in (7.2.36), it is easy to show that the second line in (7.2.45) is equal to Therefore, by invoking the definition of r given in (7.2.6), (7.2.45) simplifies to (7.2.46) From (7.2.46) we can place an upper bound on in the following manner: (7.2.47) The rest of the stability argument is a modification of the stability argument presented in the preceding section for the DCAL. Specifically, we first note that (7.2.18) and (7.2.47) are almost identical since in (7.2.18) and in (7.2.47) are bounded by the same scalar function. After one retraces the steps of the DCAL stability argument, we can see that the controller gains k a and k p should still be adjusted according to (7.2.22) and (7.2.25), respectively. However, the controller gain k v , is adjusted in conjunction with the controller gain k L to satisfy (7.2.48) where 1 , 2 , 3 , and 4 are defined (7.2.41). If the controller gains are adjusted according to (7.2.22), (7.2.25), and (7.2.48), then from the analytical Copyright © 2004 by Marcel Dekker, Inc. Advanced Control Techniques396 development given for the DCAL (i.e., (7.2.18) to (7.2.24)) and (7.2.47), we can place the new upper bound on : (7.2.49) where λ 3 is a positive scalar constant given by λ min {Q 0 }, We now detail the type of stability for the tracking error. First note that from (7.2.49), we can place the new upper bound on : Multiplying (7.2.51) by -1 and integratisg the left-hand side of (7.2.51) yields (7.2.52) Since is negative semidefinite as delineated by (7.2.49), we can state that V is a nonincreasing function and therefore is upper bounded by V(0). By recalling that M(q) is lower bounded as delineated by the positive-definite property of the inertia matrix, we can state that V given in (7.2.43) is lower bounded by zero. Since V is nonincreasing, upper bounded by V(0), and lower bounded by zero, we can write (7.2.52) as (7.2.53) or The bound delineated by (7.2.54) informs us that (see Chapter 2), which means that the filtered tracking error r is bounded in the “special” way given by (7.2.54). (7.2.50) which implies that (7.2.51) (7.2.54) Copyright © 2004 by Marcel Dekker, Inc. 7.2 Robot Controllers with Reduced On-Line Computation 397 To establish a stability result for the position tracking error e, we establish the transfer function relationship between the position tracking error and the filtered tracking error r. From (7.2.6), we can state that e(s)=G(s)r(s), (7.2.55) where s is the Laplace transform variable, G (s)=(sI+I) -1 , (7.2.56) and I is the n×n identity matrix. Since G(s) is a strictly proper, asymptotically stable transfer function and , we can use Theorem 2.4.7 in Chapter 2 to state that (7.2.57) Therefore, if the controller gains are selected according to (7.2.22), (7.2.25), and (7.2.48), the position tracking error e is asymptotically stable. In accordance with the theoretical development presented in this section, all we can say about the velocity tracking error e is that it is bounded. It should be noted that if the learning estimate û d (t) in (7.2.32) is “artificially” kept from growing, we can conclude that the velocity tracking error is asymptotically stable [Sadegh et al. 1990]. The stability proof for this modification is a straightforward application of the adaptive control proofs presented in Chapter 6. The repetitive controller examined in this section is summarized in Table 7.2.2 and depicted in Figure 7.2.3. After glancing through Table 7.2.2, we can see that the RCL requires very little information about the robot being controlled as opposed to adaptive controllers that required the formulation of regression-type matrices. Another obvious advantage of the RCL is that it requires very little on-line computation. We now present an example to illustrate how Table 7.2.2 can be used to design repetitive controllers for robot manipulators. EXAMPLE 7.2–2: RCL for the Two-Link Arm We wish to design and simulate the RCL given in Table 7.2.2 for the two-link arm given in Figure 6.2.1. (The dynamics for this robot arm are given in Chapter 3.) From Table 7.2.2, the RCL can be written as (1) and Copyright © 2004 by Marcel Dekker, Inc. Advanced Control Techniques400 In Chapter 5 we discussed the use of robust controllers for the control of robot manipulators. Two of the attractive features of the robust controllers are that on-line computation is kept to a minimum and their inherent robustness to additive bounded disturbances. One of the disadvantages of the robust control approach is that these controllers require a priori known bounds on the uncertainty. In general, calculations of the bounds on the uncertainty can be quite a tedious process since this calculation involves finding the maximum values for the mass and friction related constants for each link of the robot manipulator. Another disadvantage of the robust control approach is that even in the absence of additive bounded disturbances, we cannot guarantee asymptotic stability of the tracking error. In general, it would be desirable to obtain at least a “theoretical” asymptotic stability result for the tracking error. In this section an adaptive robust controller is developed for the tracking control of robot manipulators. The adaptive robust controller can be thought of as combining the best qualities of the adaptive controller and the robust controller. This control approach has the advantages of reduced online calculations (compared to the adaptive control method), robustness to additive bounded disturbances, no a priori knowledge of system uncertainty, and asymptotic tracking error performance. For purposes of control design in this section, we assume that the robotic manipulator is a revolute manipulator with dynamics given by (7.3.1) where F d is a n×n positive definite, diagonal matrix that is used to represent the dynamic coefficients of friction, vector containing the Figure 7.2.4: Simulation of RCL. Copyright © 2004 by Marcel Dekker, Inc. 7.3 Adaptive Robust Control 401 static friction terms, T d is a n×1 vector representing an unknown bounded disturbance, and all other quantities are as defined in Chapter 3. The adaptive robust controller is very similar to the robust control strategies discussed in Chapter 5 in that an auxiliary controller is used to “bound” the uncertainty. Recall from Chapter 5 that the robust controllers bounded the uncertainty by using a scalar function that was composed of tracking error norms and positive bounding constants. For example, suppose that the dynamics given by (7.3.2) represent the uncertainty for a given robot controller. That is, the dynamics given by (7.3.2) are uncertain in that payload masses, coefficients of friction, and disturbances are not known exactly. It is assumed; however, that a positive scalar function ρ can be used to bound the uncertainty as follows: (7.3.3) As delineated in [Dawson et al. 1990], the physical properties of the robot manipulator can be used to show that the dynamics given by (7.3.2) can be bounded as (7.3.4) and δ 0 , δ 1 , and δ 2 are positive bounding constants that are based on the largest possible payload mass, link mass, friction coefficients, disturbances, and so on. In general, the robust controllers presented in Chapter 5 required that the bounding constants defined in (7.3.4) be formulated a priori. The adaptive robust controller that will be developed in this section “learns” these bounding constants on-line as the manipulator moves. That is, in the control implementation, we do not require knowledge of the bounding constants; rather, we only require the existence of the bounding constants defined in (7.3.4). Similar to the general development presented in [Corless and Leitmann 1983], the adaptive robust controller has the form (7.3.6) (7.3.5) where Copyright © 2004 by Marcel Dekker, Inc. [...]... adaptive controllers for robotic manipulators,” Int J Robot Res., vol 9, no 3, pp 74–92, June 1990 [Sadegh et al 1990] Sadegh, N., R.Horowitz, W.Kao, and M.Tomizuka, “A unified approach to the design of adaptive and repetitive controllers for robotic manipulators,” Trans ASME, vol 112 , pp 618–629, Dec 1990 [Spong 1987] Spong, M., “Modeling and control of elastic joint robots,” J Dyn Syst., Meas Control, ... containing uncertain functions and unknown functions with uncertain bounds,” J Optim Theory Appl., Jan 1983 [Dawson et al 1990] Dawson, D.M., Z.Qu, F .L.Lewis, and J.F.Dorsey, “Robust control for the tracking of robot motion,” Int J Control, vol 52, pp 581–595, 1990 [Eppinger and Seering 1987] Eppinger, S., and W.Seering, “Introduction to Dynamic models for robot force control, ” IEEE Control Syst Mag., vol... the state-space form (7.4.8) where On×n is the n×n zero matrix, and In×n is the n×n identity matrix As one can plainly see, there is no control input in (7.4.8); therefore, we will add and subtract the term BM-1(q)uL on the right-hand side of (7.4.8) to yield (7.4.9) where uL is an n×1 vector representing a “fictitious” n×1 control input As it turns out, the controller uL is the computed-torque controller... [Ghorbel and Spong 1990] Ghorbel, F:, and M.Spong, “Stability analysis of adaptively controlled flexible joint robots,” Proc IEEE Conf Decision Control, Honolulu, pp 2538–2544, 1990 [Kokotovic et al 1986] Kokotovic, P.V., H.Khalil, and J.O’Reilly, Singular Perturbation Methods in Control Analysis and Design New York: Academic Press, 1986 [Sadegh and Horowitz 1990] Sadegh, N., and R.Horowitz, “Stability and. .. bounded The corrective controller derived above is summarized in Table 7.4.1 and depicted in Figure 7.4.1 We now present an example to illustrate how Table 7.4.1 can be used to design corrective controllers for RLED robots EXAMPLE 7.4–1: Corrective Controller for the One-Link RLED Arm We wish to design and simulate a corrective controller using Table 7.4.1 for the one-link motor-driven robot arm given in... is no control input in (7.4.32); we add and subtract the term BM-1(q)uL on the right-hand side of (7.4.32) to yield (7.4.33) where uL is again used to represent a fictitious n×1 control input As before, the fictitious controller uL will be embedded inside the overall control strategy, which is designed at the control input uF Continuing with the error system development, we define uL for RLFJ robots... the control input will remain bounded The corrective controller derived above is summarized in Table 7.4.2 and depicted in Figure 7.4.4 We now present an example to illustrate how Table 7.4.2 can be used to design corrective controllers for RLFJ robots EXAMPLE 7.4–2: Corrective Controller for the One-Link RLFJ Arm We wish to design and simulate a corrective controller using Table 7.4.2 for the one-link... 7.3.1: Adaptive Robust Controller The adaptive robust controller derived in this section is summarized in Table 7.3.1 and depicted in Figure 7.3.1 We now present an example to illustrate how Table 7.3.1 can be used to design adaptive robust controllers for robot manipulators EXAMPLE 7.3–1: Adaptive Robust Controller for the Two-Link Arm We wish to design and simulate the adaptive robust controller given... fictitious controller uL is actually embedded inside the overall control strategy, which is designed at the voltage control input uE Continuing with the error system development, we define uL for RLED robots to be the computed-torque controller (7.4.10) Copyright © 2004 by Marcel Dekker, Inc (7.4 .11) 7.4 Compensation for Actuator Dynamics 411 where KLv and KLp are defined to be n×n positive-definite... two-link arm given in Figure 6.2.1 (The dynamics for this robot arm are given in Chapter 3.) To model friction and disturbances, the dynamics (1) and Copyright © 2004 by Marcel Dekker, Inc 406 Advanced Control Techniques (2) were added to respectively, in the two-link robot model We can now use Table 7.3.1 to formulate the adaptive robust controller as (3) and (4) In the expression above for the control . controllers for robot manipulators. EXAMPLE 7.3–1: Adaptive Robust Controller for the Two-Link Arm We wish to design and simulate the adaptive robust controller given in Table 7.3.1 for the two-link. tracking control of robot manipulators. The adaptive robust controller can be thought of as combining the best qualities of the adaptive controller and the robust controller. This control approach. an example to illustrate how Table 7.2.2 can be used to design repetitive controllers for robot manipulators. EXAMPLE 7.2–2: RCL for the Two-Link Arm We wish to design and simulate the RCL given