Root Locus Controller Design – Lecture 11

Controller-Design Workflow (Root Locus)

  • Zeros act like a vacuum pulling the locus towards it

  • poles on real axis »»» poles on imaginary axis ( oscillatory behaviour, instability)

  • moving zero away from the poles causes oscillatory behaviour.

  • to decrease settling time we move poles on real axis closer to zero






• Four-step recipe that underlies every example in the lecture

  1. Translate time-domain or frequency-domain performance specs (e.g. ts,tp,Mp,zeta,omegad) into desired closed-loop pole locations.

  2. Draw the root-locus of the uncompensated open-loop transfer function (OLTF) with a single scalar gain KK.

  3. Check whether simply tuning KK lets any locus branch pass through the desired pole region.

  4. If not, add controller poles and/or zeros to reshape the locus until a branch intersects the target region.

Example 1 – Meet a Settling-Time Requirement by Tuning KK

• Plant (from earlier lecture): G(s)=s+2s2+2s+3G(s)=\frac{s+2}{s^2+2s+3}.
• Spec: 2 % settling time t<em>s=43  st<em>s=\tfrac{4}{3}\;{\rm s} (second-order approximation). • Conversion to sigma: t</em>s4σ    σ=4t<em>s=3  s1t</em>s\approx \frac{4}{\sigma}\;\Rightarrow\;\sigma=\frac{4}{t<em>s}=3\;\text{s}^{-1} ⇒ desired dominant poles at s</em>d=σ±jω=3±jωs</em>{d}= -\sigma\pm j\omega = -3\pm j\omega (exact ω\omega free as long as σ\sigma fixed).

Root-Locus Status (Uncompensated)

• Real-axis asymptotes, break-away points, etc. already drawn in a previous session; the locus clearly crosses the vertical line s=3\Re{s}=-3.
• Therefore, pure gain tuning might satisfy the spec – MATLAB is used to find the exact gain.

MATLAB Search

• Intersection point reported by rltool / rlocfind:
• Gain K=4K=4
• Dominant poles s=3±1.41js=-3\pm1.41j
• Damping ratio ζ=0.905\zeta=0.905
• Natural freq ω<em>n=σ2+ω2=3.32rad/s\omega<em>n=\sqrt{\sigma^2+\omega^2}=3.32\,\text{rad/s} • Percent overshoot M</em>p0.13%M</em>p\approx0.13\% (negligible).
• Non-dominant real pole at s=5s=-5 when K=6K=6, providing even faster settling ts1.33st_s\approx1.33\,\text{s} but not necessary for spec.

Observations

• Because the required vertical line crosses the original locus, controller redesign (PD/PI/PID) is unnecessary – simple proportional gain suffices.
• Nonetheless, the exercise familiarizes us with using MATLAB’s rlocfind to extract the numeric gain.

Example 2 – Simultaneous t<em>pt<em>p and M</em>pM</em>p Specs (Fails with Pure KK)

• Goal: design a controller C(s)C(s) so that closed-loop system satisfies
• Peak time tp<1\,{\rm s} • Percent overshoot Mp<4\%.

Translate Specs to Pole-Region

• Peak-time inequality:
tp=\frac{\pi}{\omegad}<1\;\text{s}\quad\Rightarrow\quad \omegad>\pi\,\text{rad/s}. • Overshoot inequality (second-order formula): Mp=e^{\tfrac{-\zeta\pi}{\sqrt{1-\zeta^2}}}<0.04\;\Rightarrow\;\zeta>0.707.
• Geometric interpretation: damping angle
β=cos1(ζ)=cos1(0.707)=45\beta=\cos^{-1}(\zeta)=\cos^{-1}(0.707)=45^\circ.
• Desired region therefore lies to the left of the 45° line and above ωd=π\omega_d=\pi.

Uncompensated OLTF

• Base plant used in slides: G(s)=s+2s(s+4)G(s)=\frac{s+2}{s(s+4)} (pole at origin to allow type-1 tracking).
• Root-locus with C(s)=KC(s)=K never intersects the desired wedge ⇒ gain-only solution impossible.

Controller Augmentation Attempts

PD Controller: CPD(s)=K(s+z)C_{\rm PD}(s)=K(s+z)

• Adds a zero at s=zs=-z (keeps plant’s pole at origin).
• Slide analysis (three cases):
• If z<2, locus insufficiently rotated – requirements unattainable. • 2424, visually might work → “Maybe, use MATLAB”.
• Moral: A well-placed zero can pull branches left/up, but location must be beyond plant poles to have large effect.

PI Controller: CPI(s)=K(1+zs)=Ks+zsC_{\rm PI}(s)=K\left(1+\tfrac{z}{s}\right) = K\frac{s+z}{s}


• Adds an integrator (pole at origin) plus a zero at s=zs=-z.
• Same three z-intervals inspected; none guarantees intersection analytically – slide gives “No, No, Maybe”.
• Integrator improves steady-state error but tends to shift locus right, partially cancelling the zero’s benefit.

PID Controller: C<em>PID(s)=K(s+z</em>1)(s+z2)sC<em>{\rm PID}(s)=K\frac{(s+z</em>1)(s+z_2)}{s}

• Equivalent time-domain gains
K<em>d=K,K</em>p=K(z<em>1+z</em>2),K<em>i=Kz</em>1z<em>2K<em>d=K,\qquad K</em>p=K(z<em>1+z</em>2),\qquad K<em>i=Kz</em>1z<em>2. • Two zeros supply more shaping freedom; graphical test again gives three regions for z</em>1z</em>1 with outcome “Maybe, use MATLAB”.
• Key takeaway: PID often required when neither PD nor PI alone can satisfy tight transient and steady-state specs.

Heuristic Rules for Poles & Zeros (Slide 12)

• Adding a zero generally pulls the locus to the left ⇒ faster, more stable response (smaller t<em>st<em>s, higher ω</em>n\omega</em>n).
• Adding a pole generally pulls the locus to the right ⇒ slower, less stable response.
• Placing a pole near a zero (or vice-versa) causes approximate pole-zero cancellation, reducing their net effect on the root-locus shape.

Recap of Root-Locus-Based Controller Design (Slide 14)

• Start with performance specs → convert to desired pole region.
• Sketch or compute the uncompensated root locus.
• If a single gain suffices, pick it (Example 1).
• Otherwise, successively introduce controller zeros (PD), zeros plus integrator (PI), or zeros + integrator + derivative (PID) until a locus branch meets specs (Example 2 thought process).
• Always verify numerically (e.g. MATLAB rlocus, rlocfind, step) because graphical plots are approximate.