Professional Documents
Culture Documents
Handout8 Control
Handout8 Control
Control
• Natural Systems
• PID Control
• Joint-Space Dynamic Control
• Task-Oriented Control
1
Joint Space Control Resolved Motion Rate Control (Whitney 72)
δx = J (θ )δθ
δq1 q1
Control Joint 1
Outside singularities
δq2
Control Joint 2
q2
δθ = J −1 (θ )δx
xd Inv. qd q
Kin. Arm at Configuration θ
δqn
Control Joint n
qn
x = f (θ )
δx = x d − x
δθ = J −1δx
θ + = θ + δθ
2
Natural Systems Natural Systems V=
1 2
kx
k 2
Conservative Systems m Conservative Systems
x
m x + kx = 0 x
d ∂ (K −V) ∂ (K −V) 1
( )− =0 K = mx 2 Frequency increases
dt ∂ x ∂x 2 with stiffness
and inverse mass
1
V = kx 2 k
m x + kx = 0 2 Natural Frequency ωn =
m
x + ω 2n x = 0 t
x (t ) = c cos(ω n t + φ )
3
Example
k x
x
m
x x x b m = 2.0
mx + bx + kx = 0 b = 4.8
k = 8.0
Video Segment
what is the “damped Natural frequency”
ω = ω n 1 − ξ n2
k b
ωn = =2; ξn = = 0.6 Tactile Sensing, H. Maekawa et al.
m 2 km
MEL, AIST-MITI, Tsukuba, Japan
ω = 2 1 − 0.36 = 1.6 ICRA’93 video proceedings
∂x 2
Position gain
4
Proportional-Derivative Control (PD) Gains
mx = f = − k p ( x − x d ) − kv x k p = mω 2
mx + kv x + k p ( x − xd ) = 0 kv = m(2ξω )
Gain Selection
FG ξ IJ → k = mω
Velocity gain Position gain
2
kv kp
1. x + x + (x − xd ) = 0
Hω K k = m(2ξω )
p
set
m m v
2ξω ω2
b( x, x )
Unit mass system
x d (t ); x d (t ); and x d (t )
Control: f ′ = x d − kv′ ( x − x d ) − k p′ ( x − x d ) e + kv′e + k p′ e = 0
Closed-loop System:
( x − x d ) + k v′ ( x − x d ) + k p′ ( x − x d ) = 0
with e ≡ x − x d
e + kv′e + k p′ e = 0
5
Disturbance Rejection Steady-State Error
mx + b( x , x ) = f fdist
xd fdist e + kv′e + k p′ e =
m
f′
( e = e = 0) :
xd f++ x
+ k p′ m +
System The steady-state
- + x
xd +
kv′ b( x , x )
fdist
k p′ e =
-
mx + b ( x , x ) = f + fdist m
f f
Control f = mf ′ + b ( x , x )
bounded
{∀ t fdist < a} e = dist = dist
Closed loop mk p′ kp
fdist Closed loop
e + kv′e + k p′ e = position
m gain
z
f Closed-loop System
x = x d + dist fdist
kp e + kv′e + k p′ e + ki′ edt =
fdist = k p Δx m
Δx e + kv′e + k p′ e + ki′e = 0
nt
ta
f
ns
Δx = dist
co
kp Closed Loop Steady-state Error e=0
Stiffness
τ m = ( Im +
IL
)θ m + ( bm +
bL
)θ m kv = ( I L + η 2 I m )kv′
η2 η2
Time Optimal Selection
τ L = ( I L + η 2 I m )θ L + ( bL + η 2 bm )θ L
1
Effective Inertia Effective Damping IL = ( I Lmin + I Lmax ) 2
4
6
Video Segment
On the Run, Marc Raibert, MIT
ISRR’93 video proceedings
Manipulator Control
m2
M (θ )θ + V (θ , θ ) + G (θ ) = τ G1
l2 θ2 kv1
l1
m1
θd - + τ1 θ1
θ1
1 + k p1 + Link1(m11)
FG m IJ FG θ IJ + FG m IJ dθ F 0 m122 I Fθ I F G I F τ I m21θ 1 −
m112 2
θ1
i GH − m JK GHθ JK + GH G JK = GH τ JK
2
m12
θ2 + θd τ2 θ2
K Hθ K H 0 K
11 1 1
Hm
1 112 1
1 112 2
m22 0 2
+ +
21 2 2 2 2 2 2
k p2 Link2(m22)
θ2
- +
Σ i , j ≠1 m ij q j + b1 + g1 q1
q1d q1 , q1 q1d q1 , q1
PD m11 Joint 1 m11
D
PD Joint 1 Y
N
A
M
q2 d q2 , q2 Σ i , j ≠ 2 m ij q j + b2 + g 2 q2
I
PD m22 Joint 2 C
q2 d q2 , q2
PD m22 Joint 2
C
O
U
Σ i , j ≠ n m ij q j + bn + g n P
qn L
qnd qn , qn I
PD mnn Joint n qnd qn , q n
mnn N
PD Joint n G
7
PD Control Stability PD Control Stability
τ = −k p (q − qd ) − kv q τ = −k p (q − qd ) − kv q
Vd = 1/ 2kp (q − qd )2 Vd = 1/ 2kp (q − qd )T (q − qd )
d ∂K ∂ K ∂ Vs ∂ Vd d ∂K ∂ K ∂ (V s − V d )
( )− + =τ
− − kvq ( )− + =τs
dt ∂ q ∂q ∂q ∂q dt ∂ q ∂q ∂q
τ s = − k v q with τ sT q < 0 for q ≠ 0; k v > 0
τd
qd
+ q
qd - e
kv + τ
Σ Σ M (q) Σ Arm q
+ +
- e
qd Σ
+ kp
a f
B(q, q ) + C q, q + G (q )
8
Joint Space Control Joint Space Control
V ( xGoal )
F
Fmotion
F = Fmotion + Fcontact
F = −∇V ( xGoal ) Fcontact
τ = JTF
F
x
Non-Redundant Manipulator ; n = m
x = ( x1 x2 … xm )
T
M x x+ Vx + Gx= F
q = ( q1 q2 … qn )
T
9
Equations of Motion ⎛ x⎞
Operational Space Dynamics
⎜ ⎟
d ⎛ ∂L ⎞ ∂L ⎜ y⎟
M x ( x) x + Vx ( x, x) + Gx ( x) = F
⎜ ⎟− =F ⎜z⎟
x=⎜ ⎟
dt ⎝ ∂x ⎠ ∂x ⎜α ⎟
⎜β ⎟ x: End-Effector Position and
⎜⎜ ⎟⎟
with ⎝γ ⎠ Orientation
L ( x , x ) = K ( x, x ) − U ( x ) M x ( x) : End-Effector Kinetic Energy Matrix
Vx ( x, x) : End-Effector Centrifugal and
Coriolis forces
Gx ( x) : End-Effector Gravity forces
F: End-Effector Generalized forces
Example ⎡ −d s1 c1⎤
0
J =⎢ 2 ⎥
⎣ d 2 c1 s1⎦
q2 = d 2
1
J
⎛ c1 − s1⎞ ⎛ 0 1 ⎞
⎡ d 2 c1⎤
0
J =⎜ ⎟⎜ ⎟
x=⎢ ⎥ ⎝ s1 c1 ⎠⎝ d 2 0 ⎠
⎣ d 2 s1⎦ ⎛ 0 1 d2 ⎞
1 −1
J =⎜ ⎟ ;
⎡ −d s1 c1⎤ ⎝1 0 ⎠
0
J =⎢ 2 ⎥
⎣ d 2 c1 s1⎦ ⎛ 0 1 ⎞⎛ m11 0 ⎞ ⎛ 0 1 d 2 ⎞
1
Mx = ⎜ ⎟⎜ ⎟⎜ ⎟
⎝1 d 2 0 ⎠⎝ 0 m22 ⎠ ⎝ 1 0 ⎠
10
⎛m 0 ⎞ ⎛ c1 − s1⎞ ⎛ m2 0 ⎞ ⎛ c1 s1 ⎞
Mx = ⎜ 2
0
Mx = ⎜ ⎟⎜ ⎟
m2 + ⎠ ⎜⎝ − s1 c1 ⎟⎠
1
⎟
⎝ 0 m2 + m2′ ⎠ ⎝ s1 c1 ⎠ ⎝ 0
m2 + m2′
m2
• +
m2 = m2 + m2′
y1 m2
x
• 1
m1
⎛ m2 + m2′ s12 −m2′ s c1 ⎞
0
Mx = ⎜ ⎟
I 331 + I 332 + m l ⎝ −m2′ s c1 m2 + m2′ c12 ⎠
2
m2′ = 11
d22
End-Effector Control
m2 + m2′
m2
F
τ = J T (q) F
⎛ m + m2′ s1 2
− m2′ s c1 ⎞
0
Λ=⎜ 2 ⎟
⎝ −m2′ s c1 m2 + m2′ c12 ⎠
11
Example 2-d.o.f arm:
Non-Dynamic Control ( m c 12 + m ) x + m
1
* 2
2 1
*
y + Vx1 = − k p ( x − xg ) − kv x
( m c 12 + m ) y + m
* 2 *
x + Vx 2 = − k p ( y − y g ) − kv y
M x ( x) x + Vx ( x, x) + Gx ( x) = F 1 2 1
Trajectory: xd , xd , xd
ε q + kv' ε q + k p' ε q = 0
F ' = I xd − k ( x − xd ) − k ( x − xd )
'
v
'
p
with ε q = q − qd
( x − xd ) + kv' ( x − xd ) + k p' ( x − xd ) = 0
or ε x + kv' ε x + k p' ε x = 0
with ε x = x − xd
12
Task-Oriented Control Compliance I x = F′
⎛ k ′p 0 0 ⎞
⎜ x ⎟
xd
af x F′= −⎜ 0 k ′p y 0 ⎟ ( x − x d ) − k v′ x
a fτ
q
F Kin q
xd - e
kv JT q ⎜ ⎟
⎜ 0 k ′p z ⎟⎠
Σ Σ M x (q ) Σ Arm q
J aq f
+ x
xd -
Σ
e
kp ⎝ 0
+
set to zero
Vx ( q , q ) + G x ( q )
x + k x + k ( x − xd ) = 0
'
v
'
px
y + k v' y + k py
'
( y − yd ) = 0
z + k v' z = 0
Compliance along Z
τ = J T F = J T K x Δ x = ( J T K x J ) Δ θ = Kθ Δ θ fd = 1Nm
Kθ = J T (θ ) K x J (θ )
output~0
Break away
13
Steady-State error
m Task Description
( fs + kv′f fs + k p′ f ( fs − fd )) + ( fs − fd ) = 0
ks
fdist
f s = fs = 0
mk p′ f
( + 1)e f = fdist
ks
fdist
ef =
mk p′ f
1+
ks
F = Ω Fmotion + Ω Fforce
Selection matrix
⎛ 1 0 0⎞
⎜ ⎟
Ω = ⎜ 0 1 0⎟; Ω = I − Ω Two decoupled Ω ϑ = Ω Fmotion
*
⎜ 0 0 0⎟ Subsystems
⎝ ⎠ Ω ϑ = ΩFforce
*
14