Robotics 2
Iterative Learning
for Gravity Compensation
Prof. Alessandro De Luca
Control goal
n regulation of arbitrary equilibrium configurations in the
presence of gravity
n without explicit knowledge of robot dynamic coefficients (nor of
the structure of the gravity term)
n without the need of “high” position gain
n without complex conditions on the control gains
n based on an iterative control scheme that uses
1. PD control on joint position error + constant feedforward term
2. iterative update of the feedforward term at successive steady-
state conditions
n derive sufficient conditions for the global convergence
of the iterative scheme with zero final error
Robotics 2 2
Preliminaries
n robot dynamic model
𝑀 𝑞 𝑞̈ + 𝑐 𝑞, 𝑞̇ + 𝑔 𝑞 = 𝑢
n available bound on the gradient of the gravity term
𝜕𝑔(𝑞)
≤𝛼
𝜕𝑞
n regulation attempted with a joint-based PD law
(without gravity cancellation nor compensation)
𝑢 = 𝐾! 𝑞" − 𝑞 − 𝐾# 𝑞̇ 𝐾! > 0, 𝐾# > 0
n at steady state, there is a non-zero error left
𝑞 = 𝑞4 , 𝑞̇ = 0 𝑔(4
𝑞) = 𝐾! 𝑞" − 𝑞4 𝑒̅ = 𝑞" − 𝑞4 ≠ 0
Robotics 2 3
Iterative control scheme
n control law at the 𝑖 -th iteration (for 𝑖 = 1, 2, …)
𝑢 = 𝛾𝐾! 𝑞" − 𝑞 − 𝐾# 𝑞̇ + 𝑢$%& 𝛾>0
with a constant compensation term 𝑢$%& (feedforward)
n 𝐾! > 0, 𝐾" > 0 are chosen diagonal for simplicity
n 𝑞# is the initial robot configuration
n 𝑢# = 0 is the ‘easiest’ initialization of the feedforward term
n at the steady state of the 𝑖 -th iteration (𝑞 = 𝑞$ , 𝑞̇ = 0), one has
𝑔(𝑞$ ) = 𝛾𝐾! 𝑞" − 𝑞$ + 𝑢$%&
n update law of the compensation term (for next iteration)
𝑢$ = 𝛾𝐾! 𝑞" − 𝑞$ + 𝑢$%& = 𝑔(𝑞$ )
← for implementation → [ for analysis ]
Robotics 2 4
Convergence analysis
Theorem
(a) 𝜆)*+ 𝐾! > 𝛼
(b) 𝛾 ≥ 2
guarantee that the sequence {𝑞' , 𝑞& , 𝑞( , … } converges to 𝑞𝑑
(and 𝑞̇ = 0) from any initial value 𝑞' (and 𝑞̇ ' ), i.e., globally
n condition (a) is sufficient for the global asymptotic stability
of the desired equilibrium state when using
𝑢 = 𝐾! 𝑞" − 𝑞 − 𝐾# 𝑞̇ + 𝑔(𝑞" )
with a known gravity term and diagonal gain matrices
n the additional sufficient condition (b) guarantees the
convergence of the iterative scheme, yielding
lim 𝑢$ = 𝑔(𝑞" )
$→-
Robotics 2 5
Proof
n let 𝑒" = 𝑞# − 𝑞" be the error at the end of the 𝑖 -th iteration;
based on the update law, it is 𝑢" = 𝑔(𝑞" ) and thus
𝑢$ − 𝑢$%& = 𝑔(𝑞$ ) − 𝑔(𝑞$%& ) ≤ 𝛼 𝑞$ − 𝑞$%&
≤ 𝛼 𝑒$ + 𝑒$%& adding and
subtracting 𝑞!
n on the other hand, from the update law it is
𝑢$ − 𝑢$%& = 𝛾 𝐾! 𝑒$
n combining the two above relations under (a), we have
𝛾𝛼 𝑒$ < 𝛾𝜆)*+ 𝐾! 𝑒$ ≤ 𝛾 𝐾! 𝑒$ ≤ 𝛼 𝑒$ + 𝑒$%&
1
or 𝑒$ < 𝑒$ + 𝑒$%&
𝛾
Robotics 2 6
Proof (cont)
n condition (b) guarantees that the error sequence {𝑒$ , 𝑒% , 𝑒& , … }
&
. 1
𝑒$ < 𝑒$%& = 𝑒$%&
1 − .& 𝛾−1
is a contraction mapping, so that
lim 𝑒$ = 0
$→-
with asymptotic convergence from any initial state
⇒ the robot progressively approaches the desired configuration
through successive steady-state conditions
n 𝐾' and 𝐾( affect each transient phase
n coefficient 𝛾 drives the convergence rate of intermediate steady states
to the final one
Robotics 2 7
Remarks
n combining (a) and (b), the sufficient condition only requires the
doubling of the proportional gain w.r.t. the known gravity case
,! = 𝛾𝐾!
𝐾 ,! > 2𝛼
𝜆'() 𝐾
n 1' , this condition implies a (positive) lower bound
for a diagonal 𝐾
on the single diagonal elements of the matrix
n again, it is only a sufficient condition
n the scheme may converge even if this condition is violated ...
n the scheme can be interpreted as using an integral term
n updated only in correspondence of a discrete sequence of time
instants
n with a guaranteed global convergence (and implicit stability)
Robotics 2 8
Numerical results
n 3R robot with uniform links, moving in the vertical plane
𝑙% = 𝑙& = 𝑙) = 0.5 [m]
𝑚% = 30, 𝑚& = 20, 𝑚) = 10 [kg] 𝛼 ≅ 400
n with saturations of the actuating torques
𝑈%,+,- = 800, 𝑈&,+,- = 400, 𝑈),+,- = 200 [Nm]
n three cases, from the downward position 𝑞' = (0, 0, 0)
I: 𝑞" = (𝜋/2, 0, 0) I! = diag 1000, 600, 280
𝐾
II: 𝑞" = (3𝜋/4, 0, 0) 𝐾# = diag 200, 100, 20
III: 𝑞" = (3𝜋/4, 0, 0) I! = diag 500, 500, 500
𝐾
𝐾# = as before
Robotics 2 9
Case I: 𝑞! = (𝜋/2, 0, 0)
joint position errors (zero after 3 updates)
Robotics 2
control torques 10
Case II: 𝑞! = (3𝜋/4, 0, 0)
joint position errors (zero after 5 updates)
Robotics 2
control torques 11
Case III: 𝑞! = (3𝜋/4, 0, 0), reduced gains
joint position errors (limit cycles, no convergence!)
Robotics 2
control torques 12
Final comments
n only few iterations are needed for obtaining convergence,
learning the correct gravity compensation at the desired 𝑞𝑑
n sufficiency of the condition on the 𝑃 gain
n even if violated, convergence can still be obtained (first two cases);
otherwise, a limit motion cycle takes place between two equilibrium
configurations that are both incorrect (as in the third case)
n this shows ‘how far’ is sufficiency from necessity
n analysis can be refined to get lower bounds on the 𝐾𝑃𝑖 (diagonal
case) that are smaller, but still sufficient for convergence
n intuitively, lower values for 𝐾𝑃𝑖 should still work for distal joints
n in practice, update of the feedforward term occurs when the
robot is close enough to a steady state (joint velocities and
position variations are below suitable thresholds)
Robotics 2 13
Control experiments with flexible robots
without gravity
even for just a single but flexible link in the absence of gravity, a rest-to-rest maneuver
without residual oscillations is difficult to be performed by a pure PD joint control action
video
ICRA 2023
S. Drost. P. Pustina. F. Angelini, A. De Luca, G. Smit, C. Della Santina,
"Experimental validation of functional iterative learning control on a one-link flexible arm’’
Robotics 2 14
Control experiments with flexible robots
without gravity
video
rest-to-rest maneuver in given motion time
for a single flexible link (PD + feedforward)
video
end-effector trajectory tracking for FlexArm
—a planar 2R robot with flexible forearm
Robotics 2 15
Extension to flexible robots
n the same iterative learning control approach has been extended to
position regulation in robots with flexible joints and/or links under gravity
n at the motor/joint level
n at the Cartesian level (end-effector tip position, beyond flexibility), using a
double iterative scheme
n experimentally validated on the two-link FlexArm @ DIS (now DIAG!)
6° tilt
from horizontal ∆
with supporting base
tilted by ∆ ≈ 6°
(inclusion of gravity)
Robotics 2 16
Experimental results for tip regulation
3 iterations!
0g sin ∆
motion task:
o o o o
(0 ,0 ) ⇒ (90 ,0 ) first link position tip angle w.r.t. first link
final deflection
double iterative scheme
De Luca, Panzieri: Int J Adapt Cont & Sign Proc, 1996
(factor 𝛾 → 1⁄𝛽 in the original paper) second link deflection
Robotics 2 17