Skip to content

Commit 99fe64a

Browse files
committedNov 21, 2024·
update
1 parent 8c62b72 commit 99fe64a

File tree

8 files changed

+158
-73
lines changed

8 files changed

+158
-73
lines changed
 

‎_build/.doctrees/environment.pickle

1004 Bytes
Binary file not shown.

‎_build/.doctrees/lec20/djc.doctree

3.93 KB
Binary file not shown.
Binary file not shown.

‎_build/html/_sources/lec20/djc.md

+55-22
Original file line numberDiff line numberDiff line change
@@ -169,12 +169,21 @@ $$\frac{\dot{\Theta}(s)}{V_a(s)}=\frac{k_m}{1+T_ms}$$
169169

170170

171171

172+
```{admonition} Minimal material on control basics
172173
173174
174-
```{admonition} Minimal Control Background
175+
Please read my hand-writing note on control basics, in order to help you understand the following content of this chapter.
175176
176-
For ease of the reader, I willl provide the minimal background of
177-
control system. A typical closed-loop control diagram is shown below.
177+
[Minimal notes on control basics](./control_basics.pdf)
178+
179+
180+
```
181+
182+
183+
184+
```{admonition} Minimal Introduction to Closed-Loop (Feedback) Control Systems
185+
186+
A typical closed-loop control diagram is shown below.
178187
Here, $\theta_r$ is the reference input; $\theta_m$ is the output; $D$
179188
is the disturbance; $G(s)$ is the transfer function of the plant to be
180189
controlled; $C(s)$ is the controller; $H(s)$ is the backward pass
@@ -227,19 +236,18 @@ $$1+C(s)G(s)H(s)=0$$
227236
```
228237

229238

230-
```{admonition} Final value theorem
231239

232240

233-
If a continuous signal $f(t)$ has its Laplace transformation $F(s)$,
234-
then the final value theorem states
235241

236-
$$\lim_{t\rightarrow\infty}f(t)=\lim_{s\rightarrow 0}sF(s)$$
237-
```
242+
243+
244+
245+
238246

239247
</br></br>
240-
# Single-Joint Position Feedback Control
248+
# Position Feedback Control Design
241249

242-
The single joint motor system in {numref}`motor_model3` is the plant $G(s)$ we want to design the controller $C(s)$ for.
250+
The single joint system in {numref}`motor_model3` is the plant $G(s)$ we want to design the controller $C(s)$ for.
243251

244252
The plant
245253
transfer function $G(s)$ is {eq}`equ.motortf`, rewritten below
@@ -286,20 +294,25 @@ $$
286294

287295

288296

297+
289298
The closed-loop input/output transfer function is
290299

291300
$$\frac{\Theta_{m}(s)}{\Theta_{r}(s)}=\frac{C_P(s)G(s)}{1+C_P(s)G(s)H(s)}=\frac{{k_{m}K_P(1+T_Ps)}}{k_{TP}k_{m}K_P(1+T_Ps)+s^2(1+sT_m)},$$(equ.closed_loop)
292301

293302

294-
To analyze the control stability of the closed-loop control system {eq}`equ.closed_loop`, we look at the roots (also called poles) of its characteristic equation, which can be factorized into the following
303+
</br>
304+
305+
### Input-to-output stability analysis
306+
307+
308+
To analyze the input-to-output stability of the closed-loop control system {eq}`equ.closed_loop`, we look at the roots (also called poles) of its characteristic equation, which can be factorized into the following
295309
form
296310

297311
$${k_{TP}k_{m}K_P(1+T_Ps)+s^2(1+sT_m)}
298312
=
299313
{\left({\omega_{n}^{2}}+{2 \zeta }{\omega_{n}}s+{s^{2}}\right)(1+s \tau)}=0$$(equ.cha_equ)
300314
301-
where $\omega_{n}$ and $\zeta$ are the natural frequency and damping
302-
ratio of the complex poles. The roots (also called poles) to the characteristics equation {eq}`equ.cha_equ` is
315+
The roots (also called poles) to the characteristics equation {eq}`equ.cha_equ` is
303316
304317
305318
$$
@@ -310,18 +323,21 @@ s_3&=-1 / \tau
310323
\end{aligned}
311324
$$
312325
326+
Here, $\omega_{n}$ and $\zeta$ are the natural frequency and damping
327+
ratio for the complex roots $s_1$ and $s_2$, and $s_3$ is a real pole.
328+
Please see my [Minimal notes on control basics](./control_basics.pdf) for explaination of how the values of $\omega_{n}$, $\zeta$ and $s_3$ effect the time-domain performance of the closed-loop control system.
329+
330+
313331
314-
The location of the above poles $(s_1, s_2, s_3)$ on $s-$plane depends on the of the open-loop gain
332+
The location of the above poles $(s_1, s_2, s_3)$ on s-plane depends on the of the open-loop gain
315333
316334
$$\frac{k_{m} K_{P} k_{T P} T_{P}}{T_{m}}$$(equ.ol_gain)
317335
318336
319337
320-
The root locus (i.e., the trajectory of the above poles on $s-$plane) can be drawn by taking different open loop gain value {eq}`equ.ol_gain`. Here, we derive into two cases
321-
to plot the root locus.
338+
The root locus (i.e., the trajectory of the above poles on $s-$plane) can be drawn by taking different open loop gain value {eq}`equ.ol_gain`. Here, we derive into two cases:
322339
323-
- If $T_{P}<T_{m}$, the root locus is shown. Because there is always a pole (root) living on the right-half "s-plane" regardless of the choice of $\frac{k_{m} K_{P} k_{T P} T_{P}}{T_{m}}$, the closed-loop control system {eq}`equ.closed_loop` thus
324-
is inherently unstable.
340+
- If $T_{P}<T_{m}$, the root locus is shown. Because there is always a pole (root) living on the right-half s-plane regardless of the choice of $\frac{k_{m} K_{P} k_{T P} T_{P}}{T_{m}}$, the closed-loop control system {eq}`equ.closed_loop` thus is inherently unstable.
325341
326342
:::{figure} ../lec19/control/p_control_rl_1.jpg
327343
---
@@ -334,9 +350,8 @@ to plot the root locus.
334350
335351
336352
337-
- If $T_{P}>T_{m}$, the root locus is shown as below. First of all, all poles can be located on the left half of the $s$-plane, closed-loop control system {eq}`equ.closed_loop` is stable. Also, as you can see As $T_{P}$
338-
increases, the absolute value of the real part of the two complex poles, ($s_1$ and $s_2$) tending towards the asymptotes increases too, and the
339-
system has faster time response.
353+
- If $T_{P}>T_{m}$, the root locus is shown as below. First, all poles can be located on the left half of s-plane, thus closed-loop control system {eq}`equ.closed_loop` is stable. Also, as $T_{P}$
354+
increases, the absolute value of the real part of the two complex poles, ($s_1$ and $s_2$) tending towards the asymptotes increases too, and the system has faster time response (please see my [Minimal notes on control basics](./control_basics.pdf) for explaination)
340355
341356
342357
:::{figure} ../lec19/control/p_control_rl_2.jpg
@@ -350,12 +365,27 @@ to plot the root locus.
350365
351366
352367
368+
</br>
369+
370+
### Disturbance-to-output performance
371+
372+
373+
374+
```{admonition} Final value theorem
375+
376+
377+
If a continuous signal $f(t)$ has its Laplace transformation $F(s)$,
378+
then the final value theorem states
379+
380+
$$\lim_{t\rightarrow\infty}f(t)=\lim_{s\rightarrow 0}sF(s)$$
381+
```
382+
353383
354384
The closed-loop disturbance-to-output transfer function is
355385
356386
$$\frac{\Theta_{m}(s)}{D(s)}=-\frac{\frac{R_a}{K_t}G(s)}{1+C(s)G(s)H(s)}=-\frac{\frac{R_a}{K_t}k_ms}{k_{TP}k_{m}K_P(1+T_Ps)+s^2(1+sT_m)}$$
357387
358-
If $\theta_r(t)=0$ (i.e., no input signal), based on the final value thoerem, we have
388+
If $\theta_r(t)=0$ (i.e., no input signal), based on the final value thoerem (see the above), we have
359389
360390
361391
$$\lim_{t\rightarrow \infty} {\theta_{m}(t)}= \lim_{s\rightarrow 0} s{\Theta_{m}(s)}=\lim_{s\rightarrow 0} s\frac{\Theta_{m}(s)}{D(s)}{D(s)}$$
@@ -377,6 +407,9 @@ higher-order) disturbance. Increasing $K_{P}$ can help with reducing the
377407
effect of $D$, but too high $K_P$ can lead to unacceptable oscillations
378408
of the output, as implied from the root locus.
379409
410+
411+
412+
380413
<!--
381414
</br></br>
382415
# Single-Joint Position and Velocity Feedback Control

‎_build/html/lec20/djc.html

+47-28
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,11 @@ <h2> Contents </h2>
385385
</ul>
386386
</li>
387387
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#single-joint-control-diagram">Single-Joint Control Diagram</a></li>
388-
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#single-joint-position-feedback-control">Single-Joint Position Feedback Control</a></li>
388+
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#position-feedback-control-design">Position Feedback Control Design</a><ul class="visible nav section-nav flex-column">
389+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#input-to-output-stability-analysis">Input-to-output stability analysis</a></li>
390+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#disturbance-to-output-performance">Disturbance-to-output performance</a></li>
391+
</ul>
392+
</li>
389393
</ul>
390394

391395
</nav>
@@ -517,10 +521,14 @@ <h1>Single-Joint Control Diagram<a class="headerlink" href="#single-joint-contro
517521
<p>The input (<span class="math notranslate nohighlight">\(v_a\)</span>) to output velocity (<span class="math notranslate nohighlight">\(\dot{\theta}_m\)</span>) transfer function is</p>
518522
<div class="math notranslate nohighlight">
519523
\[\frac{\dot{\Theta}(s)}{V_a(s)}=\frac{k_m}{1+T_ms}\]</div>
520-
<div class="admonition-minimal-control-background admonition">
521-
<p class="admonition-title">Minimal Control Background</p>
522-
<p>For ease of the reader, I willl provide the minimal background of
523-
control system. A typical closed-loop control diagram is shown below.
524+
<div class="admonition-minimal-material-on-control-basics admonition">
525+
<p class="admonition-title">Minimal material on control basics </p>
526+
<p>Please read my hand-writing note on control basics, in order to help you understand the following content of this chapter.</p>
527+
<p><a class="reference download internal" download="" href="../_downloads/af66a2a39b5480f30ad4e93bc7990bf7/control_basics.pdf"><span class="xref download myst">Minimal notes on control basics</span></a></p>
528+
</div>
529+
<div class="admonition-minimal-introduction-to-closed-loop-feedback-control-systems admonition">
530+
<p class="admonition-title">Minimal Introduction to Closed-Loop (Feedback) Control Systems</p>
531+
<p>A typical closed-loop control diagram is shown below.
524532
Here, <span class="math notranslate nohighlight">\(\theta_r\)</span> is the reference input; <span class="math notranslate nohighlight">\(\theta_m\)</span> is the output; <span class="math notranslate nohighlight">\(D\)</span>
525533
is the disturbance; <span class="math notranslate nohighlight">\(G(s)\)</span> is the transfer function of the plant to be
526534
controlled; <span class="math notranslate nohighlight">\(C(s)\)</span> is the controller; <span class="math notranslate nohighlight">\(H(s)\)</span> is the backward pass
@@ -561,18 +569,11 @@ <h1>Single-Joint Control Diagram<a class="headerlink" href="#single-joint-contro
561569
<div class="math notranslate nohighlight">
562570
\[1+C(s)G(s)H(s)=0\]</div>
563571
</div>
564-
<div class="admonition-final-value-theorem admonition">
565-
<p class="admonition-title">Final value theorem</p>
566-
<p>If a continuous signal <span class="math notranslate nohighlight">\(f(t)\)</span> has its Laplace transformation <span class="math notranslate nohighlight">\(F(s)\)</span>,
567-
then the final value theorem states</p>
568-
<div class="math notranslate nohighlight">
569-
\[\lim_{t\rightarrow\infty}f(t)=\lim_{s\rightarrow 0}sF(s)\]</div>
570-
</div>
571572
<p></br></br></p>
572573
</section>
573-
<section class="tex2jax_ignore mathjax_ignore" id="single-joint-position-feedback-control">
574-
<h1>Single-Joint Position Feedback Control<a class="headerlink" href="#single-joint-position-feedback-control" title="Permalink to this heading">#</a></h1>
575-
<p>The single joint motor system in <a class="reference internal" href="#motor-model3"><span class="std std-numref">Fig. 75</span></a> is the plant <span class="math notranslate nohighlight">\(G(s)\)</span> we want to design the controller <span class="math notranslate nohighlight">\(C(s)\)</span> for.</p>
574+
<section class="tex2jax_ignore mathjax_ignore" id="position-feedback-control-design">
575+
<h1>Position Feedback Control Design<a class="headerlink" href="#position-feedback-control-design" title="Permalink to this heading">#</a></h1>
576+
<p>The single joint system in <a class="reference internal" href="#motor-model3"><span class="std std-numref">Fig. 75</span></a> is the plant <span class="math notranslate nohighlight">\(G(s)\)</span> we want to design the controller <span class="math notranslate nohighlight">\(C(s)\)</span> for.</p>
576577
<p>The plant
577578
transfer function <span class="math notranslate nohighlight">\(G(s)\)</span> is <a class="reference internal" href="#equation-equ-motortf">(68)</a>, rewritten below</p>
578579
<div class="math notranslate nohighlight">
@@ -606,14 +607,16 @@ <h1>Single-Joint Position Feedback Control<a class="headerlink" href="#single-jo
606607
<p>The closed-loop input/output transfer function is</p>
607608
<div class="math notranslate nohighlight" id="equation-equ-closed-loop">
608609
<span class="eqno">(69)<a class="headerlink" href="#equation-equ-closed-loop" title="Permalink to this equation">#</a></span>\[\frac{\Theta_{m}(s)}{\Theta_{r}(s)}=\frac{C_P(s)G(s)}{1+C_P(s)G(s)H(s)}=\frac{{k_{m}K_P(1+T_Ps)}}{k_{TP}k_{m}K_P(1+T_Ps)+s^2(1+sT_m)},\]</div>
609-
<p>To analyze the control stability of the closed-loop control system <a class="reference internal" href="#equation-equ-closed-loop">(69)</a>, we look at the roots (also called poles) of its characteristic equation, which can be factorized into the following
610+
</br>
611+
<section id="input-to-output-stability-analysis">
612+
<h2>Input-to-output stability analysis<a class="headerlink" href="#input-to-output-stability-analysis" title="Permalink to this heading">#</a></h2>
613+
<p>To analyze the input-to-output stability of the closed-loop control system <a class="reference internal" href="#equation-equ-closed-loop">(69)</a>, we look at the roots (also called poles) of its characteristic equation, which can be factorized into the following
610614
form</p>
611615
<div class="math notranslate nohighlight" id="equation-equ-cha-equ">
612616
<span class="eqno">(70)<a class="headerlink" href="#equation-equ-cha-equ" title="Permalink to this equation">#</a></span>\[{k_{TP}k_{m}K_P(1+T_Ps)+s^2(1+sT_m)}
613617
=
614618
{\left({\omega_{n}^{2}}+{2 \zeta }{\omega_{n}}s+{s^{2}}\right)(1+s \tau)}=0\]</div>
615-
<p>where <span class="math notranslate nohighlight">\(\omega_{n}\)</span> and <span class="math notranslate nohighlight">\(\zeta\)</span> are the natural frequency and damping
616-
ratio of the complex poles. The roots (also called poles) to the characteristics equation <a class="reference internal" href="#equation-equ-cha-equ">(70)</a> is</p>
619+
<p>The roots (also called poles) to the characteristics equation <a class="reference internal" href="#equation-equ-cha-equ">(70)</a> is</p>
617620
<div class="math notranslate nohighlight">
618621
\[\begin{split}
619622
\begin{aligned}
@@ -622,14 +625,15 @@ <h1>Single-Joint Position Feedback Control<a class="headerlink" href="#single-jo
622625
s_3&amp;=-1 / \tau
623626
\end{aligned}
624627
\end{split}\]</div>
625-
<p>The location of the above poles <span class="math notranslate nohighlight">\((s_1, s_2, s_3)\)</span> on <span class="math notranslate nohighlight">\(s-\)</span>plane depends on the of the open-loop gain</p>
628+
<p>Here, <span class="math notranslate nohighlight">\(\omega_{n}\)</span> and <span class="math notranslate nohighlight">\(\zeta\)</span> are the natural frequency and damping
629+
ratio for the complex roots <span class="math notranslate nohighlight">\(s_1\)</span> and <span class="math notranslate nohighlight">\(s_2\)</span>, and <span class="math notranslate nohighlight">\(s_3\)</span> is a real pole.
630+
Please see my <a class="reference download internal" download="" href="../_downloads/af66a2a39b5480f30ad4e93bc7990bf7/control_basics.pdf"><span class="xref download myst">Minimal notes on control basics</span></a> for explaination of how the values of <span class="math notranslate nohighlight">\(\omega_{n}\)</span>, <span class="math notranslate nohighlight">\(\zeta\)</span> and <span class="math notranslate nohighlight">\(s_3\)</span> effect the time-domain performance of the closed-loop control system.</p>
631+
<p>The location of the above poles <span class="math notranslate nohighlight">\((s_1, s_2, s_3)\)</span> on s-plane depends on the of the open-loop gain</p>
626632
<div class="math notranslate nohighlight" id="equation-equ-ol-gain">
627633
<span class="eqno">(71)<a class="headerlink" href="#equation-equ-ol-gain" title="Permalink to this equation">#</a></span>\[\frac{k_{m} K_{P} k_{T P} T_{P}}{T_{m}}\]</div>
628-
<p>The root locus (i.e., the trajectory of the above poles on <span class="math notranslate nohighlight">\(s-\)</span>plane) can be drawn by taking different open loop gain value <a class="reference internal" href="#equation-equ-ol-gain">(71)</a>. Here, we derive into two cases
629-
to plot the root locus.</p>
634+
<p>The root locus (i.e., the trajectory of the above poles on <span class="math notranslate nohighlight">\(s-\)</span>plane) can be drawn by taking different open loop gain value <a class="reference internal" href="#equation-equ-ol-gain">(71)</a>. Here, we derive into two cases:</p>
630635
<ul>
631-
<li><p>If <span class="math notranslate nohighlight">\(T_{P}&lt;T_{m}\)</span>, the root locus is shown. Because there is always a pole (root) living on the right-half “s-plane” regardless of the choice of <span class="math notranslate nohighlight">\(\frac{k_{m} K_{P} k_{T P} T_{P}}{T_{m}}\)</span>, the closed-loop control system <a class="reference internal" href="#equation-equ-closed-loop">(69)</a> thus
632-
is inherently unstable.</p>
636+
<li><p>If <span class="math notranslate nohighlight">\(T_{P}&lt;T_{m}\)</span>, the root locus is shown. Because there is always a pole (root) living on the right-half s-plane regardless of the choice of <span class="math notranslate nohighlight">\(\frac{k_{m} K_{P} k_{T P} T_{P}}{T_{m}}\)</span>, the closed-loop control system <a class="reference internal" href="#equation-equ-closed-loop">(69)</a> thus is inherently unstable.</p>
633637
<figure class="align-default" id="p-control-rl-1">
634638
<a class="reference internal image-reference" href="../_images/p_control_rl_1.jpg"><img alt="../_images/p_control_rl_1.jpg" src="../_images/p_control_rl_1.jpg" style="width: 90%;" /></a>
635639
<figcaption>
@@ -638,9 +642,8 @@ <h1>Single-Joint Position Feedback Control<a class="headerlink" href="#single-jo
638642
</figcaption>
639643
</figure>
640644
</li>
641-
<li><p>If <span class="math notranslate nohighlight">\(T_{P}&gt;T_{m}\)</span>, the root locus is shown as below. First of all, all poles can be located on the left half of the <span class="math notranslate nohighlight">\(s\)</span>-plane, closed-loop control system <a class="reference internal" href="#equation-equ-closed-loop">(69)</a> is stable. Also, as you can see As <span class="math notranslate nohighlight">\(T_{P}\)</span>
642-
increases, the absolute value of the real part of the two complex poles, (<span class="math notranslate nohighlight">\(s_1\)</span> and <span class="math notranslate nohighlight">\(s_2\)</span>) tending towards the asymptotes increases too, and the
643-
system has faster time response.</p>
645+
<li><p>If <span class="math notranslate nohighlight">\(T_{P}&gt;T_{m}\)</span>, the root locus is shown as below. First, all poles can be located on the left half of s-plane, thus closed-loop control system <a class="reference internal" href="#equation-equ-closed-loop">(69)</a> is stable. Also, as <span class="math notranslate nohighlight">\(T_{P}\)</span>
646+
increases, the absolute value of the real part of the two complex poles, (<span class="math notranslate nohighlight">\(s_1\)</span> and <span class="math notranslate nohighlight">\(s_2\)</span>) tending towards the asymptotes increases too, and the system has faster time response (please see my <a class="reference download internal" download="" href="../_downloads/af66a2a39b5480f30ad4e93bc7990bf7/control_basics.pdf"><span class="xref download myst">Minimal notes on control basics</span></a> for explaination)</p>
644647
<figure class="align-default" id="p-control-rl-2">
645648
<a class="reference internal image-reference" href="../_images/p_control_rl_2.jpg"><img alt="../_images/p_control_rl_2.jpg" src="../_images/p_control_rl_2.jpg" style="width: 90%;" /></a>
646649
<figcaption>
@@ -650,10 +653,21 @@ <h1>Single-Joint Position Feedback Control<a class="headerlink" href="#single-jo
650653
</figure>
651654
</li>
652655
</ul>
656+
</br>
657+
</section>
658+
<section id="disturbance-to-output-performance">
659+
<h2>Disturbance-to-output performance<a class="headerlink" href="#disturbance-to-output-performance" title="Permalink to this heading">#</a></h2>
660+
<div class="admonition-final-value-theorem admonition">
661+
<p class="admonition-title">Final value theorem</p>
662+
<p>If a continuous signal <span class="math notranslate nohighlight">\(f(t)\)</span> has its Laplace transformation <span class="math notranslate nohighlight">\(F(s)\)</span>,
663+
then the final value theorem states</p>
664+
<div class="math notranslate nohighlight">
665+
\[\lim_{t\rightarrow\infty}f(t)=\lim_{s\rightarrow 0}sF(s)\]</div>
666+
</div>
653667
<p>The closed-loop disturbance-to-output transfer function is</p>
654668
<div class="math notranslate nohighlight">
655669
\[\frac{\Theta_{m}(s)}{D(s)}=-\frac{\frac{R_a}{K_t}G(s)}{1+C(s)G(s)H(s)}=-\frac{\frac{R_a}{K_t}k_ms}{k_{TP}k_{m}K_P(1+T_Ps)+s^2(1+sT_m)}\]</div>
656-
<p>If <span class="math notranslate nohighlight">\(\theta_r(t)=0\)</span> (i.e., no input signal), based on the final value thoerem, we have</p>
670+
<p>If <span class="math notranslate nohighlight">\(\theta_r(t)=0\)</span> (i.e., no input signal), based on the final value thoerem (see the above), we have</p>
657671
<div class="math notranslate nohighlight">
658672
\[\lim_{t\rightarrow \infty} {\theta_{m}(t)}= \lim_{s\rightarrow 0} s{\Theta_{m}(s)}=\lim_{s\rightarrow 0} s\frac{\Theta_{m}(s)}{D(s)}{D(s)}\]</div>
659673
<p>thus,</p>
@@ -781,6 +795,7 @@ <h1>Single-Joint Position Feedback Control<a class="headerlink" href="#single-jo
781795
can be interpreted as the disturbance rejection factor for velocity (or
782796
higher-order) disturbance. Increasing $K_{P}$ and $K_V$ can help with
783797
reducing the effect of $D$. -->
798+
</section>
784799
</section>
785800

786801
<script type="text/x-thebe-config">
@@ -855,7 +870,11 @@ <h1>Single-Joint Position Feedback Control<a class="headerlink" href="#single-jo
855870
</ul>
856871
</li>
857872
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#single-joint-control-diagram">Single-Joint Control Diagram</a></li>
858-
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#single-joint-position-feedback-control">Single-Joint Position Feedback Control</a></li>
873+
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#position-feedback-control-design">Position Feedback Control Design</a><ul class="visible nav section-nav flex-column">
874+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#input-to-output-stability-analysis">Input-to-output stability analysis</a></li>
875+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#disturbance-to-output-performance">Disturbance-to-output performance</a></li>
876+
</ul>
877+
</li>
859878
</ul>
860879

861880
</nav></div>

‎_build/html/searchindex.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎lec20/control_basics.pdf

1.66 MB
Binary file not shown.

‎lec20/djc.md

+55-22
Original file line numberDiff line numberDiff line change
@@ -169,12 +169,21 @@ $$\frac{\dot{\Theta}(s)}{V_a(s)}=\frac{k_m}{1+T_ms}$$
169169

170170

171171

172+
```{admonition} Minimal material on control basics
172173
173174
174-
```{admonition} Minimal Control Background
175+
Please read my hand-writing note on control basics, in order to help you understand the following content of this chapter.
175176
176-
For ease of the reader, I willl provide the minimal background of
177-
control system. A typical closed-loop control diagram is shown below.
177+
[Minimal notes on control basics](./control_basics.pdf)
178+
179+
180+
```
181+
182+
183+
184+
```{admonition} Minimal Introduction to Closed-Loop (Feedback) Control Systems
185+
186+
A typical closed-loop control diagram is shown below.
178187
Here, $\theta_r$ is the reference input; $\theta_m$ is the output; $D$
179188
is the disturbance; $G(s)$ is the transfer function of the plant to be
180189
controlled; $C(s)$ is the controller; $H(s)$ is the backward pass
@@ -227,19 +236,18 @@ $$1+C(s)G(s)H(s)=0$$
227236
```
228237

229238

230-
```{admonition} Final value theorem
231239

232240

233-
If a continuous signal $f(t)$ has its Laplace transformation $F(s)$,
234-
then the final value theorem states
235241

236-
$$\lim_{t\rightarrow\infty}f(t)=\lim_{s\rightarrow 0}sF(s)$$
237-
```
242+
243+
244+
245+
238246

239247
</br></br>
240-
# Single-Joint Position Feedback Control
248+
# Position Feedback Control Design
241249

242-
The single joint motor system in {numref}`motor_model3` is the plant $G(s)$ we want to design the controller $C(s)$ for.
250+
The single joint system in {numref}`motor_model3` is the plant $G(s)$ we want to design the controller $C(s)$ for.
243251

244252
The plant
245253
transfer function $G(s)$ is {eq}`equ.motortf`, rewritten below
@@ -286,20 +294,25 @@ $$
286294

287295

288296

297+
289298
The closed-loop input/output transfer function is
290299

291300
$$\frac{\Theta_{m}(s)}{\Theta_{r}(s)}=\frac{C_P(s)G(s)}{1+C_P(s)G(s)H(s)}=\frac{{k_{m}K_P(1+T_Ps)}}{k_{TP}k_{m}K_P(1+T_Ps)+s^2(1+sT_m)},$$(equ.closed_loop)
292301

293302

294-
To analyze the control stability of the closed-loop control system {eq}`equ.closed_loop`, we look at the roots (also called poles) of its characteristic equation, which can be factorized into the following
303+
</br>
304+
305+
### Input-to-output stability analysis
306+
307+
308+
To analyze the input-to-output stability of the closed-loop control system {eq}`equ.closed_loop`, we look at the roots (also called poles) of its characteristic equation, which can be factorized into the following
295309
form
296310

297311
$${k_{TP}k_{m}K_P(1+T_Ps)+s^2(1+sT_m)}
298312
=
299313
{\left({\omega_{n}^{2}}+{2 \zeta }{\omega_{n}}s+{s^{2}}\right)(1+s \tau)}=0$$(equ.cha_equ)
300314
301-
where $\omega_{n}$ and $\zeta$ are the natural frequency and damping
302-
ratio of the complex poles. The roots (also called poles) to the characteristics equation {eq}`equ.cha_equ` is
315+
The roots (also called poles) to the characteristics equation {eq}`equ.cha_equ` is
303316
304317
305318
$$
@@ -310,18 +323,21 @@ s_3&=-1 / \tau
310323
\end{aligned}
311324
$$
312325
326+
Here, $\omega_{n}$ and $\zeta$ are the natural frequency and damping
327+
ratio for the complex roots $s_1$ and $s_2$, and $s_3$ is a real pole.
328+
Please see my [Minimal notes on control basics](./control_basics.pdf) for explaination of how the values of $\omega_{n}$, $\zeta$ and $s_3$ effect the time-domain performance of the closed-loop control system.
329+
330+
313331
314-
The location of the above poles $(s_1, s_2, s_3)$ on $s-$plane depends on the of the open-loop gain
332+
The location of the above poles $(s_1, s_2, s_3)$ on s-plane depends on the of the open-loop gain
315333
316334
$$\frac{k_{m} K_{P} k_{T P} T_{P}}{T_{m}}$$(equ.ol_gain)
317335
318336
319337
320-
The root locus (i.e., the trajectory of the above poles on $s-$plane) can be drawn by taking different open loop gain value {eq}`equ.ol_gain`. Here, we derive into two cases
321-
to plot the root locus.
338+
The root locus (i.e., the trajectory of the above poles on $s-$plane) can be drawn by taking different open loop gain value {eq}`equ.ol_gain`. Here, we derive into two cases:
322339
323-
- If $T_{P}<T_{m}$, the root locus is shown. Because there is always a pole (root) living on the right-half "s-plane" regardless of the choice of $\frac{k_{m} K_{P} k_{T P} T_{P}}{T_{m}}$, the closed-loop control system {eq}`equ.closed_loop` thus
324-
is inherently unstable.
340+
- If $T_{P}<T_{m}$, the root locus is shown. Because there is always a pole (root) living on the right-half s-plane regardless of the choice of $\frac{k_{m} K_{P} k_{T P} T_{P}}{T_{m}}$, the closed-loop control system {eq}`equ.closed_loop` thus is inherently unstable.
325341
326342
:::{figure} ../lec19/control/p_control_rl_1.jpg
327343
---
@@ -334,9 +350,8 @@ to plot the root locus.
334350
335351
336352
337-
- If $T_{P}>T_{m}$, the root locus is shown as below. First of all, all poles can be located on the left half of the $s$-plane, closed-loop control system {eq}`equ.closed_loop` is stable. Also, as you can see As $T_{P}$
338-
increases, the absolute value of the real part of the two complex poles, ($s_1$ and $s_2$) tending towards the asymptotes increases too, and the
339-
system has faster time response.
353+
- If $T_{P}>T_{m}$, the root locus is shown as below. First, all poles can be located on the left half of s-plane, thus closed-loop control system {eq}`equ.closed_loop` is stable. Also, as $T_{P}$
354+
increases, the absolute value of the real part of the two complex poles, ($s_1$ and $s_2$) tending towards the asymptotes increases too, and the system has faster time response (please see my [Minimal notes on control basics](./control_basics.pdf) for explaination)
340355
341356
342357
:::{figure} ../lec19/control/p_control_rl_2.jpg
@@ -350,12 +365,27 @@ to plot the root locus.
350365
351366
352367
368+
</br>
369+
370+
### Disturbance-to-output performance
371+
372+
373+
374+
```{admonition} Final value theorem
375+
376+
377+
If a continuous signal $f(t)$ has its Laplace transformation $F(s)$,
378+
then the final value theorem states
379+
380+
$$\lim_{t\rightarrow\infty}f(t)=\lim_{s\rightarrow 0}sF(s)$$
381+
```
382+
353383
354384
The closed-loop disturbance-to-output transfer function is
355385
356386
$$\frac{\Theta_{m}(s)}{D(s)}=-\frac{\frac{R_a}{K_t}G(s)}{1+C(s)G(s)H(s)}=-\frac{\frac{R_a}{K_t}k_ms}{k_{TP}k_{m}K_P(1+T_Ps)+s^2(1+sT_m)}$$
357387
358-
If $\theta_r(t)=0$ (i.e., no input signal), based on the final value thoerem, we have
388+
If $\theta_r(t)=0$ (i.e., no input signal), based on the final value thoerem (see the above), we have
359389
360390
361391
$$\lim_{t\rightarrow \infty} {\theta_{m}(t)}= \lim_{s\rightarrow 0} s{\Theta_{m}(s)}=\lim_{s\rightarrow 0} s\frac{\Theta_{m}(s)}{D(s)}{D(s)}$$
@@ -377,6 +407,9 @@ higher-order) disturbance. Increasing $K_{P}$ can help with reducing the
377407
effect of $D$, but too high $K_P$ can lead to unacceptable oscillations
378408
of the output, as implied from the root locus.
379409
410+
411+
412+
380413
<!--
381414
</br></br>
382415
# Single-Joint Position and Velocity Feedback Control

0 commit comments

Comments
 (0)
Please sign in to comment.