A SIMPLE ITERATIVE SCHEME FOR LEARNING GRAVITY COMPENSATION IN ROBOT ARMS

Page created by Juanita Burke
 
CONTINUE READING
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