Click here to load reader
View
221
Download
3
Embed Size (px)
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
MOTION CONTROL
Joint space control
Decentralized control
Computed torque feedforward control
Centralized control
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
THE CONTROL PROBLEM
Joint space control
Operational space control
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
JOINT SPACE CONTROL
Dynamic model
B(q)q + C(q, q)q + Fvq + g(q) =
Control find :
q(t) = qd(t)
transmissions
Krq = qm m = K1r
drives
K1r = Ktia
va = Raia + Kvqm
va = Gvvc
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Voltage-controlled manipulator
B(q)q + C(q, q)q + F q + g(q) = u
F = Fv + KrKtR1a KvKr
u = KrKtR1a Gvvc
KrKtR1a Gvvc = + KrKtR
1a KvKrq
= KrKtR1a (Gvvc KvKrq)
Kr with elements 1
Ra with small elements
not too large
decentralized control
Gvvc KvKrq
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Torque-controlled manipulator
reduction of sensitivity to parameter variations
Kt, Kv , Ra
ia = Givc
centralized control
= u = KrKtGivc
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
DECENTRALIZED CONTROL
Dynamic model at motor side
K1r BK1r qm+K
1r CK
1r qm+K
1r FvK
1r qm+K
1r g = m
average inertia
B(q) = B + B(q)
K1r BK1r qm + Fmqm + d = m
viscous friction
Fm = K1r FvK
1r
disturbance
d = K1r B(q)K1r qm + K
1r C(q, q)K
1r qm + K
1r g(q)
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Manipulator + drives
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
INDEPENDENT JOINT CONTROL
Manipulator n independent systems (joint drives)
control of each joint axis as a singleinput/singleoutputsystem
coupling effects between joints treated as disturbance inputs
Effective rejection of the effects of d on m
large value of amplifier gain before point of intervention ofdisturbance
presence of integral action in the controller so as to cancelthe effect of gravitational component on output at steadystate (constant m)
Proportional-integral (PI) control
C(s) = Kc1 + sTc
s
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
General structure
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Position feedback
CP (s) = KP1 + sTP
sCV (s) = 1 CA(s) = 1
kTV = kTA = 0
transfer function of forward path
C(s)G(s) =kmKP (1 + sTP )
s2(1 + sTm)
transfer function of return path
H(s) = kTP
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
root locus analysis
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
closed-loop input/output transfer function
m(s)
r(s)=
1
kTP
1 +s2(1 + sTm)
kmKP kTP (1 + sTP )
W (s) =
1
kTP(1 + sTP )
(1 +
2s
n+
s2
2n
)(1 + s)
closed-loop disturbance/output transfer function
m(s)
D(s)=
sRa
ktKP kTP (1 + sTP )
1 +s2(1 + sTm)
kmKP kTP (1 + sTP )
XR = KP kTP TR = max
{TP ,
1
n
}
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Position and velocity feedback
CP (s) = KP CV (s) = KV1 + sTV
sCA(s) = 1
kTA = 0
transfer function of forward path
C(s)G(s) =kmKP KV (1 + sTV )
s2(1 + sTm)
transfer function of return path
H(s) = kTP
(1 + s
kTV
KP kTP
)
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
root locus analysis
choice of zeroTV = Tm
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
closed-loop input/output transfer function
m(s)
r(s)=
1
kTP
1 +skTV
KP kTP+
s2
kmKP kTP KV
W (s) =
1
kTP
1 +2s
n+
s2
2n
design requirements
KV kTV =2nkm
KP kTP KV =2nkm
closed-loop disturbance/output transfer function
m(s)
D(s)=
sRa
ktKP kTP KV (1 + sTm)
1 +skTV
KP kTP+
s2
kmKP kTP KV
XR = KP kTP KV TR = max
{Tm,
1
n
}
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Position, velocity and acceleration feedback
CP (s) = KP CV (s) = KV CA(s) = KA1 + sTA
s
G(s) =km
(1 + kmKAkTA)
1 +
sTm
(1 + kmKAkTA
TA
Tm
)
(1 + kmKAkTA)
transfer function of forward path
C(s)G(s) =KP KV KA(1 + sTA)
s2G(s)
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
transfer function of return path
H(s) = kTP
(1 +
skTV
KP kTP
)
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
root locus analysis
choice of zero
TA = Tm
kmKAkTATA Tm kmKAkTA 1
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
closed-loop input/output transfer function
m(s)
r(s)=
1
kTP
1 +skTV
KP kTP+
s2(1 + kmKAkTA)
kmKP kTP KV KA
closed-loop disturbance/output transfer function
m(s)
D(s)=
sRa
ktKP kTP KV KA(1 + sTA)
1 +skTV
KP kTP+
s2(1 + kmKAkTA)
kmKP kTP KV KA
XR = KP kTP KV KA TR = max
{TA,
1
n
}
design requirements
2KP kTPkTV
=n
kmKAkTA =kmXR
2n 1
KP kTP KV KA = XR
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
reconstruction of acceleration
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Decentralized feedforward compensation
High values of velocities and accelerations
degraded tracking capabilities
Adoption of feedforward action
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Position feedback
r(s) =
(kTP +
s2(1 + sTm)
kmKP (1 + sTP )
)md(s)
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Position and velocity feedback
r(s) =
(kTP +
skTV
KP+
s2
kmKP KV
)md(s)
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Position, velocity and acceleration feedback
r(s) =
(kTP +
skTV
KP+
(1 + kmKAkTA)s2
kmKP KV KA
)md(s)
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Control with torque-controlled drive and current feedfoward
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
COMPUTED TORQUE FEEDFORWARDCONTROL
At output of PIDD2
a2e + a1e + a0e + a1
te()d +
Tm
kmmd +
1
kmmd
Ra
ktd
=Tm
kmm +
1
kmm
a2e + a
1e + a
0e + a1
te()d =
Ra
ktd
E(s)
D(s)=
Ra
kts
a2s3 + a
1s2 + a
0s + a1
adoption of too high loop gains
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Computed torque
feedforward action (inverse model)
dd = K1r B(qd)K
1r qmd+K
1r C(qd, qd)K
1r qmd+K
1r g(qd)
reduction of disturbance rejection effort (limited gains)
off-line/on-line computation
partial compensation
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
CENTRALIZED CONTROL
Manipulator Coupled nonlinear multi-input/multi-outputsystem
B(q)q + C(q, q)q + F q + g(q) = u
PD control with gravity compensation
Regulation to constant equilibrium posture qd
Lyapunov direct method
state [ qT qT ]T q = qd q
Lyapunov function candidate
V (q, q) =1
2qT B(q)q +
1
2qT KP q > 0 q, q 6= 0
V = qT B(q)q +1
2qT B(q)q qT KP q
=1
2qT
(B(q) 2C(q, q)
)q qT F q + qT
(u g(q) KP q
)
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
choice of control
u = g(q) + KP q KDq
V = qT (F + KD)q
V = 0 q = 0, q
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
dynamics of controlled system
B(q)q + C(q, q)q + F q + g(q) = g(q) + KP q KDq
at equilibrium (q q 0)
KP q = 0 = q = qd q 0
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Inverse dynamics control
Dynamic model
B(q)q + n(q, q) = u
n(q, q) = C(q, q)q + F q + g(q)
Nonlinear state feedback (global linearization)
linear structure in u
(B(q)) = n q
u = B(q)y + n(q, q)
q = y
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Choice of stabilizing control y
y = KP q KDq + r
r = qd + KDqd + KP qd
q + KD q + KP q = 0
perfect cancellation
constraints on hardware/software architecture of controlunit
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Robust control
Imperfect compensation
u = B(q)y + n(q, q)
uncertainty
B = B B n = n n
Bq + n = By + n
q = y + (B1B I)y + B1n = y
= (I B1B)y B1n
Choice of control
y = qd + KD(qd q) + KP (qd q)
q + KD q + KP q =
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
q = qd y +
first-order differential equation
= H + D(qd y + )
Estimate on range of variation of uncertainty
supt0
qd < QM < qd
I B1(q)B(q) 1 q
n < q, q
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO
Choice of control
y = qd + KD q + KP q + w
= H + D( w)
H = (H DK) =
[O I
KP KD
]
Lyapunov method
V () = T Q > 0 6= 0
V = T Q + T Q
= T (HT Q + QH) + 2T QD( w)