Ch. 7: Independent Joint Control: 1. SISO Overview
Ch. 7: Independent Joint Control: 1. SISO Overview
1. SISO overview
• We want the robot tracks the desired trajectory and rejects external
disturbances
• We already have the desired trajectory, and we assume that we can
measure the actual trajectories
• Thus the first thing we need is a system description
2
1. SISO overview
1. SISO overview
4
2. Motor dynamics
stator
rotor
(armature)
commutator
5
2. Motor dynamics
6
2. Motor dynamics
2. Motor dynamics
• Similarly:
dθ
Vb = K 2φωm = K b m
dt
Kb: back EMF constant
8
2. Motor dynamics
2. Motor dynamics
• Now we have the ODEs describing this system in both the electrical
and mechanical domains:
di a dθ d 2θ m dθ τ
L + Ri a = V − K b m Jm + Bm m = K m i a − L
dt dt dt 2
dt r
• In the Laplace domain:
τ L (s )
(Ls + R )Ia (s ) = V (s ) − K bsΘ m (s ) (J m )
s 2 + Bm s Θ m (s ) = K mIa (s ) −
r
• These two can be combined to define the input-output relationship
for the input voltage, load torque, and output displacement:
10
2. Motor dynamics
(J m )
s 2 + Bm s Θ m (s )
= Ia (s )
Km
11
2. Motor dynamics
12
2. Motor dynamics
Θ m (s ) Km / R
=
V (s ) s[J m s + Bm + K bK m / R ]
Θ m (s ) − 1/ r
=
τ L (s ) s[J m s + Bm + K bK m / R ]
13
2. Motor dynamics
J B u (t ) d (t )
• We can write the dynamics of a DC motor attached to a load as:
Jθ( t ) + Bθ ( t ) = u ( t ) − d ( t ) ( )
Js 2 + Bs Θ ( s ) = U ( s ) − D ( s )
– Note that u(t) is the input and d(t) is the disturbance (e.g. the
dynamic coupling from motion of other links)
14
3. Set-point Tracking
15
3.1. PD controller
16
3.1. PD controller
s2 +
(B + K d ) s + K p =0
J J
• If we think of the closed-loop system as a damped second order
system, this allows us to choose values of Kp and Kd
s 2 + 2ζωs + ω 2 = 0
• Thus Kp and Kd are:
K p = ω 2J
K d = 2ςωJ − B
17
3.1. PD controller
Θ (s ) =
(K sd
2
)
+ K ps + K i Θ d (s ) − sD(s )
Js + (B + K d )s 2 + K ps + K i
3
19
• The integral term eliminates the steady state error that can arise from
a large disturbance
• How to determine PID gains
1. Set Ki = 0 and solve for Kp and Kd
(B + K d )K p
2. Determine Ki to eliminate steady state error K i <
J
• Stability
– The closed-loop stability of these systems is determined by the
roots of the characteristic polynomial
– If all roots (potentially complex) are in the ‘left-half’ plane, our
system is stable
– A description of how the roots of the characteristic equation
change (as a function of controller gains) is very valuable
• Called the root locus
20
4. Trajectory tracking
21
– Assumptions:
• G(s), H(s) are proper
• G(s) is open-loop stable
• G(s), H(s), F(s) are rational
22
4.1. Feedforward control
• Since the three polynomials are rational, we can write them as:
q (s ) c (s ) a(s )
G(s ) = , H (s ) = , F (s ) =
p(s ) d (s ) b(s )
• Where:
deg q (s ) < deg p(s ), degc (s ) < deg d (s )
Θ=
(G(s )F (s ) + G(s )H (s ))Θ d
1 − G(s )H (s )
23
T (s) =
Θ(s)
=
(G ( s ) F ( s ) + G ( s ) H ( s ))
Θd ( s ) 1− G (s) H (s)
q ( s ) ⎡⎣c ( s ) b ( s ) + a ( s ) d ( s ) ⎤⎦
=
b ( s ) ⎡⎣ p ( s ) d ( s ) + q ( s ) c ( s ) ⎤⎦
24
4.1. Feedforward control
25
(
Θ ( s ) = G ( s ) ⎡ D ( s ) + F ( s ) Θd ( s ) + H ( s ) Θd ( s ) − Θ ( s ) ⎤
⎣ ⎦ )
Θ ( s ) = G ( s ) ⎡ D ( s ) + F ( s ) Θd
⎣
( s) + H ( s)(Θ d
( s ) − Θ ( s ) )⎤⎦
= G ( s ) D ( s ) + G ( s ) F ( s ) Θd ( s ) + G ( s ) H ( s ) Θd ( s ) − G ( s ) H ( s ) Θ ( s )
G (s) G (s) F (s) + G (s) H (s) d
= D(s) + Θ (s)
1+ G (s) H (s) 1+ G (s) H (s)
26
4.1. Feedforward control
27
G(s ) = F (s ) = Js 2 + Bs
1
H (s ) = K p + K d s
Js + Bs
2
28
4.1. Feedforward control
29
• This gives a two dimensional set of first order ODEs describing the
evolution of the state
• If we are interested in an output (for example θ), we make one last
definition:
y = θ = x1 = c T x
= [1 0]x
U (s )
31
32