A SIMPLE ITERATIVE SCHEME FOR LEARNING GRAVITY COMPENSATION IN ROBOT ARMS
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
A SIMPLE ITERATIVE SCHEME FOR LEARNING GRAVITY COMPENSATION IN ROBOT ARMS A. DE LUCA, S. PANZIERI Dipartimento di Informatica e Sistemistica Università degli Studi di Roma “La Sapienza” ABSTRACT The set-point regulation problem for robot manipulators under gravity is usually solved by either model-based compensation or PID control. The former cannot be applied if an unknown payload is present or when model parameters are poorly esti- mated, while the latter requires fine and lengthy tuning of gains in order to achieve good performance on the whole workspace. A simple iterative scheme is proposed for generating exact gravity compensation at the desired set-point, without the knowl- edge of the robot dynamic model. The control law starts with a PD action on the joint error, updating at discrete instants an additional feedforward term. Global con- vergence of the scheme is proved under a mild condition on the proportional gains. Simulations are presented for a 3R rigid robot arm moving in a vertical plane. 1. Introduction It is well known that a rigid robot arm can be asymptotically stabilized around a given joint configuration via a PD controller on the joint errors, provided that gravity is exactly cancelled by feedback [1]. This result holds globally, i.e. starting from any joint configuration, and requires only positive definite gain matrices. However, on- line cancellation of gravity effects leads to a nonlinear control law, which may be difficult to implement. Under a mild condition on the proportional gain, this scheme can be simplified to constant gravity compensation, evaluated only at the desired configuration [2]; a purely linear feedback law with a feedforward action is then obtained. In this case, the proportional gain should be chosen so to dominate the gradient of the gravity forces in the whole robot workspace. Similar conditions have been found also for robots with elastic joints [3] or with flexible links [4], under a further assumption on the arm stiffness. In all cases, an exact knowledge of the gravity vector is required. This condition is difficult to be realized, e.g. for a robot picking up multiple unknown payloads, and
would need anyway an identification procedure of the robot link parameters. As a result, a steady-state error is present in general with this type of control even for a simple point-to-point task. High-gain feedback reduces but does not eliminate this error, exciting on the other hand unmodeled dynamic effects. A standard remedy is the addition of an integral term to the linear control law but several problems arise with the design of a PID, partly due to the nonlinear nature of the robot. Typically, saturation will occurr during large transient phases and reset or anti-windup procedures have to be devised when starting far from the final position. Moreover, from a theoretical point of view, asymptotic stability of robot PID control has been proved only locally around the desired configuration and/or under complex inequalities among the proportional, derivative, and integral gains [5, 6]: tuning of the PID gains is in fact a difficult task for nonlinear systems. In practice, these drawbacks may be overcome by adding the integral action only near the final point, so that gross motion is performed with PD control, while fine positioning is achieved with PID. This is a common strategy in industrial robot controllers, as in the Unimation Puma 560 [7], but no formal proof of convergence has been given for this method. As an alternative, an interpolating trajectory can be generated between the starting and the final point, but this involves further com- putations which could be ackward to handle in case of on-line set-point corrections. In this paper, we propose a fast iterative scheme that builds up the required grav- ity compensation at the final configuration, with a very limited knowledge about the robot gravity terms. A PD-based control law is applied iteratively and the constant gravity feedforward is learned without the explicit introduction of an integral error term nor the use of high-gain feedback. An easy to check sufficient condition is given for the convergence of the scheme to zero steady-state error, taking into account in the analysis the full nonlinear robot equations. 2. Control Scheme Consider a rigid robot arm with N rotary joints, whose dynamic model is B(q)q̈ + S(q, q̇)q̇ + g(q) = u (1) with inertia matrix B, Coriolis and centrifugal forces S q̇, and gravity forces g. Since the gravity term contains only trigonometric functions of the configuration q, it is easy to derive the following bound [2] ∂g ∂q ≤ α. (2) Note that this inequality holds also for prismatic joints, even if in that case the gravity term g(q) may be unbounded (at least, in principle). When the input torque u is chosen as a PD control u = KP (qd − q) − KD q̇, KP > 0, KD > 0, (3)
with a desired constant configuration qd , then the robot arm will be driven to a steady-state condition q = q̄, q̇ = 0, which from (1) satisfies the following equation g(q̄) = KP (qd − q̄), (4) implicitly defining the residual joint error. Usually, a decentralized approach is followed by choosing diagonal gain matrices KP and KD . An iterative compensation scheme is introduced as follows. Let q0 be the initial arm configuration. The control law during iteration i is defined as 1 u= KP (qd − q) − KD q̇ + ui−1 , β>0 (5) β for i = 1, 2, . . ., and where the term ui−1 is a constant feedforward. If u0 = 0, which is a common initialization, the first iteration is performed with a simple PD. Indeed, one may collect the best information on the required gravity term by setting u0 = ĝ(qd ), where the ‘hat’ denotes an estimate. System (1) under control (5) reaches the equilibrium state q = qi , q̇ = 0, satisfy- ing 1 g(qi ) = KP (qd − qi ) + ui−1 . (6) β Note that the unknown gravity term in qi is determined through the reading of the control effort at steady-state. For the next iteration, the feedforward is istanta- neously updated as 1 ui = KP (qd − qi ) + ui−1 , (7) β and control (5) is applied again starting from the current position qi . In order to prove that the sequence {q0 , q1 , . . .} converges to qd , starting from any initial value q0 , we assume that: (a) KP > α (b) 0 α. We remark that this condition is rather conservative for an open- chain robot arm, requiring for each joint a proportional gain which is ‘stiffer’ than
the one computed for the most loaded joint. Indeed, distal joints carry less weight than proximal ones; accordingly, they may be regulated using smaller gains. The second assumption guarantees the convergence of the iterative scheme (7), and in particular that limi→∞ ui = g(qd ), with a priori knowledge limited to the bound (2) on the gravity term. Let ei = qd − qi . At the end of the ith iteration, eqns. (6,7) imply that ui = g(qi ) at the steady-state qi , and so ui − ui−1 = g(qi ) − g(qi−1 ) ≤ αqi − qi−1 ≤ α(ei + ei−1 ), (9) where inequality (2) has been used. On the other hand, from eq. (7) 1 ui − ui−1 = KP ei . (10) β From eqns.(9,10), since KP is diagonal, it follows immediately 1 1 αei < KP ei ≤ α(ei + ei−1 ), (11) β β and then ei < β(ei + ei−1 ). (12) Thus, assumption (b) guarantees that β ei < ei−1 (13) 1−β defines a contraction mapping. Therefore, limi→∞ ei = 0, and asymptotic conver- gence is proved for any initial condition q0 . Merging conditions (a) and (b) into (5), it follows that the overall proportional gain matrix K̂P = KP /β has to be chosen so to satisfy K̂P > 2α. (14) Again, this general condition on the minimum eigenvalue of the symmetric matrix K̂P is turned into a lower bound on the single elements for a diagonal proportional gain matrix. A series of remarks are now in order: — The iterative scheme (5,7) is reminiscent of learning control algorithms that successfully achieve reproduction of repetitive trajectories for robot arms [8, 9, 10]. However, no repositioning of the arm into the initial configuration is performed (nor required) here, at any iteration.
— The iterative scheme can be interpreted as a discrete-time PID, in which the inte- gral term is updated only at fixed instants. Moreover, this approach combines in an automatic way the benefits of a PD control far from the destination and of an integral action close to the goal, avoiding wind-up effects. As a further merit of the scheme, one should consider that gains with guaranteed convergence properties are easily selected. — The bound (2) on the gravity term may be evaluated directly taking into account the maximum admissible payload, so to ensure exact set-point regulation in all operating conditions. — As a drawback, since each update of the feedforward term should be performed at steady-state, the control scheme converges to the desired position in a doubly infinite time. However, ultimate boundedness of the error is obtained in finite time, by updating the feedforward term as soon as joint variations definitely drop below a given threshold, even before a complete stop. — An interesting aspect is to estimate the distance from necessity of the sufficient condition (14). This point has been investigated only through simulations, some of which are reported in the next section: from these, it follows that the above criterion (derived with unknown gravity term) is not more conservative than condition (a) of [2] (which assumes that an exact gravity compensation is performed). 3. Simulation Results The proposed control scheme has been simulated on a 3R rigid robot arm moving in a vertical plane. The three robot links have equal length i = 0.5 m, with uniformly distributed masses of 30, 20, and 10 kg, respectively. Motor torque saturations are set at 800, 400, and 200 Nm (beyond the reduction elements). In this case, the gravity vector is given by g1 (q) = g[(m1 d1 + m2 1 + m3 1 ) sin q1 + (m2 d2 + m3 2 ) sin(q1 + q2 ) +m3 d3 sin(q1 + q2 + q3 )] g2 (q) = g[(m2 d2 + m3 2 ) sin(q1 + q2 ) + m3 d3 sin(q1 + q2 + q3 )] (15) g3 (q) = gm3 d3 sin(q1 + q2 + q3 ), where di = i /2 and q = (0, 0, 0) corresponds to the straight downward position (of minimum potential energy). For evaluating α, the following factorization is convenient: ∂g 1 1 1 A1 cos q1 0 0 1 0 0 1 1 0, = 0 1 1 0 A2 cos(q1 + q2 ) 0 ∂q 0 0 1 0 0 A3 cos(q1 + q2 + q3 ) 1 1 1 (16)
where A1 = g(m1 d1 + m2 1 + m3 1 ) A2 = g(m2 d2 + m3 2 ) (17) A3 = gm2 d3 . With the given data, a value α = 400.35 results, attained for q = 0. In the first example, a motion from q = 0 to the straight arm position of maxi- mum gravity force (π/2 of first joint rotation) is commanded, using as proportional and derivative gains K̂P = diag {1000, 600, 280}, KD = diag {200, 100, 20}. (18) The update (7) for ui is made at fixed intervals of 3 seconds. Figures 1–3 and 4–6 show the joint errors and the applied torques over 10 seconds. In this case, two updates are sufficient for regulating the error to zero within 7.5 seconds. Note that only the first position gain in (18) does satisfy the sufficient condition (14), while the gain of the third joint is even smaller than α. In the second example qd = (3π/4, 0, 0) is the desired set point, while the same initial positions and the same gains (18) are used. Errors and torques over 16 seconds are displayed in Figs. 7–12 for the three joints. Five updates are now necessary for obtaining convergence, while a saturation occurs initially for joint 1 and 2. No special care was taken for minimizing the duration of the motion: a faster global transient could have been obtained by updating sooner the feedforward u3 , then u4 , and finally u5 . This example shows the capability of learning the exact gravity compensation also when the ‘wall’ of maximum gravity force has to be overcome. Notice that intermediate torque steady-state values lie now on both sides of the final required values, indicating that feedforward terms can also be reduced when needed. In fact, the scheme was found to converge without problems also when resetting the desired set point back to the initial position q = 0, where the required compensation is zero (an equilibrium point). As a third example, the second motion was performed with smaller positional gains. In particular, K̂P = 500 · I was used, which satisfies the condition (a) of [2] but not our condition (14). Update intervals for ui are slowed down to 6 seconds, in order to enable the reaching of steady-state conditions. Figures 13–18 show 40 seconds of position errors and torques. A persistent oscillatory behavior results as a consequence of the poor learning capabilities: the robot arm switches alterna- tively from an almost horizontal configuration, where the maximum torque effort is stored, to the upward straight configuration, where the error feedback torque coun- terbalances the learned feedforward term so to give a rather small net torque. Note also that, being K̂P > α, there is still a unique equilibrium configuration for each applied feedforward. As a result, this choice of reduced gains gives a quantitative information on how much the sufficient condition (14) could be relaxed in general.
1.6 1.4 1.2 1 Error -rad- 0.8 0.6 0.4 0.2 0 -0.2 0 1 2 3 4 5 6 7 8 9 10 Time -sec- Figure 1. Position error for joint 1 — qd = (π/2, 0, 0) 0.7 0.6 0.5 0.4 0.3 Error -rad- 0.2 0.1 0 -0.1 -0.2 -0.3 0 1 2 3 4 5 6 7 8 9 10 Time -sec- Figure 2. Position error for joint 2 0.4 0.3 0.2 Error -rad- 0.1 0 -0.1 -0.2 0 1 2 3 4 5 6 7 8 9 10 Time -sec- Figure 3. Position error for joint 3
4. Conclusions A simple iterative scheme has been presented for robot set-point regulation tasks under gravity, that does not require the knowledge of the robot dynamic model. The control scheme generates the exact gravity compensation at the desired set point, starting initially with a PD law, and updating at discrete instants an additional feedforward term. A lower bound condition on the magnitude of the proportional gain in the PD control part is sufficient to prove global convergence of the scheme. Simulation results have shown the effectiveness of the approach, pointing out that the convergence condition is also close to be necessary. The approach is designed in the joint space but can be extended to regulation of a desired cartesian pose, provided that a bound on the kinematic Jacobian is also known. More interestingly, it can be shown that the learning scheme works also in the presence of flexibility, both concentrated at the joint or distributed along the link, by exploiting the associated model properties found in [4]. We mention here that experimental results have already been obtained for the two-link planar lightweight robot prototype with a very flexible forearm available at the Robotics Laboratory of DIS [11], tilted from the horizontal plane to include gravity effects. 5. Acknowledgements This paper is based on work partly supported by Consiglio Nazionale delle Ricerche under contract 91.01946.PF67 (Progetto Finalizzato Robotica). 6. References 1. M. Takegaki and S. Arimoto, “A new feedback method for dynamic control of manipulators,” Trans. ASME J. on Dynamic Systems, Meas., and Control vol. 102, no. 2, pp. 119–125, 1981. 2. P. Tomei, “Adaptive PD controller for robot manipulators,” IEEE Trans. on Robotics and Automation, vol. 7, pp. 565–570, 1991. 3. P. Tomei, “A simple PD controller for robots with elastic joints,” IEEE Trans. on Automatic Control , vol. 36, pp. 1208–1213, 1991. 4. A. De Luca and B. Siciliano, “An asymptotically stable joint PD controller for robot arms with flexible links under gravity,” 31st IEEE Conf. on Decision and Control , Tucson, 1992. 5. S. Arimoto and F. Miyazaki, “Stability and robustness of PID feedback control for robot manipulators of sensory capability,” in Robotics Research: 1st Int. Symp., M. Brady and R.P. Paul (Eds.), MIT Press, Boston, MA, pp. 783-799, 1984. 6. F. Khorrami and Ü. Özgüner, “Decentralized control of robot manipulators via state and proportional-integral feedback,” 1988 IEEE Int. Conf. on Robotics and Automation, Philadel- phia, PA, pp. 1198–1203, 1988. 7. J. Wen and S. Murphy, “PID control for robot manipulators,” Tech. Rep. CIRSSE, no. 54, Rensselaer Polytechnic Institute, Troy, NY, 1990. 8. S. Arimoto, S. Kawamura, and F. Miyazaki, “Bettering operation of robots by learning,” J. of Robotic Systems, vol. 1, pp. 123–140, 1984. 9. P. Bondi, G. Casalino, and L. Gambardella, “On the iterative learning control theory of robotic manipulators,” IEEE J. of Robotics and Automation, vol. 4, pp. 14–22, 1988. 10. A. De Luca, G. Paesano, and G. Ulivi, “A frequency-domain approach to learning control: Implementation for a robot manipulator,” IEEE Trans. on Industrial Electronics, vol. 39, pp. 1–10, 1992. 11. A. De Luca, L. Lanari, P. Lucibello, S. Panzieri, and G. Ulivi, “Control experiments on a two-link robot with a flexible forearm,” 29th IEEE Conf. on Decision and Control , Honolulu, HI, pp. 520–527, 1990.
800 700 600 500 400 Torque -Nm- 300 200 100 0 -100 -200 0 1 2 3 4 5 6 7 8 9 10 Time -sec- Figure 4. Applied torque for joint 1 — qd = (π/2, 0, 0) 400 300 200 Torque -Nm- 100 0 -100 -200 0 1 2 3 4 5 6 7 8 9 10 Time -sec- Figure 5. Applied torque for joint 2 200 150 100 Torque -Nm- 50 0 -50 -100 0 1 2 3 4 5 6 7 8 9 10 Time -sec- Figure 6. Applied torque for joint 3
2.5 2 1.5 Error -rad- 1 0.5 0 -0.5 0 2 4 6 8 10 12 14 16 Time -sec- Figure 7. Position error for joint 1 — qd = (3π/4, 0, 0) 1.2 1 0.8 0.6 Error -rad- 0.4 0.2 0 -0.2 -0.4 0 2 4 6 8 10 12 14 16 Time -sec- Figure 8. Position error for joint 2 0.5 0.4 0.3 0.2 Error -rad- 0.1 0 -0.1 -0.2 -0.3 0 2 4 6 8 10 12 14 16 Time -sec- Figure 9. Position error for joint 3
800 600 400 Torque -Nm- 200 0 -200 -400 0 2 4 6 8 10 12 14 16 Time -sec- Figure 10. Applied torque for joint 1 — qd = (3π/4, 0, 0) 400 300 200 Torque -Nm- 100 0 -100 -200 -300 0 2 4 6 8 10 12 14 16 Time -sec- Figure 11. Applied torque for joint 2 200 150 100 Torque -Nm- 50 0 -50 -100 0 2 4 6 8 10 12 14 16 Time -sec- Figure 12. Applied torque for joint 3
2.5 2 1.5 Error -rad- 1 0.5 0 -0.5 -1 0 5 10 15 20 25 30 35 40 Time -sec- Figure 13. Position error for joint 1 with reduced gains — qd = (3π/4, 0, 0) 0.6 0.5 0.4 0.3 Error -rad- 0.2 0.1 0 -0.1 -0.2 -0.3 0 5 10 15 20 25 30 35 40 Time -sec- Figure 14. Position error for joint 2 0.25 0.2 0.15 Error -rad- 0.1 0.05 0 -0.05 -0.1 0 5 10 15 20 25 30 35 40 Time -sec- Figure 15. Position error for joint 3
800 600 400 Torque -Nm- 200 0 -200 -400 0 5 10 15 20 25 30 35 40 Time -sec- Figure 16. Applied torque for joint 1 with reduced gains — qd = (3π/4, 0, 0) 300 250 200 150 100 Torque -Nm- 50 0 -50 -100 -150 -200 0 5 10 15 20 25 30 35 40 Time -sec- Figure 17. Applied torque for joint 2 150 100 50 Torque -Nm- 0 -50 -100 0 5 10 15 20 25 30 35 40 Time -sec- Figure 18. Applied torque for joint 3
You can also read