Final review. Not intended to be a complete set of class notes. Also very lazy writing.
The unilateral Laplace transform given by \[ F(s) \equiv \mathcal{L}[f(t)] = \int_{0}^{\infty} f(t) e^{-st}dt \]
Defined as the ratio of the laplace transform of the output signal to that of the input signal, assuming that the system is at equilibrium initially. Let \( H(s) \) be the transfer function, then the DC Gain is \[ \text{DC Gain} = \lim_{s\to 0} H(s) \]
Transfer function is in the form
\[ H(s) = \frac{b}{s+a} \]
This has a time constant of \( T = \frac{1}{a} \) such that
\[ \begin{align}
y_{step}(T) &= 0.63\frac{b}{a} \\
y_{impulse}(T) &= 0.37 b
\end{align} \]
For a step input, the steady state value is \( y_{ss} = \frac{b}{a} \) which corresponds to a rise time and settling time of
\[ t_r \approx \frac{2.2}{a}, \qquad t_s \approx \frac{4.6}{a} \]
where rise time is the time to go from \( 0.1y_{ss}\to 0.9y_{ss} \) and the settling time satisfies \( y_{step}(t_s)=0.99y_{ss}. \) There is no overshoot, and no oscillations.
A second-order system can be written as \[ H(s) = \frac{\omega_n^2}{s^2+2\zeta\omega_n s + \omega_n^2} = \frac{\sigma^2 + \omega_d^2}{(s+\sigma)^2 + \omega_d^2} \] A second order system has a DC gain of (1) and a peak time of \[ t_p = \frac{\pi}{\omega_n\sqrt{1-\zeta^2}} = \frac{\pi}{\omega_d} \] and an overshoot of \[ M_p = e^{-\pi \zeta/\sqrt{1-\zeta^2}}. \] As approximations a typical design relation requires \( \zeta = 0.5 \) and \( e^{-\zeta\omega_n t_s} \approx 0.1 \) which gives \[ t_r \approx \frac{1.8}{\omega_n},\qquad t_s \approx \frac{4.6}{\sigma} \] What are the effects of zeros? If there is a zero, we can put the transfer function in the form \[ H(s) = \frac{\frac{1}{\alpha\zeta}s+1}{s^2+2\zeta s + 1} \]
In general, the time constant is given by \[ T = \left|\frac{1}{\sigma}\right| \] where \( \sigma \) is the real part of the pole, and the imaginary part of the pole, \( \omega_d \) determines the damped frequency. The magnitude of the pole determines the natural frequency and the argument of the pole determines the damping ratio. We can compute \[ \zeta = \sin(\theta) \] with the convention that the point \( 1+0j \) has an angle of \( \theta=0. \)
Very concise discussion here
Key words:
Consider an open-loop transfer function in the form of \[ T_{ol}(s) = \frac{b(s)c(s)}{a(s)d(s)} \] Recall that we cannot have \( a(s) \) or \( d(s) \) to have roots in the RHP. It is impractical to cancel these roots with the numerator (which are affected by the controller) However, it is possible to perform root cancellation for open-loop transfer functions.
Tracking is the ability of the control system to make the output follow reference input as closely as possible.
If we have a closed-loop control, then we can do the same thing, but have more freedom (i.e. pole-zero placement)
We assume reference input \( R \) is a polynomial
\[ r(t) = Ct^k 1(t) \]
We can define \( K_i = \lim_{s\to 0} s^k GD_{cl}(s) \) so \( K_p,K_v,K_a = K_0,K_1,K_2. \)
The ability of the control system to keep the error (difference between output and reference input) small when the reference input is at most a constant setpoint and disturbance and noise are present
Open-loop Control: Controller has no influence on the output with respect to disturbance and noise
Closed-Loop Control LEt the input by \( R(s) \) and output be \( Y_{cl}(s). \) We can define \[ E_{cl} = R-Y_{cl} = (1-\mathcal{T})R - G \mathcal{S}W + H\mathcal{T}V \] where \( W \) is the disturbance added between controller and plant, and \( V \) is noise added to the sensor. For a closed negative feedback system with controller \( D_{cl}(s) \), plant \( G(s) \), and sensor \( H(s) \), we have \[ E_{cl} = \frac{1+GD_{cl}(H-1)}{1+HGD_{cl}}R - \frac{G}{1+HGD_{cl}}W + \frac{HGD_{cl}}{1+HGD_{cl}}V \] To make the effect of \( W \) small, make \( D_{cl} \) as large as possible, but this also causes sensor noise to increase. To solve this, design \( D_{cl} \) to hav large values at low frequencies (where plant disturbance appears) and small values at high frequencies (where sensory noise shows up).
One way to analyze this is to set \( R=V=0 \) and consider the transfer function \[ T_w(s) = \frac{Y(s)}{W(s)} \]
Define the sensitivity of a transfer function \( T \) to a plant gain \( G \) as \[ \mathcal{S}^T_G = \frac{G}{T} \frac{\delta T}{\delta G} \] Open-loop Control: Sensitivity is \( 1 \)
Closed-loop Control: The sensitivity is given by the sensitivity transfer function
\[ \mathcal{S}^{T_{cl}}_G = \frac{1}{1+HGD_{cl}} \] The controller \( D_{cl} \) can be designed such that sensitivity is significantly less than \( 1. \)
PID Controller in the form of \[ k_P + \frac{k_I}{s} + sk_D \]
Method 1: Step Response This is applicable to plants without integrators and dominant complex poles, with a behaviour approximately represented by the following transfer function: \[ \frac{Y(s)}{U(s)} = \frac{As^{-t_ds}}{\tau s + 1} \] Step response exhibits an S-shaped profile called process reaction curve characterized by lag \( L=t_d, \) time constant \( \tau, \) and a slope \( R=A/\tau. \) If we want to design a PID controller with a 25% decay ratio (i.e. \( \zeta\approx 21\% \)) in the form of \[ D_{cl}(s) = k_p\left(1+ \frac{1}{T_Is} + T_Ds\right) \] we want to choose \[ (k_P,T_I,T_D) = (1.2/RL, 2L, 0.5L) \] and for PI, \[ (k_P,T_I) = ( 0.9/RL, L/0.3) \] and for P, \[ k_P = 1/RL \]
Method 2: Ultimate Sensitivity
For both methods, the gain \( k_P \) can usually be reduced (around 50\%) after tuning to reduce response oscillations.
Given a transfer function \[ \frac{D_c(s)G(s)}{1+D_c(s)G(s)H(s)} \] we can write the denominator as \[ a(s) + Kb(s) = 0 \] The Root Locus (Evans) Form is if we can manipulate this into the form \[ 1 + KL(s) = 0 \] and giving \( L(s) \) to MATLAB will give us the root locus for the original transfer function.
% Clear workspace and command window
clear;clc;
numerator_coefficients = [1 0];
denominator_coefficients = [1 0 1];
% Create the transfer function
G = tf(numerator_coefficients, denominator_coefficients);
% Plot the root locus
figure;
rlocus(G);
title('Root Locus Plot');
xlabel('Real Part');
ylabel('Imaginary Part');
grid on;
The diagonal lines represent \( \cos\theta \) and the \( K \) value associated with the poles can be found using
rlocfind(G)
in the terminal.
There can be multiple roots (of the characteristic polynomial) at points on the locus, and branches depart (or approach) from a point of \( q \) roots at angles separated by \[ \frac{180^\circ+360^\circ(l-1)}{q} \] for \( l=1,2,\dots,q. \) This forms an array of \( 2q \) rays that are equally spaced. If this point is on the real axis, note that phase angles of conjugate poles/zeros cancel each other.
Breakaway-break-in points (points where two or more branches meet and break away) are among the roots of \[ \frac{dL(s)}{ds}=0 \]
Chapter 5 Part 3.
If \( u(t)=A\sin(\omega_0t)1(t) \) is the input, the steady state output is \[ y_{ss}(t) = A|G(j\omega_0)|\sin(\omega_0t+\angle G(j\omega_0)) \]
Lead Compensator: \( \alpha < 1 \) \[ D_c(s) = \frac{Ts+1}{\alpha Ts + 1} \]
The following can be input into offline Desmos. The magnitude:
f(x)=\frac{\sqrt{\left(1+\alpha T^{2}x^{2}\right)^{2}+\left(1-\alpha\right)^{2}T^{2}x^{2}}}{\left(\alpha Tx\right)^{2}+1}
The angle:
g(x)=\arctan\left(Tx\right)-\arctan\left(\alpha Tx\right)
Make sure when plotting the magnitude and phase, do it on a log scale! For example, \( f(10^x) \) and \( g(10^x). \) We have the following relationships: \[ \omega_{max}=\frac{1}{T_D\sqrt{\alpha}} \] \[ \phi_\text{max} = \tan^{-1}\left(\frac{1}{\sqrt{\alpha}}\right) - \tan^{-1}(\sqrt{\alpha}) \] \[ \sin\phi_\text{max} = \frac{1-\alpha}{1+\alpha} \implies \alpha = \frac{1-\sin\phi_\text{max}}{1+\sin\phi_\text{max}} \]
Lag Compensator \[ D_c(s) = \beta \frac{T_Is+1}{\beta T_I s + 1} \] Formulas for magnitude and angle are the same as before, along with other relationships.
The following apply for open-loop transfer functions
For stability to occur, we need the following to be true for the open-loop frequency response. \[ |KG(j\omega)| < 1\quad \text{ at }\quad \angle G(j\omega)=-180^\circ \]