Update Content - 2022-03-15
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
+++
|
||||
title = "Guidelines for the selection of weighting functions for h-infinity control"
|
||||
author = ["Thomas Dehaeze"]
|
||||
author = ["Dehaeze Thomas"]
|
||||
draft = false
|
||||
+++
|
||||
|
||||
Tags
|
||||
: [H Infinity Control]({{< relref "h_infinity_control" >}})
|
||||
: [H Infinity Control]({{< relref "h_infinity_control.md" >}})
|
||||
|
||||
Reference
|
||||
: ([Bibel and Malyevac 1992](#org395ccd3))
|
||||
: (<a href="#citeproc_bib_item_1">Bibel and Malyevac 1992</a>)
|
||||
|
||||
Author(s)
|
||||
: Bibel, J. E., & Malyevac, D. S.
|
||||
: Bibel, J. E., & Malyevac, D. S.
|
||||
|
||||
Year
|
||||
: 1992
|
||||
@@ -19,15 +19,15 @@ Year
|
||||
|
||||
## Properties of feedback control {#properties-of-feedback-control}
|
||||
|
||||
<a id="orgd464a3c"></a>
|
||||
<a id="figure--fig:bibel92-control-diag"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/bibel92_control_diag.png" caption="Figure 1: Control System Diagram" >}}
|
||||
{{< figure src="/ox-hugo/bibel92_control_diag.png" caption="<span class=\"figure-number\">Figure 1: </span>Control System Diagram" >}}
|
||||
|
||||
From the figure [1](#orgd464a3c), we have:
|
||||
From the figure [1](#figure--fig:bibel92-control-diag), we have:
|
||||
|
||||
\begin{align\*}
|
||||
y(s) &= T(s) r(s) + S(s) d(s) - T(s) n(s)\\\\\\
|
||||
e(s) &= S(s) r(s) - S(s) d(s) - S(s) n(s)\\\\\\
|
||||
y(s) &= T(s) r(s) + S(s) d(s) - T(s) n(s)\\\\
|
||||
e(s) &= S(s) r(s) - S(s) d(s) - S(s) n(s)\\\\
|
||||
u(s) &= S(s)K(s) r(s) - S(s)K(s) d(s) - S(s)K(s) n(s)
|
||||
\end{align\*}
|
||||
|
||||
@@ -38,17 +38,15 @@ With the following definitions
|
||||
- \\(T(s) = [I+G(s)K(s)]^{-1}G(s)K(s)\\) is the **Transmissibility** function matrix
|
||||
|
||||
<div class="cbox">
|
||||
<div></div>
|
||||
|
||||
\\[ S(s) + T(s) = 1 \\]
|
||||
|
||||
</div>
|
||||
|
||||
<div class="cbox">
|
||||
<div></div>
|
||||
|
||||
- **Command following**: \\(S=0\\) and \\(T=1\\) => large gains
|
||||
- **Disturbance rejection**: \\(S=0\\) => large gains
|
||||
- **Command following**: \\(S=0\\) and \\(T=1\\) => large gains
|
||||
- **Disturbance rejection**: \\(S=0\\) => large gains
|
||||
- **Sensor noise attenuation**: \\(T\\) small where the noise is concentrated
|
||||
- **Control Sensitivity minimization**: \\(K S\\) small
|
||||
- **Robustness to modeling errors**: \\(T\\) small in the frequency range of the expected model undertainties
|
||||
@@ -68,20 +66,19 @@ We must determine some **tradeoff** between the sensitivity and the complementar
|
||||
Usually, reference signals and disturbances occur at low frequencies, while noise and modeling errors are concentrated at high frequencies. The tradeoff, in a SISO sense, is to make \\(|S(j\omega)|\\) small as low frequencies and \\(|T(j\omega)|\\) small at high frequencies.
|
||||
|
||||
|
||||
## \\(H\_\infty\\) and weighting functions {#h-infty--and-weighting-functions}
|
||||
## \\(H\_\infty\\) and weighting functions {#h-infty-and-weighting-functions}
|
||||
|
||||
<div class="cbox">
|
||||
<div></div>
|
||||
|
||||
\\(\mathcal{H}\_\infty\\) control is a design technique with a state-space computation solution that utilizes frequency-dependent weighting functions to tune the controller's performance and robustness characteristics.
|
||||
|
||||
</div>
|
||||
|
||||
<a id="orgf088f75"></a>
|
||||
<a id="figure--fig:bibel92-general-plant"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/bibel92_general_plant.png" caption="Figure 2: \\(\mathcal{H}\_\infty\\) control framework" >}}
|
||||
{{< figure src="/ox-hugo/bibel92_general_plant.png" caption="<span class=\"figure-number\">Figure 2: </span>\\(\mathcal{H}\_\infty\\) control framework" >}}
|
||||
|
||||
New design framework (figure [2](#orgf088f75)): \\(P(s)\\) is the **generalized plant** transfer function matrix:
|
||||
New design framework (figure [2](#figure--fig:bibel92-general-plant)): \\(P(s)\\) is the **generalized plant** transfer function matrix:
|
||||
|
||||
- \\(w\\): exogenous inputs
|
||||
- \\(z\\): regulated performance output
|
||||
@@ -89,7 +86,7 @@ New design framework (figure [2](#orgf088f75)): \\(P(s)\\) is the **generalized
|
||||
- \\(y\\): measured output variables
|
||||
|
||||
The plant \\(P\\) has two inputs and two outputs, it can be decomposed into four sub-transfer function matrices:
|
||||
\\[P = \begin{bmatrix}P\_{11} & P\_{12} \\ P\_{21} & P\_{22} \end{bmatrix}\\]
|
||||
\\[P = \begin{bmatrix}P\_{11} & P\_{12} \\\ P\_{21} & P\_{22} \end{bmatrix}\\]
|
||||
|
||||
|
||||
## Lower Linear Fractional Transformation {#lower-linear-fractional-transformation}
|
||||
@@ -97,7 +94,6 @@ The plant \\(P\\) has two inputs and two outputs, it can be decomposed into four
|
||||
The transformation from the input \\(w\\) to the output \\(z\\), \\(T\_{zw}\\) is called the **Lower Linear Fractional Transformation** \\(F\_l (P, K)\\).
|
||||
|
||||
<div class="cbox">
|
||||
<div></div>
|
||||
|
||||
\\[T\_{zw} = F\_l (P, K) = P\_{11} + P\_{12}K (I-P\_{22})^{-1} P\_{21}\\]
|
||||
|
||||
@@ -108,25 +104,24 @@ The \\(H\_\infty\\) control problem is to find a controller that minimizes \\(\\
|
||||
|
||||
## Weights for inputs/outputs signals {#weights-for-inputs-outputs-signals}
|
||||
|
||||
Since \\(S\\) and \\(T\\) cannot be minimized together at all frequency, **weights are introduced to shape the solutions**. Not only can \\(S\\) and \\(T\\) be weighted, but other regulated performance variables and inputs (figure [3](#orgff0b295)).
|
||||
Since \\(S\\) and \\(T\\) cannot be minimized together at all frequency, **weights are introduced to shape the solutions**. Not only can \\(S\\) and \\(T\\) be weighted, but other regulated performance variables and inputs (figure [3](#figure--fig:bibel92-hinf-weights)).
|
||||
|
||||
<a id="orgff0b295"></a>
|
||||
<a id="figure--fig:bibel92-hinf-weights"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/bibel92_hinf_weights.png" caption="Figure 3: Input and Output weights in \\(\mathcal{H}\_\infty\\) framework" >}}
|
||||
{{< figure src="/ox-hugo/bibel92_hinf_weights.png" caption="<span class=\"figure-number\">Figure 3: </span>Input and Output weights in \\(\mathcal{H}\_\infty\\) framework" >}}
|
||||
|
||||
The weights on the input and output variables are selected to reflect the spatial and **frequency dependence** of the respective signals and performance specifications.
|
||||
|
||||
These inputs and output weighting functions are defined as rational, stable and **minimum-phase transfer function** (no poles or zero in the right half plane).
|
||||
|
||||
|
||||
## General Guidelines for Weight Selection: \\(W\_S\\) {#general-guidelines-for-weight-selection--w-s}
|
||||
## General Guidelines for Weight Selection: \\(W\_S\\) {#general-guidelines-for-weight-selection-w-s}
|
||||
|
||||
\\(W\_S\\) is selected to reflect the desired **performance characteristics**.
|
||||
The sensitivity function \\(S\\) should have low gain at low frequency for good tracking performance and high gain at high frequencies to limit overshoot.
|
||||
We have to select \\(W\_S\\) such that \\({W\_S}^-1\\) reflects the desired shape of \\(S\\).
|
||||
|
||||
<div class="cbox">
|
||||
<div></div>
|
||||
|
||||
- **Low frequency gain**: set to the inverse of the desired steady state tracking error
|
||||
- **High frequency gain**: set to limit overshoot (\\(0.1\\) to \\(0.5\\) is a good compromise between overshoot and response speed)
|
||||
@@ -135,12 +130,11 @@ We have to select \\(W\_S\\) such that \\({W\_S}^-1\\) reflects the desired shap
|
||||
</div>
|
||||
|
||||
|
||||
## General Guidelines for Weight Selection: \\(W\_T\\) {#general-guidelines-for-weight-selection--w-t}
|
||||
## General Guidelines for Weight Selection: \\(W\_T\\) {#general-guidelines-for-weight-selection-w-t}
|
||||
|
||||
We want \\(T\\) near unity for good tracking of reference and near zero for noise suppresion.
|
||||
|
||||
<div class="cbox">
|
||||
<div></div>
|
||||
|
||||
A high pass weight is usualy used on \\(T\\) because the noise energy is mostly concentrated at high frequencies. It should have the following characteristics:
|
||||
|
||||
@@ -154,17 +148,17 @@ When using both \\(W\_S\\) and \\(W\_T\\), it is important to make sure that the
|
||||
|
||||
## Unmodeled dynamics weighting function {#unmodeled-dynamics-weighting-function}
|
||||
|
||||
Another method of limiting the controller bandwidth and providing high frequency gain attenuation is to use a high pass weight on an **unmodeled dynamics uncertainty block** that may be added from the plant input to the plant output (figure [4](#orgc150230)).
|
||||
Another method of limiting the controller bandwidth and providing high frequency gain attenuation is to use a high pass weight on an **unmodeled dynamics uncertainty block** that may be added from the plant input to the plant output (figure [4](#figure--fig:bibel92-unmodeled-dynamics)).
|
||||
|
||||
<a id="orgc150230"></a>
|
||||
<a id="figure--fig:bibel92-unmodeled-dynamics"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/bibel92_unmodeled_dynamics.png" caption="Figure 4: Unmodeled dynamics model" >}}
|
||||
{{< figure src="/ox-hugo/bibel92_unmodeled_dynamics.png" caption="<span class=\"figure-number\">Figure 4: </span>Unmodeled dynamics model" >}}
|
||||
|
||||
The weight is chosen to cover the expected worst case magnitude of the unmodeled dynamics. A typical unmodeled dynamics weighting function is shown figure [5](#org42e3b7d).
|
||||
The weight is chosen to cover the expected worst case magnitude of the unmodeled dynamics. A typical unmodeled dynamics weighting function is shown figure [5](#figure--fig:bibel92-weight-dynamics).
|
||||
|
||||
<a id="org42e3b7d"></a>
|
||||
<a id="figure--fig:bibel92-weight-dynamics"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/bibel92_weight_dynamics.png" caption="Figure 5: Example of unmodeled dynamics weight" >}}
|
||||
{{< figure src="/ox-hugo/bibel92_weight_dynamics.png" caption="<span class=\"figure-number\">Figure 5: </span>Example of unmodeled dynamics weight" >}}
|
||||
|
||||
|
||||
## Inputs and Output weighting function {#inputs-and-output-weighting-function}
|
||||
@@ -182,7 +176,8 @@ Typically actuator input weights are constant over frequency and set at the inve
|
||||
**The order of the weights should be kept reasonably low** to reduce the order of th resulting optimal compensator and avoid potential convergence problems in the DK interactions.
|
||||
|
||||
|
||||
|
||||
## Bibliography {#bibliography}
|
||||
|
||||
<a id="org395ccd3"></a>Bibel, John E, and D Stephen Malyevac. 1992. “Guidelines for the Selection of Weighting Functions for H-Infinity Control.” NAVAL SURFACE WARFARE CENTER DAHLGREN DIV VA.
|
||||
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
|
||||
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Bibel, John E, and D Stephen Malyevac. 1992. “Guidelines for the Selection of Weighting Functions for H-Infinity Control.” NAVAL SURFACE WARFARE CENTER DAHLGREN DIV VA.</div>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user