Plan of the Lecture Review: stability; Routh Hurwitz criterion Today s topic: basic properties and benefits of feedback control
Plan of the Lecture Review: stability; Routh Hurwitz criterion Today s topic: basic properties and benefits of feedback control Goal: understand the difference between open-loop and closed-loop (feedback) control; examine the benefits of feedback: reference tracking and disturbance rejection; reduction of sensitivity to parameter variations; improvement of time response.
Plan of the Lecture Review: stability; Routh Hurwitz criterion Today s topic: basic properties and benefits of feedback control Goal: understand the difference between open-loop and closed-loop (feedback) control; examine the benefits of feedback: reference tracking and disturbance rejection; reduction of sensitivity to parameter variations; improvement of time response. Reading: FPE, Section 4.1; lab manual
Two Basic Control rchitectures Open-loop control W R K U P Y Feedback (closed-loop) control W R E K U P Y Here, W is a disturbance; K is not necessarily a static gain
Basic Objectives of Control W R K U P Y track a given reference W reject disturbances R E K U P Y meet performance specs Intuitively, the difference between the open-loop and the closed-loop architectures is clear (think cruise control...)
Open-Loop Control W R K U P Y
Open-Loop Control W R K U P Y cheaper/easier to implement (no sensor required)
Open-Loop Control W R K U P Y cheaper/easier to implement (no sensor required) does not destabilize the system
Open-Loop Control W R K U P Y cheaper/easier to implement (no sensor required) does not destabilize the system e.g., if both K and P are stable (all poles in OLHP), is also stable: Y R = KP
Open-Loop Control W R K U P Y cheaper/easier to implement (no sensor required) does not destabilize the system e.g., if both K and P are stable (all poles in OLHP), is also stable: Y R = KP {poles of KP } = {poles of K} {poles of P }
Feedback Control W R E K U P Y
Feedback Control W R E K U P Y more difficult/expensive to implement (requires a sensor and an information path from controller to actuator)
Feedback Control W R E K U P Y more difficult/expensive to implement (requires a sensor and an information path from controller to actuator) may destabilize the system: Y R = KP 1 KP has new poles, which may be unstable
Feedback Control W R E K U P Y more difficult/expensive to implement (requires a sensor and an information path from controller to actuator) may destabilize the system: Y R = KP 1 KP has new poles, which may be unstable but: feedback control is the only way to stabilize an unstable plant (this was the Wright brothers key insight)
Benefits of Feedback Control W R E K U P Y Feedback control:
Benefits of Feedback Control W R E K U P Y Feedback control: reduces steady-state error to disturbances
Benefits of Feedback Control W R E K U P Y Feedback control: reduces steady-state error to disturbances reduces steady-state sensitivity to model uncertainty (parameter variations)
Benefits of Feedback Control W R E K U P Y Feedback control: reduces steady-state error to disturbances reduces steady-state sensitivity to model uncertainty (parameter variations) improves time response
Case Study: DC Motor Inputs: Outputs: v a input voltage τ e load/disturbance torque ω m angular speed of the motor
Case Study: DC Motor Inputs: Outputs: v a input voltage τ e load/disturbance torque ω m angular speed of the motor Transfer function: Ω m = τs 1 V a B τs 1 T e τ time constant, B system gains
Case Study: DC Motor Inputs: Outputs: v a input voltage τ e load/disturbance torque ω m angular speed of the motor Transfer function: Ω m = τs 1 V a B τs 1 T e τ time constant, B system gains T e B/ V a s 1 m motor
Case Study: DC Motor Inputs: Outputs: v a input voltage τ e load/disturbance torque ω m angular speed of the motor Transfer function: Ω m = τs 1 V a B τs 1 T e τ time constant, B system gains T e B/ V a s 1 m motor Objective: have Ω m approach and track a given reference Ω ref in spite of disturbance T e.
Two Control Configurations Open-loop control T e ref K ol open-loop controller B/ V a s 1 motor m Feedback (closed-loop) control T e error ref K cl closed-loop controller B/ V a s 1 motor m
Disturbance Rejection Goal: maintain ω m = ω ref in steady state in the presence of constant disturbance.
Disturbance Rejection Goal: maintain ω m = ω ref in steady state in the presence of constant disturbance. Open-loop: T e ref K ol open-loop controller B/ V a s 1 motor m
Disturbance Rejection Goal: maintain ω m = ω ref in steady state in the presence of constant disturbance. Open-loop: T e ref K ol open-loop controller B/ V a s 1 motor m the controller receives no information about the disturbance τ e (the only input is ω ref, no feedback signal from anywhere else)
Disturbance Rejection Goal: maintain ω m = ω ref in steady state in the presence of constant disturbance. Open-loop: T e ref K ol open-loop controller B/ V a s 1 motor m the controller receives no information about the disturbance τ e (the only input is ω ref, no feedback signal from anywhere else) so, let s attempt the following: design for no disturbance (i.e., τ e = 0), then see how the system works in general
Disturbance Rejection: Open-Loop Control First assume zero disturbance: ref K ol open-loop controller V a s 1 motor m
Disturbance Rejection: Open-Loop Control First assume zero disturbance: ref K ol open-loop controller V a s 1 motor m Transfer function: τs 1 (stable pole at s = 1/τ)
Disturbance Rejection: Open-Loop Control First assume zero disturbance: ref K ol open-loop controller V a s 1 motor m Transfer function: τs 1 (stable pole at s = 1/τ) We want DC gain = 1
Disturbance Rejection: Open-Loop Control First assume zero disturbance: ref K ol open-loop controller V a s 1 motor m Transfer function: τs 1 (stable pole at s = 1/τ) We want DC gain = 1 Ω m = τs 1 V a = K ol τs 1 Ω ref
Disturbance Rejection: Open-Loop Control First assume zero disturbance: ref K ol open-loop controller V a s 1 motor m Let s just use constant gain: K ol = 1/ Transfer function: τs 1 (stable pole at s = 1/τ) We want DC gain = 1 Ω m = τs 1 V a = K ol τs 1 Ω ref
Disturbance Rejection: Open-Loop Control First assume zero disturbance: ref K ol open-loop controller V a s 1 motor m Let s just use constant gain: K ol = 1/ Transfer function: τs 1 (stable pole at s = 1/τ) We want DC gain = 1 Ω m = τs 1 V a = K ol τs 1 Ω ref ω m ( ) = 1 ω ref = ω ref (for T e = 0)
Disturbance Rejection: Open-Loop Control First assume zero disturbance: ref K ol open-loop controller V a s 1 motor m Let s just use constant gain: K ol = 1/ Transfer function: τs 1 (stable pole at s = 1/τ) We want DC gain = 1 Ω m = τs 1 V a = K ol τs 1 Ω ref ω m ( ) = 1 ω ref = ω ref (for T e = 0) What happens in the presence of nonzero T e?
Disturbance Rejection: Open-Loop Control First assume zero disturbance: ref K ol open-loop controller V a s 1 motor m Let s just use constant gain: K ol = 1/ Transfer function: τs 1 (stable pole at s = 1/τ) We want DC gain = 1 Ω m = τs 1 V a = K ol τs 1 Ω ref ω m ( ) = 1 ω ref = ω ref (for T e = 0) What happens in the presence of nonzero T e? Ω m = 1 B Ω ref τs 1 τs 1 }{{}}{{} DC gain=1 DC gain=b T e
Disturbance Rejection: Open-Loop Control First assume zero disturbance: ref K ol open-loop controller V a s 1 motor m Let s just use constant gain: K ol = 1/ Transfer function: τs 1 (stable pole at s = 1/τ) We want DC gain = 1 Ω m = τs 1 V a = K ol τs 1 Ω ref ω m ( ) = 1 ω ref = ω ref (for T e = 0) What happens in the presence of nonzero T e? Ω m = 1 B Ω ref τs 1 τs 1 }{{}}{{} DC gain=1 DC gain=b = ω m ( ) = ω }{{} ref B τ }{{} e step input step input T e
Disturbance Rejection: Open-Loop Control Steady-state motor speed for constant reference and constant disturbance: ω m ( ) = ω ref Bτ e T e ref K ol open-loop controller B/ V a s 1 motor m Conclusion: in the absence of disturbances, reference tracking is good, but disturbance rejection is pretty poor. Steady-state error is determined by B, and we have no control over it (and, in fact, cannot change this through any choice of controller K ol, no matter how clever)
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m V a = K cl E
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m V a = K cl E = K cl (Ω ref Ω m )
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m V a = K cl E = K cl (Ω ref Ω m ) Ω m = τs 1 K cl (Ω ref Ω m ) B τs 1 T e
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m V a = K cl E = K cl (Ω ref Ω m ) Ω m = τs 1 K cl (Ω ref Ω m ) B τs 1 T e Solve for Ω m :
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m V a = K cl E = K cl (Ω ref Ω m ) Ω m = τs 1 K cl (Ω ref Ω m ) B τs 1 T e Solve for Ω m : (τs 1)Ω m = K cl (Ω ref Ω m ) BT e
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m V a = K cl E = K cl (Ω ref Ω m ) Ω m = τs 1 K cl (Ω ref Ω m ) B τs 1 T e Solve for Ω m : (τs 1)Ω m = K cl (Ω ref Ω m ) BT e (τs 1 K cl )Ω m = K cl Ω ref BT e
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m V a = K cl E = K cl (Ω ref Ω m ) Ω m = τs 1 K cl (Ω ref Ω m ) B τs 1 T e Solve for Ω m : (τs 1)Ω m = K cl (Ω ref Ω m ) BT e (τs 1 K cl )Ω m = K cl Ω ref BT e Ω m = K cl B Ω ref T e τs 1 K cl τs 1 K cl
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m K cl B Ω m = Ω ref τs 1 K }{{ cl τs 1 K }}{{ cl } DC gain= K cl 1K cl DC gain= B 1K cl (provided all transfer functions are strictly stable) T e
Disturbance Rejection: Feedback Control T e error ref K cl closed-loop controller B/ V a s 1 motor m K cl B Ω m = Ω ref τs 1 K }{{ cl τs 1 K }}{{ cl } DC gain= K cl 1K cl DC gain= B 1K cl (provided all transfer functions are strictly stable) ssuming that the reference ω ref and the disturbance τ e are constant, we apply FVT: ω m ( ) = K cl B ω ref τ e 1 K cl 1 K cl T e
Disturbance Rejection: Feedback Control Steady-state speed for constant reference and disturbance: T e ref closed-loop controller B/ V a error K cl s 1 m ω m ( ) = K cl ω ref 1 K cl motor B 1 K cl τ e Conclusions: K cl 1, but can be brought arbitrarily close to 1 1 K cl when K cl. Thus, steady-state tracking is good with high gain, but never quite as good as in open-loop case. B is small (arbitrarily close to 0) for large K cl. 1 K cl Thus, much better disturbance rejection than with open-loop control.
Sensitivity to Parameter Variations Consider again our DC motor model, with no disturbance: ref K ol open-loop controller V a s 1 motor m ref K cl s 1 m
Sensitivity to Parameter Variations Consider again our DC motor model, with no disturbance: ref K ol open-loop controller V a s 1 motor m ref K cl s 1 m Bode s sensitivity concept: In the nominal situation, we have the motor with DC gain =, and the overall transfer function, either open- or closed-loop, has some other DC gain (call it T ).
Sensitivity to Parameter Variations Consider again our DC motor model, with no disturbance: ref K ol open-loop controller V a s 1 motor m ref K cl s 1 m Bode s sensitivity concept: In the nominal situation, we have the motor with DC gain =, and the overall transfer function, either open- or closed-loop, has some other DC gain (call it T ). Now suppose that, due to modeling error, changes in operating conditions, etc., the motor gain changes: δ }{{} small perturbation
Sensitivity to Parameter Variations Consider again our DC motor model, with no disturbance: ref K ol open-loop controller V a s 1 motor m ref K cl s 1 m Bode s sensitivity concept: In the nominal situation, we have the motor with DC gain =, and the overall transfer function, either open- or closed-loop, has some other DC gain (call it T ). Now suppose that, due to modeling error, changes in operating conditions, etc., the motor gain changes: δ }{{} small perturbation This will cause a perturbation in the overall DC gain: T T δt (from calculus, to 1st order, δt dt d δ)
Sensitivity to Parameter Variations δ T T δt (small perturbation in system gain) (resultant perturbation in overall DC gain) Bode s sensitivity: Hendrik Wade Bode (1905 1982) S δt/t δ/
Sensitivity to Parameter Variations δ T T δt (small perturbation in system gain) (resultant perturbation in overall DC gain) Bode s sensitivity: Hendrik Wade Bode (1905 1982) S δt/t δ/ S = relative error = normalized (percentage) error in T normalized (percentage) error in
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop.
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop:
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop: nominal case
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop: nominal case T ol = K ol = 1 = 1
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop: nominal case T ol = K ol = 1 = 1 perturbed case
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop: nominal case T ol = K ol = 1 = 1 perturbed case δ
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop: nominal case T ol = K ol = 1 = 1 perturbed case δ T ol K ol ( δ)
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop: nominal case T ol = K ol = 1 = 1 perturbed case δ T ol K ol ( δ) = 1 ( δ) }{{} design choice
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop: nominal case T ol = K ol = 1 = 1 perturbed case δ T ol K ol ( δ) = 1 }{{} design choice ( δ) = 1 }{{} T ol δ }{{} δt ol
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop: nominal case T ol = K ol = 1 = 1 perturbed case δ T ol K ol ( δ) = 1 }{{} design choice ( δ) = 1 }{{} T ol δ }{{} δt ol Sensitivity: S ol = δt ol/t ol δ ol / ol = δ/ δ/ = 1
Sensitivity to Parameter Variations Let s compute S for our DC motor control example, both openand closed-loop. Open-loop: nominal case T ol = K ol = 1 = 1 perturbed case δ T ol K ol ( δ) = 1 }{{} design choice ( δ) = 1 }{{} T ol δ }{{} δt ol Sensitivity: S ol = δt ol/t ol δ ol / ol = δ/ δ/ = 1 For example, a 5% error in will cause a 5% error in T ol.
Sensitivity to Parameter Variations Closed-loop:
Sensitivity to Parameter Variations Closed-loop: nominal case
Sensitivity to Parameter Variations Closed-loop: nominal case T cl = K cl 1 K cl
Sensitivity to Parameter Variations Closed-loop: nominal case T cl = K cl 1 K cl perturbed case
Sensitivity to Parameter Variations Closed-loop: nominal case T cl = K cl 1 K cl perturbed case δ
Sensitivity to Parameter Variations Closed-loop: nominal case T cl = K cl 1 K cl perturbed case δ T cl T cl δt }{{} cl how to compute this?
Sensitivity to Parameter Variations Closed-loop: nominal case T cl = K cl 1 K cl perturbed case Taylor expansion: δ T cl T cl δt }{{} cl how to compute this? T ( δ) = T () dt ()δ higher-order terms d
Sensitivity to Parameter Variations Closed-loop: nominal case T cl = K cl 1 K cl perturbed case Taylor expansion: δ T cl T cl δt }{{} cl how to compute this? T ( δ) = T () dt ()δ higher-order terms d In our case:
Sensitivity to Parameter Variations Closed-loop: nominal case T cl = K cl 1 K cl perturbed case Taylor expansion: δ T cl T cl δt }{{} cl how to compute this? T ( δ) = T () dt ()δ higher-order terms d In our case: dt cl d = K cl 1 K cl K 2 cl (1 K cl ) 2
Sensitivity to Parameter Variations Closed-loop: nominal case T cl = K cl 1 K cl perturbed case Taylor expansion: δ T cl T cl δt }{{} cl how to compute this? T ( δ) = T () dt ()δ higher-order terms d In our case: dt cl d = K cl 1 K cl K 2 cl (1 K cl ) 2 = K cl (1 K cl ) 2
Sensitivity to Parameter Variations Closed-loop: nominal case T cl = K cl 1 K cl perturbed case Taylor expansion: δ T cl T cl δt }{{} cl how to compute this? T ( δ) = T () dt ()δ higher-order terms d In our case: dt cl d = δt cl = K cl 1 K cl K cl (1 K cl ) 2 δ K 2 cl (1 K cl ) 2 = K cl (1 K cl ) 2
Sensitivity to Parameter Variations From before: K cl δt cl = (1 K cl ) 2 δ K cl T cl = 1 K cl
Sensitivity to Parameter Variations From before: δt cl = T cl = K cl (1 K cl ) 2 δ K cl 1 K cl Therefore δt cl /T cl = K cl (1K cl δ ) 2 = K cl 1K cl 1 1 K cl δ/
Sensitivity to Parameter Variations From before: δt cl = T cl = K cl (1 K cl ) 2 δ K cl 1 K cl Therefore δt cl /T cl = K cl (1K cl δ ) 2 = K cl 1K cl 1 1 K cl δ/ Sensitivity: S cl = δt cl/t cl δ/ = 1 1 K cl
Sensitivity to Parameter Variations From before: δt cl = T cl = K cl (1 K cl ) 2 δ K cl 1 K cl Therefore δt cl /T cl = K cl (1K cl δ ) 2 = K cl 1K cl 1 1 K cl δ/ Sensitivity: S cl = δt cl/t cl δ/ = 1 1 K cl ( 1 for large K cl )
Sensitivity to Parameter Variations From before: δt cl = T cl = K cl (1 K cl ) 2 δ K cl 1 K cl Therefore δt cl /T cl = K cl (1K cl δ ) 2 = K cl 1K cl 1 1 K cl δ/ Sensitivity: S cl = δt cl/t cl δ/ = 1 1 K cl ( 1 for large K cl ) With high-gain feedback, we get smaller relative error due to parameter variations in the plant model.
Time Response We still assume no disturbance: τ e = 0.
Time Response We still assume no disturbance: τ e = 0. So far, we have focused on DC gain only (steady-state response). What about transient response?
Time Response We still assume no disturbance: τ e = 0. So far, we have focused on DC gain only (steady-state response). What about transient response? Open-loop Ω m = K cl τs 1 Ω ref
Time Response We still assume no disturbance: τ e = 0. So far, we have focused on DC gain only (steady-state response). What about transient response? Open-loop Ω m = K cl τs 1 Ω ref Pole at s = 1 τ = transient response is e t/τ
Time Response We still assume no disturbance: τ e = 0. So far, we have focused on DC gain only (steady-state response). What about transient response? Open-loop Ω m = K cl τs 1 Ω ref Pole at s = 1 τ = transient response is e t/τ Here, τ is the time constant: the time it takes the system response to decay to 1/e of its starting value.
Time Response We still assume no disturbance: τ e = 0. So far, we have focused on DC gain only (steady-state response). What about transient response? Open-loop Ω m = K cl τs 1 Ω ref Pole at s = 1 τ = transient response is e t/τ Here, τ is the time constant: the time it takes the system response to decay to 1/e of its starting value. In the open-loop case, larger time constant means faster convergence to steady state. This is not affected by the choice of K cl in any way!
Time Response Closed-loop ref K cl s 1 m Ω m = K cl τs 1 K cl Ω ref
Time Response Closed-loop ref K cl s 1 m Ω m = K cl τs 1 K cl Ω ref Closed-loop pole at s = 1 τ (1 K cl)
Time Response Closed-loop ref K cl s 1 m Ω m = K cl τs 1 K cl Ω ref Closed-loop pole at s = 1 τ (1 K cl) (the only way to move poles around is via feedback)
Time Response Closed-loop ref K cl s 1 m Ω m = K cl τs 1 K cl Ω ref Closed-loop pole at s = 1 τ (1 K cl) (the only way to move poles around is via feedback) Now the transient response is e 1K cl τ t, with τ time constant = 1 K cl
Time Response Closed-loop ref K cl s 1 m Ω m = K cl τs 1 K cl Ω ref Closed-loop pole at s = 1 τ (1 K cl) (the only way to move poles around is via feedback) Now the transient response is e 1K cl τ t, with τ time constant = 1 K cl for large K cl, we have a much smaller time constant, i.e., faster convergence to steady-state.
Summary Feedback control: reduces steady-state error to disturbances reduces steady-state sensitivity to model uncertainty (parameter variations) improves time response
Summary Feedback control: reduces steady-state error to disturbances reduces steady-state sensitivity to model uncertainty (parameter variations) improves time response Word of caution: high-gain feedback only works well for 1st-order systems; for higher-order systems, it will typically cause underdamping and instability.
Summary Feedback control: reduces steady-state error to disturbances reduces steady-state sensitivity to model uncertainty (parameter variations) improves time response Word of caution: high-gain feedback only works well for 1st-order systems; for higher-order systems, it will typically cause underdamping and instability. Thus, we need a more sophisticated design than just static gain. We will take this up in the next lecture with Proportional-Integral-Derivative (PID) control.