distributed link deformation in robot manipulators arises when. – the design of ...
one-link flexible arm modeled as a Euler-Bernoulli beam in rotation θ. J. J. X. Y.
Scuola di Dottorato CIRA Controllo di Sistemi Robotici per la Manipolazione e la Cooperazione Bertinoro (FC), 14–16 Luglio 2003
Robots with Flexible Links: Modeling and Control
Alessandro De Luca Dipartimento di Informatica e Sistemistica (DIS) Universit`a di Roma “La Sapienza”
Outline • Motivation for considering distributed link flexibility • Dynamic modeling of FL robots: single link and multiple link cases • Formulation of control problems • Controllers for regulation tasks • Controllers for joint and end-effector trajectory tracking tasks • Controllers for rest-to-rest motion tasks • Conclusions • References
2
Motivation • distributed link deformation in robot manipulators arises when – the design of very long and slender arms is needed for the application – lightweight materials are used (without special care) • ‘link rigidity’ is always an ideal assumption and may fail when increasing – payload-to-weight ratio – motion speed – control bandwidth • flexible structures in motion are present in different domains: space manipulators, robots for underwater and underground waste sites, automated cranes, . . . • as for joint elasticity, neglected link flexibility limits static (steady-state error) or dynamic (vibrations, poor tracking) task performance • from the control point of view, there is an additional problem of non-colocation between input commands and typical outputs to be controlled 3
Robots with link flexibility — SSRMS
• Space Shuttle Remote Manipulation System (Canadarm) → telemanipulated by astronauts • link bending due to fast motion (not gravity!) 4
Robots with link flexibility — Sam II
• developed at Georgia Tech (W. Book) • macro-micro concept for remote exploration and manipulation of nuclear waste sites 5
Robots with link flexibility — prototypes in Roma
• DMA harmonic steel beam (0.5 kg): DD-DC motor, encoder, 7 strain gauges • DIS/DIA FLEXARM: planar two-link with flexible forearm (1.8 kg), DD-DC motors, encoders, on-board optical sensor measuring deformation at three points 6
Robots with link flexibility — prototype in Waterloo
• WATFLEX planar 2R with both link flexible (each with 2 strain gauges), moving with air bearings on a glass table to support the weight of the second motor; encoders, tachometers, overviewing CCD camera 7
Robots with link flexibility — prototypes in Japan
• spatial 3R flexible arm at Kyoto
• cooperating 6R flexible arms at Tohoku 8
Frequency identification of a single flexible link 6000 110 4000 100
90 2000
deg/s2
80 0
70
60 −2000 50
40
−4000
30 −6000
0
1
2
3
4
5
6
7
8
9
10
11
10
20
30
40
50
60
70
80
s
[ left ] frequency sweep joint acceleration signal: plant vs. model [ right ] joint acceleration frequency response: plant vs. model (matching within 1% of resonances at f1 = 14.4, f2 = 34.2, and f3 = 69.3 Hz) 9
Dynamic modeling of a single flexible link • one-link flexible arm modeled as a Euler-Bernoulli beam in rotation mp
Y
Jp x
CoM
y
J
θ
θc
θt X
• length , uniform density ρ, Young modulus · cross-section inertia EI • actuator inertia J0, payload mass mp and inertia Jp • reference frames: (X, Y ) absolute; (x, y) moving with instantaneous CoM 10
Assumptions and definitions • Euler-Bernoulli theory applies to slender arm design (length vs. section) • beam undergoes small deformations of pure bending type in the plane of motion (no torsion or compression) • bending deformation w(x, t), with x ∈ [0, ], is directed along the y direction (no shear) • rotational inertia of beam sections is neglected (→ Timoshenko theory) as well as the isoperimetric constraint (‘extension’ of beam neutral axis is negligible) • definition of other relevant angular variables: – position θ(t) of the CoM (not measurable, but convenient) – position θc(t) of the tangent to the link base (measured by motor encoder) – position θt(t) of a line pointing to the beam tip (measurable in several ways) 11
• build the Lagrangian from kinetic and elastic potential energy of the beam • using Hamilton principle and calculus of variations, the bending deformation w(x, t) and angle θ(t) satisfy the linear differential equations EIw(x, t) + ρ(w(x, ¨ t) + xθ¨(t)) = 0
τ (t) − J θ¨(t) = 0
i.e., a PDE and an ODE (rigid motion), where J = J0 +(ρ3)/3+Jp +mp2 and τ = torque input • geometric/dynamic boundary conditions associated to the PDE w(0, t) = 0 ¨(0, t)) − τ (t) EIw(0, t) = J0(θ¨(t) + w ¨(, t)) EIw(, t) = −Jp(θ¨(t) + w
(balance of moments at base)
¨ t)) EIw(, t) = mp(θ¨(t) + w(,
(balance of shear forces at tip)
(balance of moments at tip)
12
• in free evolution (τ (t) ≡ 0 ⇒ θ¨(t) = 0), PDE solved by separation of variables w(x, t) = φ(x)δ(t)
⇒
δ¨(t) ∆ 2 EI φ(x) =− =ω ρ φ(x) δ(t)
for a positive constant ω 2 (self-adjoint problem) to be determined • time solution δ¨(t) = −ω 2δ(t)
⇒
δ(t) = c1 sin ωt + c2 cos ωt ˙ with c1, c2 depending on the initial conditions δ(0) and δ(0) • space solution (try it!) φ(x) = β 4φ(x) ⇒
ρω 2 4 β = EI
φ(x) = A sin βx + B cos βx + C sinh βx + D cosh βx
with A, B, C, D obtained from the geometric/dynamic b.c.’s on w(x, t) 13
• using w(x, t) = φ(x)δ(t) and δ¨ = −ω 2δ , and holding the b.c.’s for any δ(t), these are rewritten in terms of φ(x) only φ(0) EIφ(0) + J0 ω 2φ(0) EIφ() − Jp ω 2φ() EIφ() + mp ω 2φ()
= = = =
0 0 0 0
• using the general solution φ(x), a system of linear homogeneus equations follows
A(EI, ρ, , J0, mp, Jp, β)
A B C D
=0
()
to exclude the trivial solution, the determinant of matrix A should be zero (eigenvalue problem) 14
• det A(β) = 0 at infinite (but countable!) positive increasing roots βi of the trascendental characteristic equation 2m
m
2J
(c sh − s ch) − ρ p βi s sh − ρ2p βi4(J0 + Jp)(c sh − s ch) − ρ p βi3 c ch J J J J m − Jρ0 βi3(1 + c ch) + ρ02 p βi6(c sh + s ch) − 0 ρp3 p βi7(1 − c ch) = 0
where s = sin βi, c = cos βi, sh = sinh βi, ch = cosh βi • this is an exact result, that includes common physical approximations – clamped-free model: mp = Jp = 0, J0 → ∞ ⇒ 1 + c ch = 0 – pinned-free model: mp = Jp = J0 = 0 ⇒ c sh − s ch = 0
15
• associated to each root βi we have: – an eigenfrequency ωi = EIβi4/ρ, characterizing a system vibration – an eigenvector φi(x) —a spatial deformation mode, defined up to a constant – a deformation variable δi(t), oscillatory in time • a finite-dimensional approximation of the distributed bending deformation is obtained by truncation w(x, t) =
∞ i=1
φi(x)δi(t) ≈
ne
φi(x)δi(t)
i=1
where ne is the (arbitrary) number of orthogonal modes that we wish to include • normalization of the modes can be chosen in different ways (some integral of the φi(x) equal to 1, to m, . . . ) 16
• resulting dynamic model is particularly simple (after fairly complex analysis . . . ) J θ¨ = τ δ¨i + ωi2δi = φi(0)τ
i = 1, . . . , ne
• remarkable properties: – rigid motion θ(t) and each vibratory motion δi(t) are decoupled in free evolution (τ (t) ≡ 0) – all modes are excited by an input command τ (t) = 0, with a weighting that depends on φi(0) —the tangent at the link base of each deformation mode – arm ‘stiffness’ is summarized by the (squared) eigenfrequencies ωi – each vibratory motion is persistent during free evolution, if initially excited by δi(0) = 0 (absence of damping) 17
• modal damping can be easily included in the dynamic model J θ¨ = τ δ¨i +2ζiωiδ˙i + ωi2δi = φi(0)τ
i = 1, . . . , ne
with coefficients ζi ∈ [0, 1) • its matrix version, with generalized coordinates q = ( θ δ1 . . . δne )T ∈ IRne+1, shows the classical mass-spring-damper form M q¨ + Dq˙ + Kq = B τ
with M =
J 0
0 I
D=
0 0
0 2ZΩ
K=
0 0
0 Ω2
B=
1 Φ
Ω = diag {ω1, . . . , ωne }, Z = diag {ζ1, . . . , ζne }, Φ = ( φ1(0) . . . φne (0) )T 18
• a different (but equivalent) choice of generalized coordinates may let the input τ appear in just one equation (θ, δ) = (θ, δ1, . . . , δne ) ⇓ (θc, δ) = (θ + δ T Φ, δ) = (θ + φi(0)δi , δ1, . . . , δne)
leads to
J −JΦ
−JΦT
I + J 2ΦΦT
θ¨c 0 + 0 δ¨
0 2ZΩ
θ˙c 0 + 0 δ˙
0 Ω2
θc δ
=
1 0
with same (diagonal) damping D and stiffness K matrices, but full inertia matrix
19
τ
Choice of the controlled output • joint level angular output (clamped angle) θc = θ +
ne
φi(0) δi
i=1
!! is always minimum phase (zeros in left-hand side of complex plane) • tip level angular output θt = θ +
ne φi() i=1
δi
!! is typically non-minimum phase (at least for no tip payload) • output at a point x ∈ [0, ] along the link θx = θ +
ne φi(x) i=1
x
δi 20
Transfer functions • torque τ → clamped joint angle θc ne φi(0)2 1 Pc(s) = + 2 2 Js2 i=1 s + 2ζiωis + ωi 1 ne (s2 + 2ζ ω s + ω 2 ) + s2 ne φ (0)2 ne (s2 + 2ζ ω s + ω 2 ) i i j j i j i=1 i j =i J i=1 = e 2 + 2ζ ω s + ω 2 ) s2 n (s i i i i=1
• torque τ → tip angle θt ne φi(0) φi() 1 Pt(s) = + 2 + 2ζ ω s + ω 2 Js2 s i i i i=1 1 ne (s2 + 2ζ ω s + ω 2 ) + s2 ne φ (0) φi() ne (s2 + 2ζ ω s + ω 2 ) i i j j i j i=1 i j =i J i=1 = e (s2 + 2ζ ω s + ω 2 ) s2 n i i i i=1 21
A numerical example • physical data J0 = 0.002,
= 1,
ρ = 0.5,
EI = 1
(mp = Jp = 0)
• by considering up to ne = 5 modes (and no damping), we obtain Ω2 = diag {421.585, 3122.603, 10273.194, 31562.286, 82049.350} T Φ =
ΦT =
7.8259 14.6803 12.1284 6.4761 3.7648
−2.6954 2.3268 −2.4970 2.7380 −2.7982
!! note the alternating signs of φi()’s . . . 22
First four mode shapes 2
2.5
1.5
2
1
1.5
0.5 1 0.5
phi_2
phi_1
0 -0.5
0 -1 -0.5 -1.5 -1
-2
-1.5
-2.5 -3
0
0.1
0.2
0.3
0.4
0.5 x [m]
0.6
0.7
0.8
0.9
-2
1
2
0
0.1
0.2
0.3
0.4
0.5 x [m]
0.6
0.7
0.8
0.9
1
3
1.5 2 1 1
0
phi_4
phi_3
0.5
0
-0.5 -1
-1
-1.5 -2 -2 -2.5
0
0.1
0.2
0.3
0.4
0.5 x [m]
0.6
0.7
0.8
0.9
1
-3
0
0.1
0.2
0.3
0.4
0.5 x [m]
0.6
0.7
0.8
0.9
1
at f1 = 3.2678, f2 = 8.8936, f3 = 16.1314, and f4 = 28.2751 [Hz] 23
Pole-zero patterns poli-zeri FdT di tip (2 modi)
poli-zeri FdT di giunto (3 modi)
poli-zeri FdT di tip (3 modi) 150
40
40
100
100
20
20
50
50
0
0
Imag Axis
150
Imag Axis
60
Imag Axis
Imag Axis
poli-zeri FdT di giunto (2 modi) 60
0
0
-20
-20
-50
-50
-40
-40
-100
-100
-60 -1
-0.5
0 Real Axis
0.5
1
two modes
-60 -40
-20
0 Real Axis
20
40
-150 -1
-0.5
0 Real Axis
clamped joint and tip output
0.5
1
-150 -100
-50
0 Real Axis
three modes 24
50
100
100
100
50
50
Magnitude (dB)
Magnitude (dB)
Frequency responses
0 -50 -100 -1 10
0
10
1
10 Frequency (rad/sec)
2
10
-50 -100 -1 10
3
10
0
10
1
10 Frequency (rad/sec)
2
3
10
10
0
Phase (deg)
0
Phase (deg)
0
-90
-360
-720
-180 -1
10
0
10
1
10 Frequency (rad/sec)
2
10
clamped joint
3
10
-1
10
three modes
0
10
1
10 Frequency (rad/sec)
2
3
10
10
tip 25
Useful control-oriented remarks • in pole-zero patterns of Pc(s), zeros precede and alternate with poles on the imaginary axis ⇒ passivity property • zero patterns of Pt(s) are symmetric w.r.t. the imaginary axis ⇒ non-minimum phase property ⇒ no direct system inversion is feasible • while moving the output along the link (Px(s)), zeros migrate along imaginary axis and several phenomema occurr: – total pole-zero cancellation when pointing at CoM (vibrations unobservable from rigid motion variable θ) – for a particular x∗ ∈ (0, ), all zeros vanishes together at infinity (Px∗ (s) has maximum relative degree equal to 2(ne + 1)) – beyond x∗ (e.g., for x = ), all pairs of zeros reappear in Re+/Re− 26
• modal damping destroys perfect symmetry in zeros and poles (system is anyway asymptotically stable), but not the non-minimum phase property of Pt(s) • from the Bode plots, it follows that classical controller synthesis in the frequency domain is harder for the tip output – multiple crossing of 0dB axis of |Pt(jω)| —especially for high control gain – increasing phase lag when adding modes
27
Dynamic modeling of robots with multiple flexible links • a convenient kinematic description should be used, both for rigid body motion and flexible deformation • recursive procedures can be set up for open chains with flexible links, similarly to the rigid case • differential kinematic relationships are needed for computing kinetic and potential energy, within a Lagrangian approach • modeling results from the one-link case can be embedded (with caution) in the description of each flexible link of the robot • to limit complexity, we sketch here only the planar case (with gravity) of robots with N flexible links undergoing small bending deformations 28
Kinematics X2
X1 θ Y2
Y2 = Y3
w2(x 2 ) 2
X2 = X3
Y1 Y1
Y0
w1(x 1) X1 θ
1
X0
• link i: rigid motion by clamped angle θi(t); lateral bending wi(xi, t), xi ∈ [0, i] ∂wi ) • position vectors and (rigid/flexible) rotation matrices (wie = ∂x i
ip (x ) = i i
xi wi(xi)
ir
i i+1 = pi(i) Ai =
cos θi sin θi
− sin θi cos θi
xi=i
Ei =
−wie
1 wie
1 29
ˆ0, Y ˆ0) • recursive equations for absolute quantities in (X pi = ri + Wiipi
ri+1 = ri + Wiiri+1
Wi = Wi−1Ei−1Ai
• differential kinematics – absolute angular velocity of frame (Xi, Yi) α˙ i =
i j=1
θ˙j +
i−1
w˙ ke
k=1
– absolute linear velocity of a point on link i ˙ iipi + Wiip˙i p˙i = r˙i + W
where ip˙i = [ 0
w˙ i(xi) ]T (link extension is neglected) 30
Kinetic energy T =
N i=1
Thi +
N
Ti + Tp
i=1
• hub i 1 1 T Thi = mhir˙i r˙i + Jhiα˙ 2 i 2 2 • link i
1 i ρi(xi)p˙i(xi)T p˙i(xi)dxi Ti = 2 0 • payload Tp =
1 1 T )2 r ˙ + ( α ˙ + w ˙ mpr˙N J p N N +1 N e +1 2 2 31
Potential energy U =
N
Uei +
i=1
N
N
Ughi +
i=1
Ugi + Ugp
i=1
• elastic energy of link i Uei =
1 i
2 0
(EI)i(xi)
2 2 d wi(xi) dxi 2 dxi
• gravitational energy of hub i and of link i Ughi = −mhig0T ri
Ugi = −g0T
i 0
ρi(xi)pi(xi)dxi
• gravitational energy of payload Ugp = −mpg0T rN +1
where g0 is the gravity acceleration vector 32
Euler-Lagrange equations • introduce any finite-dimensional discretization for wi(xi, t) wi(xi, t) =
nei
ϕij (xi)δij (t)
i = 1, . . . , N
j=1
• Lagrangian is in terms of N + M generalized coordinates, M =
L = T − U = L {θi(t), δij (t), θ˙i(t), δ˙ij (t)}
and satifies to
N i=1 nei,
d ∂L ∂L − = τi ˙ dt ∂θi ∂ θi d ∂L ∂L − = 0 ˙ dt ∂ δij ∂δij
i = 1, . . . , N j = 1, . . . , nei
i = 1, . . . , N
being τi the torque delivered by the actuator at joint i 33
• the general dynamic model of flexible robots (including modal damping) is then
Mθθ (θ, δ)
Mθδ (θ, δ)
T (θ, δ) Mθδ
Mδδ (θ, δ)
˙ δ) ˙ cθ (θ, δ, θ, gθ (θ, δ) 0 τ θ¨ + + + = ˙ ˙ ˙ ¨ cδ (θ, δ, θ, δ) gδ (θ, δ) Dδ + Kδ 0 δ
with blocks of suitable dimensions (e.g., Mθδ in the inertia matrix is (N × M )), or in the more compact form
M (q)¨ q + c(q, q) ˙ + g(q) +
0 Dδ˙ + Kδ
=
τ 0
with q := (θ, δ) ∈ IRN +M • vector of centrifugal/Coriolis terms can be factorized using Christoffel symbols
Cθθ (q, q) ˙ c(q, q) ˙ = C(q, q) ˙ q˙ = Cδθ (q, q) ˙
Cθδ (q, q) ˙ Cδδ (q, q) ˙
θ˙ δ˙
34
Model properties ˙ − 2C is skew-symmetric — also blockwise, e.g. M ˙ δδ − 2Cδδ • as usual, matrix M • spatial dependence in the kinetic and potential energy of the links can be resolved introducing a set of dynamic coefficients so that (De Luca, Siciliano, 1991)
˙ δ, ˙ θ¨, δ¨)a = Y (θ, δ, θ,
τ 0
where constant vector a summarizes the mechanical (rigid + flexible) properties of the links and can be computed off-line (or identified experimentally) • − − −
choice of assumed modes —basis functions ϕij (xi) for bending deformation admissible functions satisfy only geometric b.c.’s comparison functions (FE method, Ritz-Kantorovich) satisfy also natural b.c.’s orthonormal eigenfunctions (links modeled as Euler-Bernoulli beams) leads to simplifications in inertia submatrix Mδδ (block diagonal, constant) 35
• a common approximation evaluates total kinetic energy in the undeformed arm configuration δ = 0 ˙ δ) ˙ ⇒ M = M (θ) and thus c = c(θ, θ, ⇒ cδ loses quadratic dependence on δ˙ • moreover, if Mδδ is constant ⇒ cθ loses quadratic dependence on δ˙ ⇒ cδ is a quadratic function of θ˙ only • if also Mθδ is constant ⇒ cδ ≡ 0 ⇒ cθ is a quadratic function of θ˙ only • finally, small deformation of each link implies gδ = gδ (θ) 36
Control problems ˙ δ) ˙ = (θd, δd, 0, 0) • regulation to a constant equilibrium configuration (θ, δ, θ, – only the desired joint position θd is assigned, while δd has to be determined – θd may come from the kineto-static inversion of a desired cartesian pose xd, but no closed-form solution exists (see De Luca, Panzieri, 1994) – direct kinematics of FL robots is in fact a complete function of rigid and flexible variables: x = kin(θ, δ) • tracking of a joint trajectory θd(t) —the easy case • tracking of a end-effector trajectory xd(t) —the difficult case • rest-to-rest motion in given time T (a trajectory planning problem in first place) ∗ in tracking problems, controllers try to stiffen the flexible arm at a point in a way or the other 37
Sensing requirements ˙ , deflections • full state feedback requires sensing of joint/motor variables (θ, θ) δ , and deflection rates δ˙ (no direct sensor available) • at least encoder + tachometer on the motor axis (sometimes is enough . . . ) • a range of sensors for measuring δ (or deformation related quantities), each with pros and cons: strain gauges, accelerometers, optical sensors, video camera (on-board or fixed in workspace), piezoelectric actuating/sensing devices, . . .
38
• problems with camera: frame rate, field of view/accuracy
39
Regulation with joint PD + feedforward • for regulation tasks, consider the control law τ = KP (θd − θ) − KD θ˙ + gθ (θd, δd)
with symmetric (diagonal) KP > 0, KD > 0, and the associated link deflection δd := −K −1gδ (θd)
Theorem (De Luca, Siciliano, 1993) If
λmin
KP 0
0 K
>α
then the closed-loop equilibrium state (θd, δd, 0, 0) is asymptotically stable
40
Remarks • Lyapunov-based proof similar to the joint elastic case (not repeated here) • determination of α – in view of small deformation 1 T Ue = δ Kδ ≤ Ue,max 2
⇒
δ ≤
2Ue,max λmax(K)
– bound on the gradient of the gravitational term ∂g 2Ue,max =: α ≤ α0 + α1δ ≤ α0 + α1 ∂q λmax(K)
• in absence of modal damping D = 0, special care in LaSalle analysis • for tip regulation, compute θd by solving via iterative techniques
kin
−1 θ, −K gδ (θ) = xd
41
Numerical results • a two-link flexible arm with two bending modes for each link with f11 = 1.4, f12 = 5.1, f21 = 5.2, f22 = 32.4 [Hz] • point-to-point motion: θ(0) = (−90◦, 0) → θd = (−45◦, 0) joint angles
50
joint torques
20
10
deg
Nm
0
-50
-100 0
0
1
2
3
-10 0
4
1
sec 0.1
2
3
4
sec
1st link deflections
0.005
m
0
m
0
2nd link deflections
-0.1
-0.2 0
-0.005
1
2 sec
3
4
-0.01 0
1
2
3
4
sec
42
Joint trajectory tracking • given a desired θd(t) ∈ C 2, assuming that the state is measurable and the dynamic model of FL robot is available, we proceed by system inversion from the joint position output θ • a nonlinear static state feedback is obtained that decouples and linearizes the input-output behavior, leaving an unobservable internal (nonlinear) dynamics • exponential stabilization of the output tracking error is performed on the linear side of the problem • some stability/boundedness of the internal system dynamics should be enforced • original results in (De Luca, Siciliano, 1993b)
43
System inversion • from second set of M equations in the dynamic model, solve (globally) for δ¨ −1 Tθ ¨) δ¨ = −Mδδ (cδ + gδ + Kδ + Dδ˙ + Mθδ
and plug in first set of N equations ⇒ effects of flexible dynamics onto rigid dynamics
−1 T ¨ −1 Mθθ − Mθδ Mδδ Mθδ θ + cθ + gθ − Mθδ Mδδ cδ + gδ + Kδ + Dδ˙ = τ
−1 T Mθδ has always full rank, since • Matrix Mθθ − Mθδ Mδδ
Mθθ
Mθδ
T Mθδ
Mδδ
I
0
−1 T −Mδδ Mθδ
I
=
−1 T Mθθ − Mθδ Mδδ Mθδ
Mθδ
0
Mδδ
44
• system output θ has uniform vector relative degree {2, 2, . . . , 2} (θ¨ depends on τ in a nonsingular way) • define the nonlinear control law
−1 T −1 ˙ τ = Mθθ − Mθδ Mδδ Mθδ a + cθ + gθ − Mθδ Mδδ (cδ + gδ + Kδ + Dδ) −1 in which only the inversion inertia block Mδδ is required
• the closed-loop system is
θ¨ = a −1 T δ¨ = −Mδδ Mθδ a + cδ + gδ + Dδ˙ + Kδ • for stabilizing the output tracking error e = θd − θ, choose ˙ + KP (θd − θ) a = θ¨d + KD (θ˙d − θ)
with (diagonal) KP > 0, KD > 0 45
Analysis of internal dynamics • zero dynamics, when output θ(t) ≡ 0 (or constant):
−1 δ¨ = −Mδδ cδ + gδ + Dδ˙ + Kδ
asymptotically stable (via Lyapunov argument) ⇒ whole closed-loop system too • clamped dynamics, when output θ(t) ≡ θd(t): δ¨ = −A2(t)δ˙ − A1(t)δ + fδ (t)
where (in the case M independent of δ ) −1 T (θ )θ fδ (t) = −Mδδ (θd)(Mθδ d ¨d + cδ (θd, θ˙d) + gδ (θd)) −1 (θd)K A1(t) = Mδδ
−1 (θd)D A2(t) = Mδδ all time-varying functions are bounded ⇒ closed-loop stability is ensured 46
Remarks on joint trajectory tracking • the input-output linearization result is the nonlinear/MIMO counterpart of the transfer function τ → θc with minimum phase zeros (stable zero dynamics) • the more ‘rigid’ is the tracking of a desired joint trajectory, the less vibration energy is taken out from (or the more is injected into) the rest of flexible arm!! • a nominal feedforward is computed by forward integration of flexible dynamics −1 T (θ , δ)θ ˙ + gδ (θd) + Dδ˙ + Kδ + Mθδ ¨d) δ¨ = −Mδδ (θd, δ)(cδ (θd, δ, θ˙d, δ) d
˙ = δ˙0 ⇒ nominal (and bounded) evolution δd(t), δ˙d(t) from δ(0) = δ0, δ(0) • substitution of (θd(t), δd(t), θ˙d(t), δ˙d(t)) in the expression of the control law (w/out feedback) yields τd(t) and the simple local tracking controller ˙ τ = τd(t) + KP (θd − θ) + KD (θ˙d − θ) 47
End-effector trajectory tracking • accurate end-effector trajectory tracking is the toughest control problem for flexible robots • direct extension of inversion strategies to end-effector output ⇒ closed-loop instabilities – linear (single-link) case: non-minimum phase tip transfer function – nonlinear (multilink) case: unstable zero dynamics for end-effector motion • main ideas proposed in the literature: – resort to suitable feedforward strategy (non-causal solutions) – use feedback, but avoid cancellation (causal solutions) ∗ selection of suitable end-effector trajectories that induce smaller arm deflections is of interest in any case 48
Inversion in frequency domain • idea: desired motion trajectory as being part of a periodic profile ⇒ use Fourier transforms (Bayo, 1987) • single-link flexible arm (with generic variables)
mθθ
T ¨ θ mδθ 0 +
mδθ Mδδ • tip position output
δ¨
0
0
D
mθθ
T mT δθ − mθθ ce
mδθ
Mδδ − mδθ cT e
y(t) = [ 1 • rewrite in terms of (y, δ)
θ˙ 0 + ˙δ 0
y¨ 0 + ¨ δ 0
cT e ]
0 D
θ δ
0 K
θ δ
=
τ
0
y˙ 0 + ˙δ 0
0 K
y δ
=
τ 0 49
• take bilateral Fourier transforms ¨ (ω) = Y
∞
−∞
¨ ∆(ω) =
exp(jωt)¨ y (t)dt T (ω) =
∞ −∞
mθθ mδθ
−∞
exp(jωt)δ¨(t)dt
exp(jωt)τ (t)dt
and obtain
∞
T mT − m c ¨ θθ e Y (ω) T (ω) δθ = 1 1 T ¨ ∆(ω) 0 D− 2K Mδδ − mδθ ce + jω ω
• solve for accelerations
¨ (ω) Y g11(ω) = ¨ ∆(ω) g21(ω)
T (ω) g12
G22(ω)
T (ω) 0
50
• torque is obtained through inversion (in the frequency domain) 1 ¨ (ω) = r(ω)Y ¨ (ω) Y T (ω) = g11(ω) • for a given zero-mean y¨d(t), with y¨d(t) = 0 for t ≤ −T /2 and t ≥ T /2, this can be embedded into a periodic signal from (−∞, +∞) ¨d(ω) → Td(ω) → τd(t) from finite inverse Fourier transform • y¨d(t) → Y τd(t) =
∞ −∞
r(t − τ )¨ yd(τ )dτ =
T /2 −T /2
r(t − τ )¨ yd(τ )dτ
expanding beyond [−T /2, T /2] (non-causal inverse system)
51
Remarks • outside the given interval T of output motion, the computed input torque has a – precharging action, bringing internal flexible state from rest to a suitable initial state at t = −T /2 – discharging action, bringing internal flexible state from the final state at t = T /2 to rest • obtained initial condition is the unique state from which inversion control does lead to bounded internal evolution for the desired end-effector output trajectory! • truncations (in time or frequency domain) inherent to actual computations (FFT) • can be extended to the nonlinear (multilink flexible) setting, by repeated linear approximations along nominal trajectory (starting from rigid body motion) 52
Extension to nonlinear case: End-effector bang-bang trajectory 100
3 1.2
80 2 1
60 1
20
0.8
0 y (m)
0.6
Nm
gradi / sec ^2
40
0
0.4
-1
-20 -40
0.2
-2
-60
0 -3
-80 -0.2 -100
0
0.5
1
1.5
2 sec
2.5
3
3.5
acceleration profiles
4
-4
0
0.5
1
1.5
2 sec
2.5
3
command torques
3.5
4
-1
-0.8
-0.6
-0.4
-0.2
0 x (m)
0.2
0.4
0.6
FLEXARM motion
53
0.8
1
Extension to nonlinear case: End-effector sinusoidal trajectory 150
2 0.5 1.5
100
0.4 1 0.3
y (m)
0.5 Nm
gradi / sec ^2
50
0
0.2 0.1
0 -50
0 -0.5 -0.1
-100
-1 -0.2
-150
0
0.5
1
1.5
2 sec
2.5
3
3.5
acceleration profiles
4
-1.5
0
0.5
1
1.5
2 sec
2.5
3
command torques
3.5
4
-0.1
0
0.1
0.2
0.3
0.4 0.5 x (m)
0.6
0.7
0.8
FLEXARM motion
54
0.9
Regulation theory • end-effector trajectory tracking in robots with flexible links is an instance of asymptotic output tracking with internal state stability (regulation problem) • well-established technique in linear case and, by now, also in nonlinear case • idea: compute the (bounded!) state trajectory associated to the desired output trajectory (generated by an autonomous antistable system, the exosystem) • in linear case, write state-space equations (with x = (q, q) ˙ ) for the flexible arm x˙ = Ax + Bτ
e = y − yd
and for the generator of desired output w˙ = Sw
yd = −Qw 55
• when (A, B) is stabilizable, the problem has a solution if and only if the following regulator equations are solvable in Π and Γ ΠS = AΠ + BΓ
CΠ + Q = 0
• a state feedback + feedforward controller is then τ = F (x − Πw) + Γw
with feedback matrix F such that (A + BF ) is Hurwitz • the computed Πw is the desired state trajectory; xd(0) = Πw(0) is the unique initial state from which inversion control does lead to bounded internal evolution! • control solutions with dynamic output feedback are also available
56
Numerical results for sinusoidal end-effector trajectory autovalori in -10 (quattro) e -10 (quattro)
autovalori in -10 (quattro) e -10 (quattro)
100
70
80
60
60 50
errore al tip (deg)
uscita tip (deg)
40 20 0 -20
40
30
20
-40 10 -60 0
-80 -100
0
1
2
3
4
5 sec
6
7
8
9
10
tip output
-10
0
1
2
3
4
5 sec
6
7
8
9
10
tip error
57
autovalori in -10 (quattro) e -10 (quattro) 1.5
0.02
1
0.01
0.5 controllo (Nm)
variabili deformazione delta (m)
autovalori in -10 (quattro) e -10 (quattro) 0.03
0
0
-0.01
-0.5
-0.02
-1
-0.03
0
1
2
3
4
5 sec
6
7
8
9
10
deformation variables
-1.5
0
1
2
3
4
5 sec
6
7
8
9
10
torque input
58
autovalori in -10 (quattro) e -10 (quattro) 100 80 60
uscita al giunto (deg)
40 20 0 -20 -40 -60 -80 -100
0
1
2
3
4
5 sec
6
7
8
9
10
clamped joint angle (and desired tip output)
59
Rest-to-rest motion • task: execute a slew motion with a FL robot arm between two undeformed configurations in given time • problem: fast transfers induce residual oscillations extending the actual task completion time • strategy: design a suitable output and plan output trajectories (and associated torque profiles) inducing complete absence of vibrations at the desired final time • solution: output with maximum relative degree (no zeros); closed-form algorithm in the linear case; direct extension to MIMO nonlinear case (DFL or flat output, no zero dynamics)
60
Time-based algorithm for a single flexible link • choose a parametric output y (unknown ci’s) (De Luca, Di Giovanni, 2001) y=θ+
ne
c i δi = θ + c T δ
i=1
• impose τ -independence of (even) output derivatives ne ne 1 y¨ = ( + ciφi(0))τ − ciωi2δi J i=1 i=1
⇒
ciφi(0) = −1/J
ne ne 4y d [4] 2 4 y =: 4 = − ciωi φi(0) τ + ciωi δi ⇒ ciωi2φi(0) = 0 dt i=1 i=1 and so on, until a set of ne equations are generated (torque τ appears in the 2(ne + 1)-th output derivative) 61
• solve for the coefficients c = (c1, . . . , cne ) V · diag{φ1(0), . . . , φne (0)} c = [ −1/J 0 . . . 0 ]T
with Vandermonde matrix V generated by (ω12, . . . , ωn2e ) • nominal torque τd(t) computed by inversion on highest derivative imposing [2(ne +1)]
y [2(ne+1)] = yd
for a suitably planned output trajectory yd(t), t ∈ [0, T ] (given trasfer time) • for the output trajectory yd(t), solve a simple interpolation problem diyd diyd yd(0) = θi yd(T ) = θf (0) = (T ) = 0 i i dt dt e.g., a polynomial of degree 4ne + 3 will be sufficient
i = 1, . . . , 2ne + 1
62
Laplace-based algorithm (only in the linear case) • impose that the transfer function has no zeros ne ciφi(0) ∆ y(s) K 1 + = = 2 + ω2 2 ne (s2 + ω 2 ) τ (s) Js2 s s i i i=1 i=1 • partial fractions expansion yields closed-form expressions ne 1 K= ωi2 J i=1
1 ci = − Jφi(0)
ne j=1 j =i
ωj2 ωj2 − ωi2
(i = 1, . . . , ne)
• set y = yd and invert in the transformed domain (then back to time → τd(t))
ne
J 2 + ω 2 ) y (s) s2 τd(s) = ne (s d i 2 ω i=1 i i=1 63
Remarks • method applies to any linear (controllable) model of a single-link flexible arm • output structure for modal damping (De Luca, Caiano, Del Vescovo, 2003) y=θ+
ne i=1
ciδi + γ θ˙ +
ne
diδ˙i
i=1 x∗ on
• design output is (in the limit) a specific point the physical beam: for a given ne, ci = φi(x∗ne )/x∗ne while limne→∞ x∗ne = x∗ • for improved torque/time performance, modified method generates smoothed bang-bang/bang-coast-bang torque profiles, with polynomial interpolating phases • trajectory planning (feedforward) combined with feedback control τ = τd(t) + KP (θc,d(t) − θc) + KD (θ˙c,d(t) − θ˙c) with clamped joint reference θc,d(t) computed from the algorithm 64
Numerical results ne = 3 modes with f1 = 4.05, f2 = 12.34, f3 = 22.87 [Hz] θf − θi = 90◦ in T = 2 s 19th degree polynomial (continuous torque derivative) 100
3
90 2 80 70 1
Nm
60 deg
• • •
50
0
40 -1 30 20 -2 10 0 0
0.2
0.4
0.6
0.8
1 s
1.2
1.4
1.6
1.8
output trajectory
2
-3
0
0.2
0.4
0.6
0.8
1 s
1.2
1.4
1.6
1.8
2
rest-to-rest torque 65
100
0.025
90
0.02
80
0.015
70
0.01
60
0.005
50
0
40
-0.005
30
-0.01
20
-0.015
10
-0.02
0.6
0.4
m
deg
0.2
0
-0.2
0 0
0.2
0.4
0.6
0.8
1 s
1.2
1.4
1.6
1.8
2
-0.025
clamped (—), tip angle (- -)
-0.4
-0.6 0
0.2
0.4
0.6
0.8
1 s
1.2
1.4
1.6
1.8
deformation variables
2
-0.6
-0.4
-0.2
0 m
0.2
0.4
0.6
arm motion
66
Experiment on DMA single flexible link
67
Extension to nonlinear case: Rest-to-rest motion • time-based algorithm for two-link with flexible forearm (De Luca, Di Giovanni, 2001b) delta
u1, u2
0.025
8
0.02
6
1 0.8 0.6
0.015
4 0.4
0.01 2
0.2 m
Nm
0.005 0
0
0 -0.2
-2 -0.005
-0.4 -4
-0.01
-0.6 -6
-0.015 -0.02
0
0.2
0.4
0.6
0.8
1 s
1.2
1.4
1.6
first deformation mode
1.8
2
-8
-0.8
0
0.2
0.4
0.6
0.8
1 s
1.2
1.4
command torques
1.6
1.8
2
-1 -1
-0.5
0 m
0.5
1
FLEXARM motion
68
Conclusions • extra effort in dynamic modeling pays off – model-based controllers for accurate trajectory tracking – proof of stability for model-inpedendent regulation controllers • conventional control strategies tend to suppress vibrations wherever they arise – outcome of the analysis: controlled system should be brought to a vibratory behavior compatible with the given output task • EJ robots are similar to FL robots in mechanical modeling, but intrinsically different from the control point of view
69
What has been left out . . . • singular perturbation modeling and control (for joint or link stiffness K → ∞), including corrective and invariant manifold controllers • iterative learning control that yields same accuracy (for all types of tasks) without using a dynamic model but assuming repetitive tasks • model uncertainties, disturbances, . . .
70
References (Bayo, 1987) “A finite-element approach to control the end-point motion of a single-link flexible robot,” JRS, 4, 63–75 (De Luca, Caiano, Del Vescovo, 2003) “Experiments on rest-to-rest motion of a flexible arm,” in Experimental Robotics VIII (Siciliano, Dario Eds), STAR 5, Springer, 338–349 (De Luca, Di Giovanni, 2001) “Rest-to-rest motion of a one-link flexible forearm,” IEEE/ASME AIM 01, 923–928 (De Luca, Di Giovanni, 2001b) “Rest-to-rest motion of a two-link robot with a flexible forearm,” IEEE/ASME AIM 01, 929–935 (De Luca, Lanari, Ulivi, 1991) “End-effector trajectory tracking in flexible arms: Comparison of approaches based on regulation theory,” in Advanced Robot Control (Canudas de Wit Ed), LNCIS 162, Springer, 190–206 (De Luca, Panzieri, 1994) “An iterative scheme for learning gravity compensation in flexible robot arms,” Automatica, 30(6), 993–1002 71
(De Luca, Panzieri, Ulivi, 1998) “Stable inversion control for flexible link manipulators,” IEEE ICRA, 799–805 (De Luca, Siciliano, 1991) “Closed-form dynamic model of planar multi-link lightweight robots,” IEEE SMC, 21(4), 826–839 (De Luca, Siciliano, 1993) “Regulation of flexible arms under gravity,” IEEE TRA, 9(4), 463–467 (De Luca, Siciliano, 1993b) “Inversion-based nonlinear control of robot arms with flexible links,” AIAA JGCD, 16(6), 1169–1176 (De Luca, Siciliano, 1996) “Flexible links,” in Theory of Robot Control (Canudas de Wit, Siciliano, Bastin Eds), Springer, 219–261
72