0% found this document useful (0 votes)
55 views33 pages

Chapter9 Craig 1989

Chapter 9 Linear Control of Manipulators

Uploaded by

willson rack
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
55 views33 pages

Chapter9 Craig 1989

Chapter 9 Linear Control of Manipulators

Uploaded by

willson rack
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 33
8.32) of the uileys, tepe in ability t of the n of the LINEAR CONTROL OF MANIPULATORS 9.1 _ Introduction Based on previous material, we now have the means to calculate joint position time histories that correspond to desired end-effector motions through space. In this chapter we begin to discuss how to cause the manipulator actually to perform these desired motions. ‘The control methods that we will discuss in this chapter fall into the class of linear control systems. Strictly speaking, the use of linear control techniques is only valid when the system being studied can be mathematically modeled by linear differential equations. For the case of manipulator control, such linear methods must essentially be viewed as approximate methods, since as we have seen in Chapter 6, the dynamics of manipulator are more properly represented by a nonlinear differential equation. However, we will see that it is often reasonable to make such approximations, and it also is the case that these linear methods are the ones most often used in current industrial practice. 300 9 Linear control of manipulators Finally, consideration of the linear approach will serve as a basis for the more complex treatment of nonlinear control systems in Chapter 10. Although we approach linear control as an approximate method for manipulator control, the justification for using linear controllers is not only empirical. In Chapter 10 we will prove that a certain linear controller leads to a reasonable control system even without resorting to a linear approximation of manipulator dynamics. Readers familiar with linesr control systems mey wish to skip the first four sections of this chapter. 9.2 Feedback and closed loop control We will model 2 manipulator es a mechanism which is instrumented with sensors at each joint to measure the joint angle, and an actuator at each joint to apply a torque on the neighboring (next higher) link.* Although other physical arrangements of sensors are sometimes used, the vast majority of robots have a position sensor at each joint. Sometimes velocity sensors (tachometers) are also present at the joints. Various actuation and transmission schemes are prevalent in industrial robots, but many of these can be modeled by supposing there is a single actuator at each joint. Since we wish to cause the manipulator joints to follow prescribed position trajectories, but the actuators are commanded in terms of torque, we must use some kind of control system to compute appropri- ate actuator commands which will realize this desired motion. Almost always these torques are computed by using feedback from the j sensors to compute the torque required. Figure 9.1 shows the relationship between the trajectory generator and the physical robot. The robot accepts « vector of joint torques, 7, from the control system. The manipulator’s sensors allow the controller to read the vector of joint positions, ©, and joint velocities, ©. All signal lines in Fig. 9.1 carry N x 1 vectors (where N is the number of joints in the manipulator). Let’s consider what algorithm might be implemented in the block: labeled “control system” in Fig. 9.1. One possibility is to use the dynaric equation of the robot (as studied in Chapter 6) to caleulate the torques required for a particular trajectory. Since we are given Q, Oy and Oy by the trajectory generator, we could use (6.59) to compute M(Q4)Oq + V(Ou,Oa) + Ga) (9.1) * Remember, al remarks made concerning rotational joints hold analogovtlv for linear joints and vice versa. FIGU This realiz accu use + traje: and pract an of the j. Oy is to Typir the d likew The the a. idea errors loop mani T the 1 tions Foro: vv’ for aapter tethod lers is linear ing to t with of this rented tuator link.* od, the atimes arious ohots, hor cribed ms of sropri- Almost e joint ierator ues, 7, stroller signal joints orques and Og (9.4) ) ogously 9.2. Feedback and closed loop control 2a) ‘Trajectory | Galt) Control generator [Oi system FIGURE 9.1 High-level block diagram of a robot control system. ‘This computes the torques that our model dictates would be required to realize the desired trajectory. If our dynamic model were complete and accurate and no “noise” or other disturbances were present, continuous use of (9.1) along the desired trajectory would realize the desired trajectory. Unfortunately, due to imperfection in the dynamic model, and the inevitable presence of disturbances, such a scheme is not practical for use in real applications. Such a. control technique is termed an open loop scheme because there is no use made of the feedback from the joint sensors (ie., (9.1) is a function only of the desired trajectory, ©, and its derivatives, and not a function of ©, the actual trajectory). Generally the only way to build a high-performance control system is to make use of feedback from joint sensors as indicated in Fig. 9.1. Typically, this feedback is used to compute servo error by finding the difference between the desired position and the actual position, and likewise between desired and actual velocity: E=0,-© 2 b=0,-6 ted ‘The control system can then compute how much torque to send to the actuators as some function of the servo error. Obviously, the basic idea is to compute actuator torques which would tend to reduce servo errors. A control system which makes use of feedback is called a closed loop system. The “loop” closed by such a control system around the manipulator is apparent in Fig. 9.1 ‘The central problem in designing a control system is to ensure that the resulting closed loop system meets certain performance specifica- tions. The most basic such criterion is that the system remain stable. For our purposes, we will define a system to be stable if the errors remain 301 302 9 Linear control of manipulators “small” when executing various desired trajectories even in the presence of some “moderate” disturbances. It should be noted that an improperly designed control systém can sometimes result in unstable performance, in which servo errors are enlarged instead of reduced. Hence, the first task of a control engineer is to prove that his or her design yields a stable system, and second to prove that the closed loop performance of the system is satisfactory. In practice, such “proofs” may range from mathematical proofs based on certain assumptions and models, to more empirical results such as those obtained through simulation or experimentation. Figure 9.1, in which all signals lines represent IV x 1 vectors, summa- rizes the fact that the manipulator control problem is a multi-input, multi-output (MIMO) control problem. In this chapter we take a sim- ple approach to constructing a control system by treating cach joint as separate system to be controlled. Hence, for an N-jointed manipulator, we will design NV independent single-input, single-output (SISO) control systems. This is the design approach presently adopted by most industrial robot suppliers. This independent joint control approach is an approximate method in that the equations of motion (developed in Chapter 6) are not independent, but rather are highly coupled. Later this chapter will present justification for the linear approach, at least for the case of highly geared manipulators. 9.3 Second-order linear systems Before considering the manipulator control problem, let’s step back anc start by considering @ simple mechanical system. Figure 9.2 shows @ block of mass m attached to a spring of stiffness k and subject to friction of coefficient 6. Figure 9.2 also indicates the zero position and positive sense of x, the block’s position. Assuming a frictional force which is proportional to the block's velocity, a ftee body diagram of the forces acting on the block leads directly to the equation of motion mit + ba + ka « Hence, the open loop dynamics of this one degree of freedom. system are described by a second-order linear constant coefficient differential equation [1]. The solution to the differential equation (9.3) is a time function, 2(¢), which specifies the motion of the block. This solution will depend on the block’s initial conditions, thet is, its initial position and velocity. ‘We will use this simple mechanicel system as an example for w! to review some basic control system concepts. Unfortunately, it FIGU impos introc that t will n For e neithe for tt b differs spring that i inay very } to res soluti Fr of the of its which The k in the systen and n be verly ance, first ds a ance ange dels, mn oF ama put, sim- as 8 ator, SO) most oach adin ater, t for and ws a tion sitive ch is orces (9.3) stem cntial time awill sition } which it is 9.3. Second-order linear systems FIGURE 9.2 Spring-mass system with friction. impossible to do justice to the field of control theory with only a brief introduction here. We will discuss the control problem only assuming that the student is familiar with simple differential equations. Hence, we will not use many of the popular tools of the control engineering trade. For example, Laplace transforms and other common techniques are neither a prerequisite nor are they introduced here. A good reference that the system of Fig. 9.2 might exhibit several different characteristic motions. For example, in the case of a very weak spring (i.e., k small) and very heavy friction (ie., b large) one imagines that if the block were perturbed, it would return to its resting position in a very slow, sluggish manner, However, with a very stiff spring and very low friction, the block might oscillate several times before coming to rest. These different possibilities arise because the character of the solution to (9.3) depends upon the parameter values: m, b, and k. From the study of differential equations (1], we know that the form of the solution to an equation of the form of (9.3) depends on the roots of its characteristic equation, ms? +bs+k=0, (9.4) which has the roots (9.5) ‘The location of 5, and sz (sometimes called the poles of the system) in the real-imaginary plane dictate the nature of the motions of the system. If 9, and 8, are real, then the behavior of the system is sluggish and nonoscillatory. If 9, and #2 are complex (i.e., have an imaginary 303, 304 9 Linear control of manipulators component) then the behavior of the system is oscillatory. If we include the special limiting case between these two behaviors, we have three classes of response to study: 1, Real and Unequal Roots. This is the case when 6 > 4mk; that is. friction dominates, and sluggish behavior results. This response is called overdamped. 2. Complex Roots. This is the case when b? < 4 mk; that is, stiffness dominates, and oscillatory behavior results. This response is called underdamped. Real and Equal Roots. This is the special case when 6? = 4mk; that is, friction and stiffness are “balanced,” yielding the fastest possible nonoscillatory response. This response is called critically damped. The third case (critical damping) is generally a desirable situation since the system nulls out nonzero initial conditions and returns to its nominal position as rapidly as possible without oscillatory behavior. Real and unequal roots. It can easily be shown (by direct substitution into (9.3) that the solution, (2), giving the motion of the block in the case of real, unequal roots has the form x(t) = ce" + cge*2", (9.6) where s, and g, are given by (9.5). The coefficients c, and c, are constants which can be determined for any given set of initial conditions (ie., initial position and velocity of the block). Figure 9.3 shows an example of pole locations and the corresponding time response to a nonzero initial condition. When the poles of a second-order system are real and unequal, the system exhibits sluggish or overdamped motion. In cases where one of the poles has a much greater magnitude than the other, the pole of larger magnitude can be neglected, as the term corresponding to it will decay to zero rapidly in comparison to the other. more dominant pole. This same notion of dominance extends to higher order systems, for example, often a third-order system can be studied as a second-order system by considering only two dominant poles. EN 2X AMPLE 9.1 Determine the motion of the system in Fig. 9.2 if parameter values are m = 1, =5, and k = 6 and the block (initially at rest) is released from the position 2 = ae Ye ure that onse thess alled mk; stest. vally tion o its qual 9.6) are ions ding ota gish han erm, her, sher died Jog 9.3. Second-order linear systems FIGURE 9.3 Root location and response to initial conditions for an overdamped system. ‘The characteristic equation is s)+55+6=0 (9.7) which has roots s, =2 and s, +3. Hence, the response has the form a(t) = eye + oye (9.8) We now use the given initial conditions, (0) = —1 and #(0) = 0 to determine ¢, and cz. To satisfy these conditions at t = 0 we must have ate =-l, (9.9) —2e, — 3eg which is satisfied by cy = —3 and cy = 2. So, the motion of the system for t > 0 is given by x(t) = -3e7#* + 2673 . (9.10) Complex roots For the case where the characteristic equation has complex roots of the form 81 = A+ Hi, pa eaTh (9.11) 305, 306, 9. Linear control of manipulators it is still the case that the solution has the form a(t) = cye*!* + cge%2", (9.12) However, equation (9.12) is difficult to use directly since it involves imaginary numbers explicitly. It can be shown (see Exercise 9.1) that, using Euler’s formula, ef = cose + ising, (9.13) the solution (9.12) can be manipulated into the form x(t) = ce cos(ut) + cze** sin(ut), (9.14) As before, the coefficients c, and c, are constants which can be deter- mined for any given set of initial conditions (i.c., initial position and velocity of the block). If we write the constants ¢; and cy in the form cy = rcos6, cg =rsind, (618) then (9.14) can be written in the form z(t) = re™ cos(ut ~ 6), (9.16) where r=yel+e3, (9.17) 6 = Atan2(e,,¢). In this forma, it is easier to see that the resulting motion is an oscillation whose amplitude is exponentially decreasing toward zero. Another common way of describing oscillatory second-order systems is in terms of damping ratio and natural frequency. These terms are defined by the parameterization of the characteristic equation given by 2 8+ Cw, 8 + ui (9.18) where ¢ is the damping ratio (a dimensionless number between 0 and 1), and w, is the natural frequency." Relationships between the pole locations and these parameters are As Gon H=WyaVl-C. * The terms damping ratio and natural frequency. can also be applied to over~ damped systems, in which ease ¢ > 1.0. (9.19) In thi called systen given When becom: tatio i: Fy time r. second. underd De are m from t1 Th which 1 FIGURE underdar 1.12) dives that 3.18) 9.14) eter- and om. 9.15) \ 26) (e.17) lation ‘stems ms are ven by (9.18) Oand te pole (9.19) 3 to over ‘ 9.3. Second-order linear systems In this terminology 4, the imaginary part of the poles, is sometimes called the damped natural frequency. For a damped spring-mass system such as in Fig. 9.2, the damping ratio and natural frequency are given by ce 2Vkm* (9.20) won = Vim. When no damping is present (b = 0 in our example) the damping ratio becomes zero, and when critically damped (6? = 4km) the damping ratio is 1. Figure 9.4 shows an example of pole locations and the corresponding time response to a nonzero initial condition. When the poles of a second-order system are complex, the system exhibits oscillatory or underdamped motion. EE EXAMPLE 9.2 Determine the motion of the system in Fig. 9.2 if parameter values are m = 1, b= 1, and k = 1 and the block (initially at rest) is released from the position 2 = —1. ‘The characteristic equation is s494+1=0, (9.21) which has roots s, = —} + ¥8i. Hence, the response has the form 4 2 2 a(t) =e7# (as Bese, sin ‘) (9.22) FIGURE 9.4 Root location and response to initial conditions for an underdamped system. : 307 308 9 Linear control of manipulators ‘We now use the given initial conditons, x(0) = ~1 and (0) = 0 to determine c, and cz. To satisfy these conditions at t = 0 we must have (9.23) 1 and cy = ¥%&. So, the motion of the system which is satisfied by for t > 0 is given by a(t) =e73 (-o= fs Ban 38) (9.24) ‘This result can also be put in the form of (9.16) as a(t) = wins oo Se 120°). (9.25) Real and equal roots. By substitution into (9.8) it can be shown that in the case of real and equal (i., repeated roots) the solution has the form a(t) = eye"! + ete", (9.26) where in this case s, = 82 = 24; so that (9.26) can be written a(t) = (cy + eat) e7 amt (9.27) In case it is not clear, a quick application of PHépital’s rule (2; shows that for any cy, 2, and a, im, (cy + eathe™™* = 0. (9.28) Figure 9.5 shows an example of pole locations and the corresponding time response to @ nonzero initial condition. When the poles of a second-order system are real and equal, the system exhibits critically damped motion, the fastest possible nonoscillatory response. FIGU! critica are m from T which deter: which for t In passiv. mecha fo have 9.23) sstem (9.24) (9.25) (9.26) (9.27) sule {2] (9.28) ponding ofa u.cally 9.3 Second-order linear systems FIGURE 9.5 Root location and response to initial conditions for a critically damped system. NE EXAMPLE 9.3 Determine the motion of the system in Fig. 9.2 if parameter values are m= 1, b= 4, and k = 4 and the block (initially at rest) is released from the position x = -1. The characteristic equation is a +4s44=0 (9.29) which has roots 5; = 8) = 2. Hence, the response has the form u(t) = (¢ +98) e7?* (9.30) We now use the given initial conditons, x(0) = —1 and #(0) = 0 to determine ¢, and cp. To satisfy these conditions at t = 0 we must have =) 9.31 2c, +e =0, ee 2. So, the motion of the system which is satisfied by cy = —1 and cy for t > 0 is given by att) =(-1-2e77 (9.32) In Examples 9.1 through 9.3 all the systems were stable. For any Passive physical system like that of Fig. 9.2 this will be the case. Such mechanical systems always have the properties 309 310, 9 Linear control of manipulators m>0, b>o, (9.33) k>0. In the next section we will see that the action of a control system is to effectively change the value of one or more of these coefficients. It will then be necessary to consider whether the resulting system is stable or not. 9.4 Control of second-order systems Suppose that the natural response of our second-order mechanical system is not as we wish it to be. Perhaps it is underdamped and oscillatory and we would like it to be critically damped. Or perhaps the spring is missing eltogether (k = 0) and so the system never returns to 2 = 0 if disturbed. Through the use of sensors, an actuator, and a control system we can modify the system’s behavior as desired. Figure 9.6 shows a damped spring-mass system with the addition of an actuator with which it is possible to apply a force f to the block. A free body diagram leads to the equation of motion mi + bi + ke = f. (9.34) Let's also assume that we have sensors which are capable of detecting the block’s position and velocity. We now propose a control law which computes the force which should be applied by the actuator as a function of the sensed feedback as f= nhyt — hyd. (9.35) FIGURE 9.6 A damped spring-mass system with an actuator. Fig tot ine Imy the one ala whi of ( or or whe the: Joo} wis! U= dire par: FIGt of th 1.93) is to will le or nical and chaps turns ind a of cox. A (9.84) ecting which action (9.35) 9.4 Control of second-order systems Figure 9.7 is a block diagram of the closed loop system, where the portion to the left of the dashed line is the control system (usually implemented in a computer) and to the right of the dashed line is the physical system. Implicit in the figure are interfaces between the control computer and the output actuator commands and the input sensor information. The control system we have proposed is a position regulation system—it simply attempts to maintain the position of the block in one fixed place regardless of disturbance forces applied to the block, In a later section we will construct a trajectory-following control system which can cause the block to follow a desired position trajectory. By equating the open loop dynamics of (9.34) with the control law of (9.35) we can derive the closed loop dynamics as mé+ be + ke = —hyx— ky, (9.36) or mé+ (b+ ky)é+ (b+ by) (9.37) or iné +0 + k's =0, (9.38) where b = 6 +k, and k’ = k +k,. From (9.37) and (9.38) it is clear that by choosing our control gains, k, and kp, we can cause the closed loop systemn to appear to have any second system behavior that we wish. Often, gains would be chosen to obtain critical damping (i.e., ¥! = 2V/mk’) and some desired closed loop stiffness which is given directly by k’. Note that k, and k, may be positive or negative depending on the parameters of the original system. However, if b’ or k’ became negative, FIGURE 9.7 A closed loop control system. The control computer (to the left of the dashed line) reads sensor input and writes actuator output commands. S11 312 9 Linear control of manipulators the result would be an unstable control system. This instability would be obvious if one writes down the solution of the second-order differential equation (in the form of (9.6), (9.14), or (9.26)). It also makes intuitive sense, that if b' or k” are negative, servo errors tend to get magnified rather than reduced. EN EXAMPLE 9.4 If the parameters of the system in Fig. 9.6 are m = 1, b = 1, and k= 1, find gains k, and h, for a position regulation control law which results in the system being critically damped with a closed loop stiffness of 16.0. If we wish k’ to be 16.0, then for critical damping we require ¥ = 2Vimk = 8.0. Since k = 1 and b = 1 we need 5.0, (9.39) 9.5 Control law partitioning In preparation for designing control laws for more complicated systems, let us consider a slightly different controller structure for the sample problem of Fig. 9.6. In this method we will partition the controller into a model-based portion and a servo portion. ‘The result is that the system’s parameters (i.e., m, 6, and & in this case) appear only in the model-based portion, and the servo portion is independent of these parameters. At the moment, this distinction may not seem important but it will become more important as we consider nonlinear systems in Chapter 10. We will adopt this control law partitioning approach throughout the book. The open loop equation of motion for the system is ma + bi + he = f. (9.40) ‘We wish to decompose the controller for this system into two parts. In this case, the model-based portion of the control law will make use of supposed knowledge of m, 6, and &. This portion of the control law is set up such that it reduces the system so that it appears to be a unit mass. ‘This will become clear when we do an example below. The second part of the control law makes use of feedback to modify the behavior of the system. Since the model-based portion of the control law has the effect of making the system appear as a unit mass, the design of the servo portion is very simple—gains ere chosen to control a system compose? of a single unit mass (i.¢., no friction, no stiffness). the f wher is tal ‘unit result Clear input the s FIGU contre 9.5 Control law partitioning [313 } ‘The model-based portion of the control appears in a control law of itial the form tive fe fraf'+B, (9.41) where a and @ are functions or constants and are chosen so that if f” is taken as the new input to the system, the system appears to be a and ‘unit mass. With this structure of control law, the system equation (the hich result of combining (9.40) and (9.41) is ness \uire mé-+ be + ke = af" +8. (9.42) Clearly, in order to make the system appear as a unit mass from the f” sae input, for this particular system we should choose a and fi as B= bet ke. (9.48) } Making these assignments and plugging them into (9.42), we have ae the system equation that @=/' (9.44) bused FIGURE 9.8 A closed loop control system employing the partitioned : control method. 314 9 Linear control of manipulators This is the equation of motion for @ unit mass. We now proceed as if (9.44) were the open loop dynamics of a system to be controlled. We design a control law to compute f' just as we did before: f Kyi — kya. (9.45) Combining this control law with (9.44) yields (9.46) Bt hye + hy Using this methodology, the setting of the control gains is simple, and is independent of the system parameters, namely (9.47) must hold for critical damping. Figure 9.8 shows a block diagram of the partitioned controller used to control the system of Fig. 9.6. EE EXAMPLE 0.5 If the parameters of the system in Fig. 9.6 are m = 1, 6 = 1, and k = 1, find @, 8, and gains k, and k, for a position-regulation control law which results in the system being critically damped with a closed loop stiffness of 16.0. We choose (9.48) so thet the system appears as a unit mass from the fictitious f" input. We then set gain k, to the desired closed loop stiffness, and set k, = 2\/ky for critical damping. This gives ky = 16.0, k=80 0 (9.49) Rath enhar trajec specit is sm gener error contr We s: of mc or Since the ¢ damp be w relati our t ve 15) 16) nd 47) she 48) We 149) 9.6 Trajectory-following control FIGURE 9.9 A trajectory following controller for the system in Fig. 9.6 9.6 _ Trajectory-following control Rather than just maintaining the block at a desired location, let us enhance our controller so that the block can be made to follow a trajectory. The trajectory is given by a function of time, e4(), which specifies the desired position of the block. We assume that the trajectory is smooth (i.e., the first two derivatives oxist) and that our trajectory generator provides 24, 4, and dy at all times ¢. We define the servo error between the desired and actual trajectory as e = 24-2. A servo control law which will cause trajectory following is f= Bg t het hye (9.50) We see that (9.50) is a good choice if we combine it with the equation of motion of a unit mass (9.44), which leads to fig thyet hye, (9.51) or Eth tkye = 0. (9.52) Since this is a second-order differential equation for which we can choose the coefficients, we can design any response we wish (often critical damping is the choice made). Such an equation is sometimes said to be written in error space since it describes the evolution of errors relative to the desired trajectory. Figure 9.9 shows a block diagram of our trajectory following controller. 315, 316. 9 Linear control of manipulators Ifour model is perfect (i.¢., our knowledge of m, b, and k) and if there is no noise and no initial error, the block will follow the desired trajectory exactly. If there is an initial error, it will be suppressed according to (9.52), and thereafter the system will follow the trajectory exactly. 9.7 _ Disturbance rejection One of the purposes of # control system is to provide disturbance rejection, that is, to maintain good performance (i.c., small errors) even in the presence of some external disturbances or noise. In Fig. 9.10, we show the trajectory-following controller with an additional input of a disturbance force, fzj.;- An analysis of our closed loop system leads to the error equation B+ Ret hye = Sacer (9.58) Equation (9.53) is that of a differential equation driven by a foreing function. If it is known that fyjse is bounded, that is, a constant @ exists such that max facee(t) <0 (9.54) then the solution of the differential equation, ¢(t), is also bounded. This is due to a property of stable linear systems known as bounded-input, FIGURE 9.10 A trajectory-following control system with a disturbance acting. bor enst ass Ste: Let’ ac ana are equ or iscl ere Adc Inc tim: tot whi The int writ whic 50 53) ing ta this out, 9.7 Disturbence rejection bounded-output or BIBO stability [3, 4]. This very basic result ensures that for a large class of possible disturbances, we can at least be assured that the system remains stable. Steady-state error Let’s consider the simplest kind of disturbance, namely when fui: is a constant. In this case we can perform a steady-state analysis by analyzing the system at rest (j.e., the derivatives of all system variables are zero). Setting derivatives to zero in (9.53) yields the steady-state equation ye = faists (9.55) or €= faiee/hy (9.56) ‘The value of ¢ given by (9.58) represents a steady-state error. Thus it is clear that the higher the position gain k, the smaller the steady-state error will be. Addition of an integral term In order to eliminate steady-state error a modified control law is some- times used. The modification involves the addition of an integral term to the control law. The control law becomes Bg t hye + hye + hy { edt, (9.57) which results in the error equation Bt hye t hye hy | edt = far (9.58) ‘The term is added so that the system will have no steady-state error in the presence of constant disturbances. If e(t) < 0 for # < 0 we can write (9.58) for t > 0 as hye + ket hie = fists (9.59) which in the steady-state (for a constant disturbance) becomes ke =0, (9.60) (9.61) 317 318 9 Linear control of manipulators With this control law the system becomes a third-order system, and one can solve the corresponding third-order differential equation to determine the response of the system to initial conditions. Often kk; is kept quite small so that the third-order system is “close” to the second-order system without this term (j.e., a dominant pole analysis can be performed). The form of control law (9.57) is called a PID control law, or “proportional, integral, derivative” control law (4]. For simplicity, the displayed equations generally do not show an integral term in the control laws which we develop in this book. 9.8 Continuous vs. discrete time control In the control systems we have discussed we implicitly assumed that the control computer performs the computation of the control law in zero time (i.e., infinitely fast) so that the value of the actuator force f follows that of a continuous function of time. Of course, in reality the computation requires some time, and the resulting command force is therefore a discrete “staircase” function. We shall employ this approximation of a very fast control computer throughout the book. ‘This approximation is good if the rate at which new values of f are computed is much foster than the natural frequency of the system being controlled. In the field of discrete time control or digital control one does not make this approximation but rather takes the servo rate of the control system into account when analyzing the system (3). We will generally assume that the computations can be performe:! quickly enough thet our continuous time assumption is valid. This raises the question of how quick is quick enough? There are several points which need to be considered in choosing a sufficiently fast servo (or sample) rate: ‘Tracking reference inputs: The frequency content of the desired or reference input places an absolute lower bound on the sample rate The sample rate must be at least twice the bandwidth of reference inputs. This is usually not the limiting factor. Disturbance rejection: In disturbance rejection, an upper bound on performance is given by a continuous time system. If the sample period is longer than the correlation time of the disturbance effects (assuming statistical model for random disturbances), then these disturbances will not be suppressed. Perhaps a good rule of thumb is that the sample period should be 10 times shorter than tHe correlation time of the noise [3]. Tn this of am model compl curren motor magne field a: ofash The ec with t {also ¢ in the causes windir where experi the wi Gener of asi the ov evion Often o the iscan ntrol sicity, in the 1 that law in < force reality vanded ay this hook. are a being ontrol 0 rate 4 formed s raises which sample) desired ple rate. eference bound > sample ve effects ven these of thumb «A the 9.9 Modeling and control of a single joint Antialiasing: Aay time an analog sensor is used in a digital control scheme, there will be a problem with aliasing unless the sensor's output is strictly band limited. In most cases, sensors do not have a band limited output, and so sample rate should be chosen such that the amount of energy which appears in the aliased signal is small. Structural resonances: We have not included bending modes in our characterization of a manipulator’s dynamics. All real mecha- nisms have finite stiffness and so will be subject to various kinds of vibrations. If it is important to suppress these vibrations (and it often is) we must choose a sample rate which is at least twice the natural frequency of these resonances. We will return to the topic of resonance later in this chapter. 3.9 Modeling and control of a single joint In this section we will develop a simplified model of a single rotary joint of a manipulator. A few assumptions will be made which will allow us to model the resulting system as a second-order linear system. For a more complete model of an actuated joint, see [5]. A common actuator found in many industrial robots is the direct current (DC) torque motor (see Fig. 8.18). The nonturning part of the motor (the stator) consists of a housing, bearings, and either permanent magnets or electromagnets. These stator magnets establish a magnetic field across the turning part of the motor (the rotor). The rotor consists of ashaft and windings through which current moves to power the motor. The current is conducted to the windings via brushes which make contact with the commutator. The commutator is wired to the various windings {also called the armature) in such a way that torque is always produced in the desired direction. The underlying physical phenomenon ‘6] which causes a motor to generate a torque when current passes through the windings can be expressed as Faq xB, (9.62) ‘here charge g, moving with velocity V through a magnetic field B, experiences a force F. The charges are those of electrons moving through the windings, and the magnetic field is that set up by the stator magnets. Generally, the torque producing ability of a motor is stated by means of a single motor torque constant which relates armature current to the output torque as 319) 320 9 Linear control of manipulators Tm = knta: (9.63) When a motor is rotating it acts like e generator and a voltage develops across the armature. A second motor constant, the back emf constant* describes the voltage generated for a given rotational velocity as 0 = bab (9.64) Generally, the fact that the commutator is switching the current through various sets of windings causes the torque produced to contain some torque ripple. Although sometimes important, this effect can can generally be ignored (in any case it is quite herd to model, and quite hard to compensate even if it is modeled), Motor armature inductance Figure 9.11 shows the electric circuit of the armature. The major ‘components are a voltage source, vg, the inductance of the armature windings, [,, and the generated back emf, v. ‘The circuit is described by a first-order differential equation given by la — bebe (9.65) Iyig + Tata It is generally desirable to control the torque generated by the motor (rather than the velocity) with electronic motor driver circuitry. These drive circuits sense the current through the armature and continuously adjust the voltage source v, so that a desired current j, flows through the FIGURE 9.11 ‘The armature circuit of a DC torque motor. * “emf” stands for electromotive force. armat In the can be an up het ef and o can b: freque to the drive « F assum essent factor 4 acts as Effecti Figure motor applies i, flow in the FIGURL gearing » od) lops ant® 3.64) ough ome can quite rajor ture aby 9.9 fodeling and control of a single joint armature. Such a circuit is called a current amplifier motor driver (7]. In these current drive systems, the rate at which the armature current. can be commanded to change is limited by the motor inductance , and an upper limit on the voltage capability of the voltage source v,. The net effect is that of a low pass filter between the requested current and output torque. Our first simplifying assumption is that the inductance of the motor can be neglected. This is a reasonable assumption when the natural frequency of the closed loop control system is quite low compared to the cut-off frequency of the implicit low pass filter in the current drive circuitry due to the inductance. This assumption, along with the assumption that torque ripple is a negligible effect, means that we can essentially command torque directly. Although there may be a scale factor (such as k,,) to contend with, we will assume that the actuator acts as a pure torque source that we can command directly. Effective inertia Figure 9.12 shows the mechanical model of the rotor of a DC torque motor connected through a gear reduction to an inertial load. The torque applied to the rotor, Tq, is given by (9.63) as a function of the current i, flowing in the ermature circuit. The gear ratio (7) causes an increase in the torque seen at the load and a reduction in the speed of the load FIGURE 9.12 Mechanical model of a DC torque motor connected through gearing to an inertial load. 321 [322 | 9 Linear control of manipulators 7 as given by Unme THN ms The i a (9. z b= (smn - searit all of where > 1. Writing a torque balance for this system in terms of torque would at the rotor yields flexib = Landa + bmn + (1/0) (18+ 8 (9.67) freque neglec where I,, and I are the inortias of the motor rotor and the load that v respectively, and b,, and 6 are viscous friction coefficients for the rotor purpe and load bearings. Using the relations (9.66) we can write (9.67) in and v terms of motor variables as 8 1); b); syster tm = (Lm + a) Gm + ont 5) bm 9.68) ys (imi) Bat (oe (0 tr or in terms of load variables as limit ra (Lem lin) 6+ (6+ 07m) 6. (9.69) ‘The term J+n?J,, is sometimes called the effective inertia “seen” at the output (link side) of the gearing. Likewise, the term 6 + 7°b,, This can be called the effective damping. Note that in a highly geared While joint (ie., 7 >> 1) the inertia of the motor rotor can be a significant and portion of the combined effective inertia. It is this effect that allows us reson: to make the assumption that the effective inertia is a constant. We know have from Chapter 6 that the inertia, J, of a joint of the mechanism actually design varies with configuration and load. However, in highly geared robots the introc variations represent a smaller percentage than they would in a direct reson: drive manipulator (ie., 7 = 1). To ensure that the motion of the robot link is never underdamped. the value used for [ should be the maximum — of the range of values that I takes on; we'll call this value Ipge+ T2 c choice results in a system that is critically damped or overdamped in all b= situations. In Chapter 10 we will deal with varying inertia directly and ee will not have to make this assumption. ‘and L doesn eS EXAMPLE 9.6 stiffne If the apparent link inertia, Z, varies between 2 and 6 Kgm?, the v rotor inertia is J,, = 0.01. and the gear ratio is 7 = 30, what are ti: minimum and maximum of the effective inert ‘The minimum effective inertia is Emin +1 In = 2.0 + (900)(0.01) (9.70) so the and the maximum is Using Taz +1? lym = 6.0 + (900)(0.01) = 15.0. (9.71) ay Hence, we see that as a percentage of the total effective inertia, the car variation of inertia is reduced by the gearing. systen ) (9.66) orque (9.67) » load rotor 87) in (9.68) (9.69) seen” =P bm geared ificant us e xhow tually ots the direct 2 robot ximum _ This din all dy and a, the are the (9.70) (9.71) = 4 the 9.9 Modeling and control of a single joint Unmodeled flexibility ‘The other major assumption we have made in our model is that the gearing, shafts, bearings, and the driven link are not flexible. In reality all of these elements have finite stiffness. and their flexibility, if modeled. would increase the order of the system. The argument for ignoring flexibility effects is that if the system is sufficiently stiff, the natural frequencies of these unmodeled resonances are very high and can be neglected compared to the influence of the dominant second-order poles that we have modeled.* The term “unmodeled” refers to the fact that for purposes of control system analysis and design, we noglect these effects and use 6 simpler dynamic model, such as (9.69). Since we have chosen not to model structural flexibilities in the system, we must be careful not to excite these resonances. A rule of thumb [8] is that if the lowest structural resonance is w,.,, then we must limit our closed loop naturel frequency according to. 1 Wn S Gres: (9.72) ‘This provides some guidance as to how to choose gains in our controller. While we have scen that increasing gains leads to faster response and lower steady-state error, we now sce that unmodeled structural resonances limit the magnitude of gains. Typical industrial manipulators have structural resonances in the range of 5Hz to 25Hz [8]. Recent designs using direct drive arrangments which do not contain flexibility introduced by reduction and transmission systems have lowest structural resonances es high as 70H [9]. NN EXAMPLE 9.7 Consider the system of Fig. 9.6 with the parameter values m = 1, b= 1, and k = 1. Additionally, it is known that the lowest unmodeled resonance of the system is at 8 radians/second. Find a, 8, and gains k, and k, for a position control law so the system is critically damped. doesn't excite unmodeled dynamics, and hes as high:a closed loop stiffness as possible. We choose Saate. ie so that the system appears as a unit mass from the fictitious f" input. Using our rule of thumb (9.72), we choose the closed loop natural * This is basically the same argument we used to neglect the pole due to the motor inductance. Including it would also have raised the order of the overall system, 323, 324 9 Linear contro! of manipulators frequency to be w,, = 4radians/second. From (9.18) and (9.46) we have ea, k, = wi, so (9.74) Estimating resonant frequency ‘The same sources of structural flexibility discussed in Chapter 8 give rise to resonances. In each case where a structural flexibility can be identified, an approximate analysis of the resulting vibration is possible if we can describe the effective mass or inertia of the flexible member. ‘This is done by approximating the situation by a simple spring-mass system, which, as given in (9.20) exhibits a natural frequency of Jkjrn, (9.75) Wn where k is the stiffness of the flexible member, and m is the equivalent mass displaced in vibrations. NN EXAMPLE 9.8 A shaft (assumed massless) with a stiffness of 400 Nt m/radian drives a rotational inertia of 1KgM?. If the shaft stiffness was neglected ix modeling of the dynamics, what is the frequency of this unmodeled resonance? Using (9.75) we have Wreg = VAO0]I = Wrad/second = 20/(2x)Hz%3.2Hz, a (9.76) For the purposes of a rough estimate of the lowest resonant frequency of beams and shafts, [10] suggests using a lumped model of the mass. We already have formulas for estimating stiffness at the end of beams and shafts, and these lumped models provide the effective mass or inertia needed for our estimation of resonant frequency. Figure 9.13 shows the results of an energy analysis [10] which suggests that a beam of mass m be replaced by a point mess at the end of 0.237, and likewise that a distributed inertia of J be replaced by a lumped 0.33 f at the end of the shaft. FIGU and t 3600 due 1 of Fi vibre used loop mode situa beyo of re Cont: Tn su .74) give n be ‘sible aber. mass 0.75) irives sdeled (9.76) noney mass beams inertia ws the £ mass se that dof 9.9 Modeling and control of a single joint FIGURE 9.13 Lumped models of beams for estimation of lowest lateral and torsional resonance. EE EXAMPLE 9.9 ‘A link of mass 4.347Kg has an end-point lateral stiffness of 3600 Nt/m. Assuming the drive system is completely rigid, the resonance due to the flexibility of the link will limit control gains. What is w,¢.? The 4.347 Kg mass is distributed along the link. Using the method of Fig. 9.13, the effective mass is (0.23)(4.347) © 1.0Kg. Hence, the vibration frequency is Urea = V3600/1.0 = 60 radians/second = 60/(2r) Hz *9.6H2, (9.77) ‘The inclusion of structural flexibilities in the model of the system used for control law synthesis is required if we wish to achieve closed loop bandwidths higher than that given by (9.75). The resulting system models are of high order. and the control techniques applicable to this situation become quite sophisticated. Such control schemes are currently beyond the state of the art of industrial practice but are an active area of research (11, 12] Control of a single joint In summary, we make the following three major assumptions: 1. The motor inductance J, can be neglected. 325, 326, 9 Linear control of manipulators 2, Taking into account high gearing, we model the effective inertia as a constant equal to Ima + 1?Lm- 3. Structural flexibilities are neglected except that the lowest struc- tural resonance w,,, is used in setting the servo gains, With these assumptions, a single joint of a manipulator can be controlled with the partitioned controller given by =Imaz + lms (9.78) B= b+ bm: ai and Tab thyet hye. (9.79) The resulting system closed loop dynamics are Bt hye + hye = Tasses (9.86) where the gains are chosen as (9.81) 9.10 Architecture of an industrial robot controller In this section we briefly look at the architecture of the control system of the Unimation PUMA 560 industrial robot. As shown in Fig. 9.14, the hardware architecture is that of a two-level heirarchy with a DEC LSI-11 computer serving as the top-level “master” control computer passing commands to six Rockwell 6503 microprocessors.* Each of t] microprocessors controls an individual joint with a PID control law not unlike that presented in this chapter. Each joint of the PUMA 560 instrumented with an incremental optical encoder, The encoders are interfaced to an up/down counter which the microprocessor can read to obtain the current joint position. There are no tachometers in the PUMA * These simple 8-bit computers are already old technology. It is not unusus! these days for robot controllers to be based on 32-bit microprocessors like 1" Motorola 68020. ae 1 Fit Sf robot FIGU PUM. 560; r = obtain DC tc conve driver analo; to ma rue- 1 be 9.78) 9.79) 9.80) 9.81) ystem 9.14, DEC iputer i these ww not 560 is ws are ead to 2?UMA what like the 9.10 Architecture of an industrial robot controller 327 PIGURE 9.14 Hierarchical computer architecture of the PUMA 560 robot control system. FIGURE 9.15 Functional blocks of the joint control system of the PUMA 560, 560; rather, joint positions are differenced on subsequent servo cycles to obtain an estimate of joint velocity. In order to command torques to the DC torque motors, the microprocessor is interfaced to a digital to analog converter (DAC) so motor currents can be commanded to the current driver circuits, The current flowing through the motor is controlled in analog circuitry by adjusting the voltage across the armature as needed to maintain the desired armature current. 328 9 Linear control of manipulators Fach 28 milliseconds the LSI-11 computer sends a new position command or set-point to the joint microprocessors. The joint mi- croprocessors are running on a 0.875 millisecond eycle. In this time, they interpolate the desired position set-point, compute the servo error, compute the PID control law, and command a new value of torque to the motors. ‘The LSI-11 computer carries out all the “high-level” operations of the overall control system. First of all, it takes care of interpreting the VAL (Unimation’s robot programming language) program commands one by one. When a motion command is interpreted, the LSI-11 must perform any needed inverse kinematic computations, plan a desired tra- jectory, and begin generating trajectory via points every 28 milliseconds for the joint controllers. ‘The LSI-11 is also interfaced to standard peripherals such as the terminal and a floppy disk drive, In addition to these peripherals, it is also interfaced to a teach pendant. A teach pendant is a hand-held button box which allows the operator to move the robot around in a variety of modes. For example, the PUMA 560 system allows the user to move the robot incrementally in joint coordinates or in Cartesian coordinates from the teach pendant. In this mode, teach pendant buttons cause a trajectory to be computed “on the fly” and passed down to the joint control microprocessors. References (1) W. Boyce and R. DiPrima,Elementary Differential Equations, 3rd edition. John Wiley and Sons, New York, 197 [2] B. Purcell, Calculus with Analytic Geometry, Meredith Corporation, Now York, 1972. [3] G. Franklin and J. D. Powell, Digital Control of Dynamic Systems, Addison- Wesley, Reading. Mass., 1980. (4) G. Franklin, J.D. Powell, and A. Emami-Navini, Feedback Control of Dy- namic Systems, Addison-Wesley, Reading, Mass., 1986. {5] J. Luh, “Conventional Controller Design for Industrial Robots—a Tutorial,” IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC- No, 3, June 1983. (6) D. Halliday and R. Resnik, Fundamentals of Physics, Wiley, 1970. [7] ¥. Koren and A. Ulsoy, “Control of DC Servo-Motor Driven Robots,” Proceedings of Robots 6 Conference, SME, Detroit, March 1982. 8] RP. Paul, Robot Manipulators, MIT Press, 1981. (9] H. Asada and K. Youcef-Tourni, Direet-Drive Robots—Theory and Practice, MIT Press, 1987, [10] J. Shigley, Mechanical Engineering Design, 3rd edition, McGraw-Hill, 1977. (11) W. Book, “Recursive Lagrangian Dynamics of Flexible Manipulator Arms.” The International Journal of Robotics Research, Vol. 3, No. 3, 1984. (1) R Exerc O1 9.2 9.3 9.4 9.5 9.6 9.7 [ oe Skiffuess is Bere) yp mi cime, wrror, 3e to ns of 3 the sands must Vira. ‘onds s the it is -held ina user esian ttons © the ) lition, , New dison- of Dy- orial,” {0-13, sbots,” vuetice, WT. a Exercises [329 {12} R. Cannon and E. Schmitz, “Initial Experiments on the End-Point Control of a Flexible One Link Robot,” The International Journal of Robotics Research, Vol. 3, No. 3, 1984. Exercises [20] For a second-order differential equation with complex roots 8 = Athi, sg =A-Hi, show that the general solution a(t) = eet! + cgeta", can be written a(t) = cye** cos(yt) + cge** sin(ut). [13] Determine the motion of the system in Fig. 9.2 if parameter values are m = 2, b= 6, and k = 4 and the block (initially at rest) is released from the position x = 1. [13] Determine the motion of the system in Fig, 9.2 if parameter values are m= 1, b= 2, and k = 1 and the block (initially at rest) is released from the position 2 = 4, (13] Determine the motion of the system in Fig. 9.2 if parameter values are m = 1, b= 4, and k = 5 and the block (initially at rest) is released from the position 2 = 9.5 [15] Determine the motion of the system in Fig. 9.2 if parameter values are m= 1, 8= 7, and k = 10 and the block is released from the posi 2 = 1 with an initial velocity of ¢ = 2. 9.6 [15] Use the (1,1) element of (6.60) to compute the variation (as 2 percentage of the maximum) of the inertia “seen” by joint 1 of this robot as it changes configuration. Use the numerical values © © ® m, = 40Kg, mg = 2.0Kg. Consider that the robot is direct drive and the rotor inertia is negligible. 9.7 [17] Repeat Exercise 9.6 for the case of a geared robot (use 7 = 20) and a rotor inertia of I, = 0.01 Kg mn”,

You might also like