Skip to content

Commit

Permalink
Merge pull request #17 from MeierTobias/fixes
Browse files Browse the repository at this point in the history
Fixes
  • Loading branch information
juripfammatter authored Sep 12, 2024
2 parents 517971a + 252bb4a commit ed3ecbd
Show file tree
Hide file tree
Showing 20 changed files with 225 additions and 175 deletions.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Make sure to compile with xelatex (required by fontspec).
2. After you launched the docker daemon (started Docker Desktop) you can simply run execute the `./build_latex_local.sh` file to generate the pdf files. They are located in a newly created subfolder called `build`.
(Most probably you have to change the execution permissions with `chmod +x build_latex_local.sh` before you are able to run the script for the first time.)

### Native LaTeX compiler
### Native LaTeX Compiler

If you want to use your own native installed LaTeX compiler we recommend to use [TeXLive](https://www.tug.org/texlive/) which integrates well within visual studio code.

Expand Down Expand Up @@ -80,3 +80,7 @@ The LaTeX template of this summary can be found [here](https://github.com/MeierT
## License

Distributed under the MIT License. See [LICENSE](LICENSE) for more information.

## Disclaimer

All information, images, and materials presented here are sourced from the official lecture slides of the course "Control Systems II" taught by Prof. Dr. Emilio Frazzoli (Spring Semester 2024) and the textbook authored by Gioele Zardini. This course summary is intended solely for educational and academic purposes. Any other use or distribution is strictly prohibited.
4 changes: 2 additions & 2 deletions src/BSB/reach_observability.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
% Please ignore the mess I've created here, I don't feel comfortable either.
\begin{center}
\begin{tikzcd}[ampersand replacement=\&]
\substack{\text{unstable} \\ \text{modes}} \&[2em] \substack{\text{all} \\ \text{modes}} \&[-3em] \\[-2em]
\substack{\text{unstable} \\ \text{modes} \\ \in{} \mathcal{R} \\ \in{} \mathcal{O}} \&[2em] \substack{\text{all} \\ \text{modes}} \&[-3em] \\[-2em]
\& \mathcal{C} \arrow[d, teal, xshift=-0.5ex,
"{\color{teal}\begin{matrix} %chktex 18
\mathsf{CT}: & \text{always} \\
Expand All @@ -10,7 +10,7 @@
"' %chktex 18
] \& {\footnotesize\begin{cases}
\mathsf{CT:} & \mathbf{x}_0 = 0 \to~\mathbf{x_f} \\
\mathsf{DT:} & \mathbf{x_f} \to~0
\mathsf{DT:} & \mathbf{x}_0 = \mathbf{x_f} \to~0
\end{cases}}
\\[2em]
\mathcal{S} \& \mathcal{R} \arrow[l]\arrow[u, xshift=0.5ex] \&
Expand Down
4 changes: 2 additions & 2 deletions src/images/Kalman_decomp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/images/SGT_interconn.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 14 additions & 14 deletions src/images/digit_controller_design.drawio
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<mxfile host="Electron" modified="2024-03-01T11:33:24.093Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="dkbIaFIqPj1ZrVUIbGxx" version="23.1.5" type="device">
<mxfile host="Electron" modified="2024-07-25T09:59:31.641Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.2.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="GbSt7AkHWOWRSqtFzY5O" version="24.2.5" type="device">
<diagram name="Page-1" id="BPM2w49c-HHP_4gp5e4z">
<mxGraphModel dx="882" dy="669" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<mxGraphModel dx="901" dy="361" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
Expand Down Expand Up @@ -48,17 +48,6 @@
<mxPoint x="300.67" y="220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DYwsV5AfXyrjf6upFfKe-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=blockThin;endFill=1;endSize=8;startSize=8;fontFamily=Garamond;fontSize=13;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" source="DYwsV5AfXyrjf6upFfKe-1" target="DYwsV5AfXyrjf6upFfKe-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="210" y="330" as="sourcePoint" />
<mxPoint x="210" y="410" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DYwsV5AfXyrjf6upFfKe-24" value="Discretization&lt;br style=&quot;font-size: 13px;&quot;&gt;&lt;span style=&quot;font-size: 13px;&quot;&gt;of plant (ZOH)&lt;/span&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=#FFFFFF;fontFamily=Garamond;fontSize=13;" parent="DYwsV5AfXyrjf6upFfKe-19" vertex="1" connectable="0">
<mxGeometry x="-0.1" y="1" relative="1" as="geometry">
<mxPoint x="8" y="-19" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DYwsV5AfXyrjf6upFfKe-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=blockThin;endFill=1;endSize=8;startSize=8;fontFamily=Garamond;fontSize=13;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" source="DYwsV5AfXyrjf6upFfKe-6" target="DYwsV5AfXyrjf6upFfKe-7" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="220" y="340" as="sourcePoint" />
Expand All @@ -81,9 +70,20 @@
<mxPoint x="-19" y="11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="CWiFNYIifNQwhNsxP6d6-1" value="&lt;font color=&quot;#6c8ebf&quot;&gt;1. DT&lt;/font&gt;&lt;br&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;font color=&quot;#cc0000&quot;&gt;2. Emulation&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=Garamond;fontSize=16;" vertex="1" parent="1">
<mxCell id="CWiFNYIifNQwhNsxP6d6-1" value="&lt;font color=&quot;#6c8ebf&quot;&gt;1. DT&lt;/font&gt;&lt;br&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;font color=&quot;#cc0000&quot;&gt;2. Emulation&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=Garamond;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="421" y="210" width="100" height="50" as="geometry" />
</mxCell>
<mxCell id="DYwsV5AfXyrjf6upFfKe-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=blockThin;endFill=1;endSize=8;startSize=8;fontFamily=Garamond;fontSize=13;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" source="DYwsV5AfXyrjf6upFfKe-1" target="DYwsV5AfXyrjf6upFfKe-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="210" y="330" as="sourcePoint" />
<mxPoint x="210" y="410" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DYwsV5AfXyrjf6upFfKe-24" value="Discretization&lt;br style=&quot;font-size: 13px;&quot;&gt;&lt;span style=&quot;font-size: 13px;&quot;&gt;of plant&amp;nbsp;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 13px;&quot;&gt;(Hold a. Sample)&lt;/span&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=#FFFFFF;fontFamily=Garamond;fontSize=13;" parent="DYwsV5AfXyrjf6upFfKe-19" vertex="1" connectable="0">
<mxGeometry x="-0.1" y="1" relative="1" as="geometry">
<mxPoint x="6" y="-29" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
Expand Down
Binary file modified src/images/digit_controller_design.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion src/sections/LQG.tex
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ \subsection{Transfer Function}

\textbf{Remarks}
\begin{itemize}
\item In $G_{yr}^{cl}$, only the closed-loop poles of the controller are retained (observer and system are cancelled) and open-loop zeros are retained.
\item In $G_{yr}^{cl}$, only the closed-loop poles of the controller (observer and system are cancelled) and open-loop zeros are retained.
\item $G_{uy}$, has the same order as the plant and the number of closed-loop poles is doubled (all stable)
\end{itemize}

Expand Down
12 changes: 10 additions & 2 deletions src/sections/LQR.tex
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ \subsection{Cost Functional}
\begin{itemize}
\item is symmetric i.e. $\mathbf{Q}=\mathbf{Q}^{\mathsf{T}}$
\item is positive semidefinite i.e. $\mathbf{x}^{\mathsf{T}} \mathbf{Qx} \geq 0$ or $\mathrm{eig}(\mathbf{Q}) \geq 0$
% TODO: Why must it be sqrt (below)? Compare with LQE technical conditions
\item must give positive weights to unstable modes to penalize them in the cost function (the pair $\mathbf{A}, \sqrt{\mathbf{Q}}$ is detectable)
\end{itemize}
\item $\mathbf{R}$
\begin{itemize}
\item must be positive definite i.e. $\mathbf{u}^{\mathsf{T}} \mathbf{Ru} >0\; \forall \mathbf{u}\neq \mathbf{0}$ or $\mathrm{eig}(\mathbf{R}) > 0$ (otherwise not every control effort is penalized).
\item is symmetric (see derivation in H2-Sythesis Section~\ref{h2_synth})
\item is symmetric (see derivation in H2-Synthesis Section~\ref{h2_synth})
\end{itemize}
% TODO: Why must Q but not R be symmetric? -> I think this should be true. -> From H2 Synthesis: R = D^TD which yields a symmetric matrix
\item The pair $\mathbf{A,B}$ must be stabilizable
\item In general, there is an additional cross-coupling term $\mathbf{x}^{\mathsf{T}}\mathbf{Nu}$ in $J$ which is often neglected i.e.\ equal to $0$
\end{itemize}
Expand Down Expand Up @@ -168,12 +168,20 @@ \subsection{Symmetric Root Locus}

\begin{itemize}
\item $2n$ branches, where $n$ is the size of $\mathbf{A}$
\begin{itemize}
\item like in standard RL, every branch starts in an OL pole
\item but asymptotic behavior different from standard RL
\end{itemize}
\item symmetric to the real and imaginary axis
\item LQR closed-loop poles are all in the LHP
\item $\rho \rightarrow \infty$ (expensive control):\newline
CL poles approach stable OL poles and the mirror-images of the unstable OL poles (all on LHP)
\item $\rho \rightarrow 0$ (cheap control):\newline
CL poles approach MP OL zeros and the mirror-images of the NMP OL zeros or go to infinity along the LHP asymptotes (all on LHP)
\item note that for $\rho \rightarrow \infty$ there are no asymptotes to $\infty$ but only convergence towards (mirror) OL poles
\begin{itemize}
\item for $\rho \rightarrow 0$ there is also convergence to $\infty$
\end{itemize}
\end{itemize}

\begin{examplesection}[Example: Symmetric Root Locus]
Expand Down
Loading

0 comments on commit ed3ecbd

Please sign in to comment.