Update Content - 2024-12-17
This commit is contained in:
parent
ba5c203e48
commit
f0d28899bf
@ -56,7 +56,7 @@ draft = false
|
|||||||
|
|
||||||
## Introduction {#introduction}
|
## Introduction {#introduction}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:introduction"></span>
|
<span class="org-target" id="org-target--sec-introduction"></span>
|
||||||
|
|
||||||
|
|
||||||
### The Process of Control System Design {#the-process-of-control-system-design}
|
### The Process of Control System Design {#the-process-of-control-system-design}
|
||||||
@ -183,11 +183,11 @@ In order to obtain a linear model from the "first-principle", the following appr
|
|||||||
|
|
||||||
### Notation {#notation}
|
### Notation {#notation}
|
||||||
|
|
||||||
Notations used throughout this note are summarized in tables [1](#table--tab:notation-conventional), [2](#table--tab:notation-general) and [3](#table--tab:notation-tf).
|
Notations used throughout this note are summarized in [1](#table--tab:notation-conventional), [2](#table--tab:notation-general) and [3](#table--tab:notation-tf).
|
||||||
|
|
||||||
<a id="table--tab:notation-conventional"></a>
|
<a id="table--tab:notation-conventional"></a>
|
||||||
<div class="table-caption">
|
<div class="table-caption">
|
||||||
<span class="table-number"><a href="#table--tab:notation-conventional">Table 1</a></span>:
|
<span class="table-number"><a href="#table--tab:notation-conventional">Table 1</a>:</span>
|
||||||
Notations for the conventional control configuration
|
Notations for the conventional control configuration
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -204,7 +204,7 @@ Notations used throughout this note are summarized in tables [1](#table--tab:not
|
|||||||
|
|
||||||
<a id="table--tab:notation-general"></a>
|
<a id="table--tab:notation-general"></a>
|
||||||
<div class="table-caption">
|
<div class="table-caption">
|
||||||
<span class="table-number"><a href="#table--tab:notation-general">Table 2</a></span>:
|
<span class="table-number"><a href="#table--tab:notation-general">Table 2</a>:</span>
|
||||||
Notations for the general configuration
|
Notations for the general configuration
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -218,7 +218,7 @@ Notations used throughout this note are summarized in tables [1](#table--tab:not
|
|||||||
|
|
||||||
<a id="table--tab:notation-tf"></a>
|
<a id="table--tab:notation-tf"></a>
|
||||||
<div class="table-caption">
|
<div class="table-caption">
|
||||||
<span class="table-number"><a href="#table--tab:notation-tf">Table 3</a></span>:
|
<span class="table-number"><a href="#table--tab:notation-tf">Table 3</a>:</span>
|
||||||
Notations for transfer functions
|
Notations for transfer functions
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -231,7 +231,7 @@ Notations used throughout this note are summarized in tables [1](#table--tab:not
|
|||||||
|
|
||||||
## Classical Feedback Control {#classical-feedback-control}
|
## Classical Feedback Control {#classical-feedback-control}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:classical_feedback"></span>
|
<span class="org-target" id="org-target--sec-classical-feedback"></span>
|
||||||
|
|
||||||
|
|
||||||
### Frequency Response {#frequency-response}
|
### Frequency Response {#frequency-response}
|
||||||
@ -272,7 +272,7 @@ We note \\(N(\w\_0) = \left( \frac{d\ln{|G(j\w)|}}{d\ln{\w}} \right)\_{\w=\w\_0}
|
|||||||
|
|
||||||
#### One Degree-of-Freedom Controller {#one-degree-of-freedom-controller}
|
#### One Degree-of-Freedom Controller {#one-degree-of-freedom-controller}
|
||||||
|
|
||||||
The simple one degree-of-freedom controller negative feedback structure is represented in Fig. [1](#figure--fig:classical-feedback-alt).
|
The simple one degree-of-freedom controller negative feedback structure is represented in [1](#figure--fig:classical-feedback-alt).
|
||||||
|
|
||||||
The input to the controller \\(K(s)\\) is \\(r-y\_m\\) where \\(y\_m = y+n\\) is the measured output and \\(n\\) is the measurement noise.
|
The input to the controller \\(K(s)\\) is \\(r-y\_m\\) where \\(y\_m = y+n\\) is the measured output and \\(n\\) is the measurement noise.
|
||||||
Thus, the input to the plant is \\(u = K(s) (r-y-n)\\).
|
Thus, the input to the plant is \\(u = K(s) (r-y-n)\\).
|
||||||
@ -592,13 +592,13 @@ For reference tracking, we typically want the controller to look like \\(\frac{1
|
|||||||
|
|
||||||
We cannot achieve both of these simultaneously with a single feedback controller.
|
We cannot achieve both of these simultaneously with a single feedback controller.
|
||||||
|
|
||||||
The solution is to use a **two degrees of freedom controller** where the reference signal \\(r\\) and output measurement \\(y\_m\\) are independently treated by the controller (Fig. [2](#figure--fig:classical-feedback-2dof-alt)), rather than operating on their difference \\(r - y\_m\\).
|
The solution is to use a **two degrees of freedom controller** where the reference signal \\(r\\) and output measurement \\(y\_m\\) are independently treated by the controller ([2](#figure--fig:classical-feedback-2dof-alt)), rather than operating on their difference \\(r - y\_m\\).
|
||||||
|
|
||||||
<a id="figure--fig:classical-feedback-2dof-alt"></a>
|
<a id="figure--fig:classical-feedback-2dof-alt"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_classical_feedback_2dof_alt.png" caption="<span class=\"figure-number\">Figure 2: </span>2 degrees-of-freedom control architecture" >}}
|
{{< figure src="/ox-hugo/skogestad07_classical_feedback_2dof_alt.png" caption="<span class=\"figure-number\">Figure 2: </span>2 degrees-of-freedom control architecture" >}}
|
||||||
|
|
||||||
The controller can be slit into two separate blocks (Fig. [3](#figure--fig:classical-feedback-sep)):
|
The controller can be slit into two separate blocks ([3](#figure--fig:classical-feedback-sep)):
|
||||||
|
|
||||||
- the **feedback controller** \\(K\_y\\) that is used to **reduce the effect of uncertainty** (disturbances and model errors)
|
- the **feedback controller** \\(K\_y\\) that is used to **reduce the effect of uncertainty** (disturbances and model errors)
|
||||||
- the **prefilter** \\(K\_r\\) that **shapes the commands** \\(r\\) to improve tracking performance
|
- the **prefilter** \\(K\_r\\) that **shapes the commands** \\(r\\) to improve tracking performance
|
||||||
@ -672,7 +672,7 @@ Which can be expressed as an \\(\mathcal{H}\_\infty\\):
|
|||||||
W\_P(s) = \frac{s/M + \w\_B^\*}{s + \w\_B^\* A}
|
W\_P(s) = \frac{s/M + \w\_B^\*}{s + \w\_B^\* A}
|
||||||
\end{equation\*}
|
\end{equation\*}
|
||||||
|
|
||||||
With (see Fig. [4](#figure--fig:performance-weigth)):
|
With (see [4](#figure--fig:performance-weigth)):
|
||||||
|
|
||||||
- \\(M\\): maximum magnitude of \\(\abs{S}\\)
|
- \\(M\\): maximum magnitude of \\(\abs{S}\\)
|
||||||
- \\(\w\_B\\): crossover frequency
|
- \\(\w\_B\\): crossover frequency
|
||||||
@ -714,7 +714,7 @@ After selecting the form of \\(N\\) and the weights, the \\(\hinf\\) optimal con
|
|||||||
|
|
||||||
## Introduction to Multivariable Control {#introduction-to-multivariable-control}
|
## Introduction to Multivariable Control {#introduction-to-multivariable-control}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:multivariable_control"></span>
|
<span class="org-target" id="org-target--sec-multivariable-control"></span>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
@ -750,7 +750,7 @@ The main rule for evaluating transfer functions is the **MIMO Rule**: Start from
|
|||||||
|
|
||||||
#### Negative Feedback Control Systems {#negative-feedback-control-systems}
|
#### Negative Feedback Control Systems {#negative-feedback-control-systems}
|
||||||
|
|
||||||
For negative feedback system (Fig. [5](#figure--fig:classical-feedback-bis)), we define \\(L\\) to be the loop transfer function as seen when breaking the loop at the **output** of the plant:
|
For negative feedback system ([5](#figure--fig:classical-feedback-bis)), we define \\(L\\) to be the loop transfer function as seen when breaking the loop at the **output** of the plant:
|
||||||
|
|
||||||
- \\(L = G K\\)
|
- \\(L = G K\\)
|
||||||
- \\(S \triangleq (I + L)^{-1}\\) is the transfer function from \\(d\_1\\) to \\(y\\)
|
- \\(S \triangleq (I + L)^{-1}\\) is the transfer function from \\(d\_1\\) to \\(y\\)
|
||||||
@ -1109,7 +1109,7 @@ The **structured singular value** \\(\mu\\) is a tool for analyzing the effects
|
|||||||
|
|
||||||
### General Control Problem Formulation {#general-control-problem-formulation}
|
### General Control Problem Formulation {#general-control-problem-formulation}
|
||||||
|
|
||||||
The general control problem formulation is represented in Fig. [6](#figure--fig:general-control-names) (introduced in (<a href="#citeproc_bib_item_1">Doyle 1983</a>)).
|
The general control problem formulation is represented in [6](#figure--fig:general-control-names) (introduced in (<a href="#citeproc_bib_item_1">Doyle 1983</a>)).
|
||||||
|
|
||||||
<a id="figure--fig:general-control-names"></a>
|
<a id="figure--fig:general-control-names"></a>
|
||||||
|
|
||||||
@ -1141,7 +1141,7 @@ Then we have to break all the "loops" entering and exiting the controller \\(K\\
|
|||||||
|
|
||||||
#### Controller Design: Including Weights in \\(P\\) {#controller-design-including-weights-in-p}
|
#### Controller Design: Including Weights in \\(P\\) {#controller-design-including-weights-in-p}
|
||||||
|
|
||||||
In order to get a meaningful controller synthesis problem, for example in terms of the \\(\hinf\\) norms, we generally have to include the weights \\(W\_z\\) and \\(W\_w\\) in the generalized plant \\(P\\) (Fig. [7](#figure--fig:general-plant-weights)).
|
In order to get a meaningful controller synthesis problem, for example in terms of the \\(\hinf\\) norms, we generally have to include the weights \\(W\_z\\) and \\(W\_w\\) in the generalized plant \\(P\\) ([7](#figure--fig:general-plant-weights)).
|
||||||
We consider:
|
We consider:
|
||||||
|
|
||||||
- The weighted or normalized exogenous inputs \\(w\\) (where \\(\tilde{w} = W\_w w\\) consists of the "physical" signals entering the system)
|
- The weighted or normalized exogenous inputs \\(w\\) (where \\(\tilde{w} = W\_w w\\) consists of the "physical" signals entering the system)
|
||||||
@ -1199,7 +1199,7 @@ where \\(F\_l(P, K)\\) denotes a **lower linear fractional transformation** (LFT
|
|||||||
|
|
||||||
#### A General Control Configuration Including Model Uncertainty {#a-general-control-configuration-including-model-uncertainty}
|
#### A General Control Configuration Including Model Uncertainty {#a-general-control-configuration-including-model-uncertainty}
|
||||||
|
|
||||||
The general control configuration may be extended to include model uncertainty as shown in Fig. [8](#figure--fig:general-config-model-uncertainty).
|
The general control configuration may be extended to include model uncertainty as shown in [8](#figure--fig:general-config-model-uncertainty).
|
||||||
|
|
||||||
<a id="figure--fig:general-config-model-uncertainty"></a>
|
<a id="figure--fig:general-config-model-uncertainty"></a>
|
||||||
|
|
||||||
@ -1228,7 +1228,7 @@ MIMO systems are often **more sensitive to uncertainty** than SISO systems.
|
|||||||
|
|
||||||
## Elements of Linear System Theory {#elements-of-linear-system-theory}
|
## Elements of Linear System Theory {#elements-of-linear-system-theory}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:linear_sys_theory"></span>
|
<span class="org-target" id="org-target--sec-linear-sys-theory"></span>
|
||||||
|
|
||||||
|
|
||||||
### System Descriptions {#system-descriptions}
|
### System Descriptions {#system-descriptions}
|
||||||
@ -1595,14 +1595,14 @@ RHP-zeros therefore imply high gain instability.
|
|||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_classical_feedback_stability.png" caption="<span class=\"figure-number\">Figure 9: </span>Block diagram used to check internal stability" >}}
|
{{< figure src="/ox-hugo/skogestad07_classical_feedback_stability.png" caption="<span class=\"figure-number\">Figure 9: </span>Block diagram used to check internal stability" >}}
|
||||||
|
|
||||||
Assume that the components \\(G\\) and \\(K\\) contain no unstable hidden modes. Then the feedback system in Fig. [9](#figure--fig:block-diagram-for-stability) is **internally stable** if and only if all four closed-loop transfer matrices are stable.
|
Assume that the components \\(G\\) and \\(K\\) contain no unstable hidden modes. Then the feedback system in [9](#figure--fig:block-diagram-for-stability) is **internally stable** if and only if all four closed-loop transfer matrices are stable.
|
||||||
|
|
||||||
\begin{align\*}
|
\begin{align\*}
|
||||||
&(I+KG)^{-1} & -K&(I+GK)^{-1} \\\\
|
&(I+KG)^{-1} & -K&(I+GK)^{-1} \\\\
|
||||||
G&(I+KG)^{-1} & &(I+GK)^{-1}
|
G&(I+KG)^{-1} & &(I+GK)^{-1}
|
||||||
\end{align\*}
|
\end{align\*}
|
||||||
|
|
||||||
Assume there are no RHP pole-zero cancellations between \\(G(s)\\) and \\(K(s)\\), the feedback system in Fig. [9](#figure--fig:block-diagram-for-stability) is internally stable if and only if **one** of the four closed-loop transfer function matrices is stable.
|
Assume there are no RHP pole-zero cancellations between \\(G(s)\\) and \\(K(s)\\), the feedback system in [9](#figure--fig:block-diagram-for-stability) is internally stable if and only if **one** of the four closed-loop transfer function matrices is stable.
|
||||||
|
|
||||||
|
|
||||||
### Stabilizing Controllers {#stabilizing-controllers}
|
### Stabilizing Controllers {#stabilizing-controllers}
|
||||||
@ -1761,7 +1761,7 @@ It may be shown that the Hankel norm is equal to \\(\left\\|G(s)\right\\|\_H = \
|
|||||||
|
|
||||||
## Limitations on Performance in SISO Systems {#limitations-on-performance-in-siso-systems}
|
## Limitations on Performance in SISO Systems {#limitations-on-performance-in-siso-systems}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:perf_limit_siso"></span>
|
<span class="org-target" id="org-target--sec-perf-limit-siso"></span>
|
||||||
|
|
||||||
|
|
||||||
### Input-Output Controllability {#input-output-controllability}
|
### Input-Output Controllability {#input-output-controllability}
|
||||||
@ -2234,7 +2234,7 @@ Uncertainty in the crossover frequency region can result in poor performance and
|
|||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_classical_feedback_meas.png" caption="<span class=\"figure-number\">Figure 10: </span>Feedback control system" >}}
|
{{< figure src="/ox-hugo/skogestad07_classical_feedback_meas.png" caption="<span class=\"figure-number\">Figure 10: </span>Feedback control system" >}}
|
||||||
|
|
||||||
Consider the control system in Fig. [10](#figure--fig:classical-feedback-meas).
|
Consider the control system in [10](#figure--fig:classical-feedback-meas).
|
||||||
Here \\(G\_m(s)\\) denotes the measurement transfer function and we assume \\(G\_m(0) = 1\\) (perfect steady-state measurement).
|
Here \\(G\_m(s)\\) denotes the measurement transfer function and we assume \\(G\_m(0) = 1\\) (perfect steady-state measurement).
|
||||||
|
|
||||||
<div class="important">
|
<div class="important">
|
||||||
@ -2285,7 +2285,7 @@ The rules may be used to **determine whether or not a given plant is controllabl
|
|||||||
|
|
||||||
## Limitations on Performance in MIMO Systems {#limitations-on-performance-in-mimo-systems}
|
## Limitations on Performance in MIMO Systems {#limitations-on-performance-in-mimo-systems}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:perf_limit_mimo"></span>
|
<span class="org-target" id="org-target--sec-perf-limit-mimo"></span>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
@ -2654,7 +2654,7 @@ The issues are the same for SISO and MIMO systems, however, with MIMO systems th
|
|||||||
|
|
||||||
In practice, the difference between the true perturbed plant \\(G^\prime\\) and the plant model \\(G\\) is caused by a number of different sources.
|
In practice, the difference between the true perturbed plant \\(G^\prime\\) and the plant model \\(G\\) is caused by a number of different sources.
|
||||||
We here focus on input and output uncertainty.
|
We here focus on input and output uncertainty.
|
||||||
In multiplicative form, the input and output uncertainties are given by (see Fig. [12](#figure--fig:input-output-uncertainty)):
|
In multiplicative form, the input and output uncertainties are given by (see [12](#figure--fig:input-output-uncertainty)):
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
G^\prime = (I + E\_O) G (I + E\_I)
|
G^\prime = (I + E\_O) G (I + E\_I)
|
||||||
@ -2801,7 +2801,7 @@ However, the situation is usually the opposite with model uncertainty because fo
|
|||||||
|
|
||||||
## Uncertainty and Robustness for SISO Systems {#uncertainty-and-robustness-for-siso-systems}
|
## Uncertainty and Robustness for SISO Systems {#uncertainty-and-robustness-for-siso-systems}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:uncertainty_robustness_siso"></span>
|
<span class="org-target" id="org-target--sec-uncertainty-robustness-siso"></span>
|
||||||
|
|
||||||
|
|
||||||
### Introduction to Robustness {#introduction-to-robustness}
|
### Introduction to Robustness {#introduction-to-robustness}
|
||||||
@ -2873,7 +2873,7 @@ In most cases, we prefer to lump the uncertainty into a **multiplicative uncerta
|
|||||||
G\_p(s) = G(s)(1 + w\_I(s)\Delta\_I(s)); \quad \abs{\Delta\_I(j\w)} \le 1 \\, \forall\w
|
G\_p(s) = G(s)(1 + w\_I(s)\Delta\_I(s)); \quad \abs{\Delta\_I(j\w)} \le 1 \\, \forall\w
|
||||||
\end{equation\*}
|
\end{equation\*}
|
||||||
|
|
||||||
which may be represented by the diagram in Fig. [13](#figure--fig:input-uncertainty-set).
|
which may be represented by the diagram in [13](#figure--fig:input-uncertainty-set).
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -2940,7 +2940,7 @@ This is of course conservative as it introduces possible plants that are not pre
|
|||||||
|
|
||||||
#### Uncertain Regions {#uncertain-regions}
|
#### Uncertain Regions {#uncertain-regions}
|
||||||
|
|
||||||
To illustrate how parametric uncertainty translate into frequency domain uncertainty, consider in Fig. [14](#figure--fig:uncertainty-region) the Nyquist plots generated by the following set of plants
|
To illustrate how parametric uncertainty translate into frequency domain uncertainty, consider in [14](#figure--fig:uncertainty-region) the Nyquist plots generated by the following set of plants
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
G\_p(s) = \frac{k}{\tau s + 1} e^{-\theta s}, \quad 2 \le k, \theta, \tau \le 3
|
G\_p(s) = \frac{k}{\tau s + 1} e^{-\theta s}, \quad 2 \le k, \theta, \tau \le 3
|
||||||
@ -2968,7 +2968,7 @@ The disc-shaped regions may be generated by **additive** complex norm-bounded pe
|
|||||||
\end{aligned}
|
\end{aligned}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
At each frequency, all possible \\(\Delta(j\w)\\) "generates" a disc-shaped region with radius 1 centered at 0, so \\(G(j\w) + w\_A(j\w)\Delta\_A(j\w)\\) generates at each frequency a disc-shapes region of radius \\(\abs{w\_A(j\w)}\\) centered at \\(G(j\w)\\) as shown in Fig. [15](#figure--fig:uncertainty-disc-generated).
|
At each frequency, all possible \\(\Delta(j\w)\\) "generates" a disc-shaped region with radius 1 centered at 0, so \\(G(j\w) + w\_A(j\w)\Delta\_A(j\w)\\) generates at each frequency a disc-shapes region of radius \\(\abs{w\_A(j\w)}\\) centered at \\(G(j\w)\\) as shown in [15](#figure--fig:uncertainty-disc-generated).
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -3044,7 +3044,7 @@ To simplify subsequent controller design, we select a delay-free nominal model
|
|||||||
\end{equation\*}
|
\end{equation\*}
|
||||||
|
|
||||||
To obtain \\(l\_I(\w)\\), we consider three values (2, 2.5 and 3) for each of the three parameters (\\(k, \theta, \tau\\)).
|
To obtain \\(l\_I(\w)\\), we consider three values (2, 2.5 and 3) for each of the three parameters (\\(k, \theta, \tau\\)).
|
||||||
The corresponding relative errors \\(\abs{\frac{G\_p-G}{G}}\\) are shown as functions of frequency for the \\(3^3 = 27\\) resulting \\(G\_p\\) (Fig. [16](#figure--fig:uncertainty-weight)).
|
The corresponding relative errors \\(\abs{\frac{G\_p-G}{G}}\\) are shown as functions of frequency for the \\(3^3 = 27\\) resulting \\(G\_p\\) ([16](#figure--fig:uncertainty-weight)).
|
||||||
To derive \\(w\_I(s)\\), we then try to find a simple weight so that \\(\abs{w\_I(j\w)}\\) lies above all the dotted lines.
|
To derive \\(w\_I(s)\\), we then try to find a simple weight so that \\(\abs{w\_I(j\w)}\\) lies above all the dotted lines.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -3092,7 +3092,7 @@ The magnitude of the relative uncertainty caused by neglecting the dynamics in \
|
|||||||
|
|
||||||
##### Neglected delay {#neglected-delay}
|
##### Neglected delay {#neglected-delay}
|
||||||
|
|
||||||
Let \\(f(s) = e^{-\theta\_p s}\\), where \\(0 \le \theta\_p \le \theta\_{\text{max}}\\). We want to represent \\(G\_p(s) = G\_0(s)e^{-\theta\_p s}\\) by a delay-free plant \\(G\_0(s)\\) and multiplicative uncertainty. Let first consider the maximum delay, for which the relative error \\(\abs{1 - e^{-j \w \theta\_{\text{max}}}}\\) is shown as a function of frequency (Fig. [17](#figure--fig:neglected-time-delay)). If we consider all \\(\theta \in [0, \theta\_{\text{max}}]\\) then:
|
Let \\(f(s) = e^{-\theta\_p s}\\), where \\(0 \le \theta\_p \le \theta\_{\text{max}}\\). We want to represent \\(G\_p(s) = G\_0(s)e^{-\theta\_p s}\\) by a delay-free plant \\(G\_0(s)\\) and multiplicative uncertainty. Let first consider the maximum delay, for which the relative error \\(\abs{1 - e^{-j \w \theta\_{\text{max}}}}\\) is shown as a function of frequency ([17](#figure--fig:neglected-time-delay)). If we consider all \\(\theta \in [0, \theta\_{\text{max}}]\\) then:
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
l\_I(\w) = \begin{cases} \abs{1 - e^{-j\w\theta\_{\text{max}}}} & \w < \pi/\theta\_{\text{max}} \\\ 2 & \w \ge \pi/\theta\_{\text{max}} \end{cases}
|
l\_I(\w) = \begin{cases} \abs{1 - e^{-j\w\theta\_{\text{max}}}} & \w < \pi/\theta\_{\text{max}} \\\ 2 & \w \ge \pi/\theta\_{\text{max}} \end{cases}
|
||||||
@ -3105,7 +3105,7 @@ Let \\(f(s) = e^{-\theta\_p s}\\), where \\(0 \le \theta\_p \le \theta\_{\text{m
|
|||||||
|
|
||||||
##### Neglected lag {#neglected-lag}
|
##### Neglected lag {#neglected-lag}
|
||||||
|
|
||||||
Let \\(f(s) = 1/(\tau\_p s + 1)\\), where \\(0 \le \tau\_p \le \tau\_{\text{max}}\\). In this case the resulting \\(l\_I(\w)\\) (Fig. [18](#figure--fig:neglected-first-order-lag)) can be represented by a rational transfer function with \\(\abs{w\_I(j\w)} = l\_I(\w)\\) where
|
Let \\(f(s) = 1/(\tau\_p s + 1)\\), where \\(0 \le \tau\_p \le \tau\_{\text{max}}\\). In this case the resulting \\(l\_I(\w)\\) ([18](#figure--fig:neglected-first-order-lag)) can be represented by a rational transfer function with \\(\abs{w\_I(j\w)} = l\_I(\w)\\) where
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
w\_I(s) = \frac{\tau\_{\text{max}} s}{\tau\_{\text{max}} s + 1}
|
w\_I(s) = \frac{\tau\_{\text{max}} s}{\tau\_{\text{max}} s + 1}
|
||||||
@ -3131,7 +3131,7 @@ There is an exact expression, its first order approximation is
|
|||||||
w\_I(s) = \frac{(1+\frac{r\_k}{2})\theta\_{\text{max}} s + r\_k}{\frac{\theta\_{\text{max}}}{2} s + 1}
|
w\_I(s) = \frac{(1+\frac{r\_k}{2})\theta\_{\text{max}} s + r\_k}{\frac{\theta\_{\text{max}}}{2} s + 1}
|
||||||
\end{equation\*}
|
\end{equation\*}
|
||||||
|
|
||||||
However, as shown in Fig. [19](#figure--fig:lag-delay-uncertainty), the weight \\(w\_I\\) is optimistic, especially around frequencies \\(1/\theta\_{\text{max}}\\). To make sure that \\(\abs{w\_I(j\w)} \le l\_I(\w)\\), we can apply a correction factor:
|
However, as shown in [19](#figure--fig:lag-delay-uncertainty), the weight \\(w\_I\\) is optimistic, especially around frequencies \\(1/\theta\_{\text{max}}\\). To make sure that \\(\abs{w\_I(j\w)} \le l\_I(\w)\\), we can apply a correction factor:
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
w\_I^\prime(s) = w\_I \cdot \frac{(\frac{\theta\_{\text{max}}}{2.363})^2 s^2 + 2\cdot 0.838 \cdot \frac{\theta\_{\text{max}}}{2.363} s + 1}{(\frac{\theta\_{\text{max}}}{2.363})^2 s^2 + 2\cdot 0.685 \cdot \frac{\theta\_{\text{max}}}{2.363} s + 1}
|
w\_I^\prime(s) = w\_I \cdot \frac{(\frac{\theta\_{\text{max}}}{2.363})^2 s^2 + 2\cdot 0.838 \cdot \frac{\theta\_{\text{max}}}{2.363} s + 1}{(\frac{\theta\_{\text{max}}}{2.363})^2 s^2 + 2\cdot 0.685 \cdot \frac{\theta\_{\text{max}}}{2.363} s + 1}
|
||||||
@ -3167,7 +3167,7 @@ where \\(r\_0\\) is the relative uncertainty at steady-state, \\(1/\tau\\) is th
|
|||||||
|
|
||||||
#### RS with Multiplicative Uncertainty {#rs-with-multiplicative-uncertainty}
|
#### RS with Multiplicative Uncertainty {#rs-with-multiplicative-uncertainty}
|
||||||
|
|
||||||
We want to determine the stability of the uncertain feedback system in Fig. [20](#figure--fig:feedback-multiplicative-uncertainty) where there is multiplicative uncertainty of magnitude \\(\abs{w\_I(j\w)}\\).
|
We want to determine the stability of the uncertain feedback system in [20](#figure--fig:feedback-multiplicative-uncertainty) where there is multiplicative uncertainty of magnitude \\(\abs{w\_I(j\w)}\\).
|
||||||
The loop transfer function becomes
|
The loop transfer function becomes
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
@ -3189,7 +3189,7 @@ We use the Nyquist stability condition to test for robust stability of the close
|
|||||||
|
|
||||||
##### Graphical derivation of RS-condition {#graphical-derivation-of-rs-condition}
|
##### Graphical derivation of RS-condition {#graphical-derivation-of-rs-condition}
|
||||||
|
|
||||||
Consider the Nyquist plot of \\(L\_p\\) as shown in Fig. [21](#figure--fig:nyquist-uncertainty). \\(\abs{1+L}\\) is the distance from the point \\(-1\\) to the center of the disc representing \\(L\_p\\) and \\(\abs{w\_I L}\\) is the radius of the disc.
|
Consider the Nyquist plot of \\(L\_p\\) as shown in [21](#figure--fig:nyquist-uncertainty). \\(\abs{1+L}\\) is the distance from the point \\(-1\\) to the center of the disc representing \\(L\_p\\) and \\(\abs{w\_I L}\\) is the radius of the disc.
|
||||||
Encirclements are avoided if none of the discs cover \\(-1\\), and we get:
|
Encirclements are avoided if none of the discs cover \\(-1\\), and we get:
|
||||||
|
|
||||||
\begin{align\*}
|
\begin{align\*}
|
||||||
@ -3236,7 +3236,7 @@ And we obtain the same condition as before.
|
|||||||
|
|
||||||
#### RS with Inverse Multiplicative Uncertainty {#rs-with-inverse-multiplicative-uncertainty}
|
#### RS with Inverse Multiplicative Uncertainty {#rs-with-inverse-multiplicative-uncertainty}
|
||||||
|
|
||||||
We will derive a corresponding RS-condition for feedback system with inverse multiplicative uncertainty (Fig. [22](#figure--fig:inverse-uncertainty-set)) in which
|
We will derive a corresponding RS-condition for feedback system with inverse multiplicative uncertainty ([22](#figure--fig:inverse-uncertainty-set)) in which
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
G\_p = G(1 + w\_{iI}(s) \Delta\_{iI})^{-1}
|
G\_p = G(1 + w\_{iI}(s) \Delta\_{iI})^{-1}
|
||||||
@ -3290,7 +3290,7 @@ The condition for **nominal performance** when considering performance in terms
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
Now \\(\abs{1 + L}\\) represents at each frequency the distance of \\(L(j\omega)\\) from the point \\(-1\\) in the Nyquist plot, so \\(L(j\omega)\\) must be at least a distance of \\(\abs{w\_P(j\omega)}\\) from \\(-1\\).
|
Now \\(\abs{1 + L}\\) represents at each frequency the distance of \\(L(j\omega)\\) from the point \\(-1\\) in the Nyquist plot, so \\(L(j\omega)\\) must be at least a distance of \\(\abs{w\_P(j\omega)}\\) from \\(-1\\).
|
||||||
This is illustrated graphically in Fig. [23](#figure--fig:nyquist-performance-condition).
|
This is illustrated graphically in [23](#figure--fig:nyquist-performance-condition).
|
||||||
|
|
||||||
<a id="figure--fig:nyquist-performance-condition"></a>
|
<a id="figure--fig:nyquist-performance-condition"></a>
|
||||||
|
|
||||||
@ -3312,7 +3312,7 @@ For robust performance, we require the performance condition to be satisfied for
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Let's consider the case of multiplicative uncertainty as shown on Fig. [24](#figure--fig:input-uncertainty-set-feedback-weight-bis).
|
Let's consider the case of multiplicative uncertainty as shown on [24](#figure--fig:input-uncertainty-set-feedback-weight-bis).
|
||||||
The robust performance corresponds to requiring \\(\abs{\hat{y}/d}<1\ \forall \Delta\_I\\) and the set of possible loop transfer functions is
|
The robust performance corresponds to requiring \\(\abs{\hat{y}/d}<1\ \forall \Delta\_I\\) and the set of possible loop transfer functions is
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
@ -3326,7 +3326,7 @@ The robust performance corresponds to requiring \\(\abs{\hat{y}/d}<1\ \forall \D
|
|||||||
|
|
||||||
##### Graphical derivation of RP-condition {#graphical-derivation-of-rp-condition}
|
##### Graphical derivation of RP-condition {#graphical-derivation-of-rp-condition}
|
||||||
|
|
||||||
As illustrated on Fig. [23](#figure--fig:nyquist-performance-condition), we must required that all possible \\(L\_p(j\omega)\\) stay outside a disk of radius \\(\abs{w\_P(j\omega)}\\) centered on \\(-1\\).
|
As illustrated on [23](#figure--fig:nyquist-performance-condition), we must required that all possible \\(L\_p(j\omega)\\) stay outside a disk of radius \\(\abs{w\_P(j\omega)}\\) centered on \\(-1\\).
|
||||||
Since \\(L\_p\\) at each frequency stays within a disk of radius \\(|w\_I(j\omega) L(j\omega)|\\) centered on \\(L(j\omega)\\), the condition for RP becomes:
|
Since \\(L\_p\\) at each frequency stays within a disk of radius \\(|w\_I(j\omega) L(j\omega)|\\) centered on \\(L(j\omega)\\), the condition for RP becomes:
|
||||||
|
|
||||||
\begin{align\*}
|
\begin{align\*}
|
||||||
@ -3524,7 +3524,7 @@ In the transfer function form:
|
|||||||
|
|
||||||
with \\(\Phi(s) \triangleq (sI - A)^{-1}\\).
|
with \\(\Phi(s) \triangleq (sI - A)^{-1}\\).
|
||||||
|
|
||||||
This is illustrated in the block diagram of Fig. [25](#figure--fig:uncertainty-state-a-matrix), which is in the form of an inverse additive perturbation.
|
This is illustrated in the block diagram of [25](#figure--fig:uncertainty-state-a-matrix), which is in the form of an inverse additive perturbation.
|
||||||
|
|
||||||
<a id="figure--fig:uncertainty-state-a-matrix"></a>
|
<a id="figure--fig:uncertainty-state-a-matrix"></a>
|
||||||
|
|
||||||
@ -3544,7 +3544,7 @@ We also derived a condition for robust performance with multiplicative uncertain
|
|||||||
|
|
||||||
## Robust Stability and Performance Analysis {#robust-stability-and-performance-analysis}
|
## Robust Stability and Performance Analysis {#robust-stability-and-performance-analysis}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:robust_perf_mimo"></span>
|
<span class="org-target" id="org-target--sec-robust-perf-mimo"></span>
|
||||||
|
|
||||||
|
|
||||||
### General Control Configuration with Uncertainty {#general-control-configuration-with-uncertainty}
|
### General Control Configuration with Uncertainty {#general-control-configuration-with-uncertainty}
|
||||||
@ -3562,13 +3562,13 @@ The starting point for our robustness analysis is a system representation in whi
|
|||||||
|
|
||||||
where each \\(\Delta\_i\\) represents a **specific source of uncertainty**, e.g. input uncertainty \\(\Delta\_I\\) or parametric uncertainty \\(\delta\_i\\).
|
where each \\(\Delta\_i\\) represents a **specific source of uncertainty**, e.g. input uncertainty \\(\Delta\_I\\) or parametric uncertainty \\(\delta\_i\\).
|
||||||
|
|
||||||
If we also pull out the controller \\(K\\), we get the generalized plant \\(P\\) as shown in Fig. [26](#figure--fig:general-control-delta). This form is useful for controller synthesis.
|
If we also pull out the controller \\(K\\), we get the generalized plant \\(P\\) as shown in [26](#figure--fig:general-control-delta). This form is useful for controller synthesis.
|
||||||
|
|
||||||
<a id="figure--fig:general-control-delta"></a>
|
<a id="figure--fig:general-control-delta"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_general_control_delta.png" caption="<span class=\"figure-number\">Figure 26: </span>General control configuration used for controller synthesis" >}}
|
{{< figure src="/ox-hugo/skogestad07_general_control_delta.png" caption="<span class=\"figure-number\">Figure 26: </span>General control configuration used for controller synthesis" >}}
|
||||||
|
|
||||||
If the controller is given and we want to analyze the uncertain system, we use the \\(N\Delta\text{-structure}\\) in Fig. [27](#figure--fig:general-control-Ndelta).
|
If the controller is given and we want to analyze the uncertain system, we use the \\(N\Delta\text{-structure}\\) in [27](#figure--fig:general-control-Ndelta).
|
||||||
|
|
||||||
<a id="figure--fig:general-control-Ndelta"></a>
|
<a id="figure--fig:general-control-Ndelta"></a>
|
||||||
|
|
||||||
@ -3588,7 +3588,7 @@ Similarly, the uncertain closed-loop transfer function from \\(w\\) to \\(z\\),
|
|||||||
&\triangleq N\_{22} + N\_{21} \Delta (I - N\_{11} \Delta)^{-1} N\_{12}
|
&\triangleq N\_{22} + N\_{21} \Delta (I - N\_{11} \Delta)^{-1} N\_{12}
|
||||||
\end{align\*}
|
\end{align\*}
|
||||||
|
|
||||||
To analyze robust stability of \\(F\\), we can rearrange the system into the \\(M\Delta\text{-structure}\\) shown in Fig. [28](#figure--fig:general-control-Mdelta-bis) where \\(M = N\_{11}\\) is the transfer function from the output to the input of the perturbations.
|
To analyze robust stability of \\(F\\), we can rearrange the system into the \\(M\Delta\text{-structure}\\) shown in [28](#figure--fig:general-control-Mdelta-bis) where \\(M = N\_{11}\\) is the transfer function from the output to the input of the perturbations.
|
||||||
|
|
||||||
<a id="figure--fig:general-control-Mdelta-bis"></a>
|
<a id="figure--fig:general-control-Mdelta-bis"></a>
|
||||||
|
|
||||||
@ -3627,7 +3627,7 @@ However, the inclusion of parametric uncertainty may be more significant for MIM
|
|||||||
Unstructured perturbations are often used to get a simple uncertainty model.
|
Unstructured perturbations are often used to get a simple uncertainty model.
|
||||||
We here define unstructured uncertainty as the use of a "full" complex perturbation matrix \\(\Delta\\), usually with dimensions compatible with those of the plant, where at each frequency any \\(\Delta(j\w)\\) satisfying \\(\maxsv(\Delta(j\w)) < 1\\) is allowed.
|
We here define unstructured uncertainty as the use of a "full" complex perturbation matrix \\(\Delta\\), usually with dimensions compatible with those of the plant, where at each frequency any \\(\Delta(j\w)\\) satisfying \\(\maxsv(\Delta(j\w)) < 1\\) is allowed.
|
||||||
|
|
||||||
Three common forms of **feedforward unstructured uncertainty** are shown Fig. [4](#table--fig:feedforward-uncertainty): additive uncertainty, multiplicative input uncertainty and multiplicative output uncertainty.
|
Three common forms of **feedforward unstructured uncertainty** are shown [4](#table--fig:feedforward-uncertainty): additive uncertainty, multiplicative input uncertainty and multiplicative output uncertainty.
|
||||||
|
|
||||||
<div class="important">
|
<div class="important">
|
||||||
|
|
||||||
@ -3643,15 +3643,15 @@ Three common forms of **feedforward unstructured uncertainty** are shown Fig.&nb
|
|||||||
|
|
||||||
<a id="table--fig:feedforward-uncertainty"></a>
|
<a id="table--fig:feedforward-uncertainty"></a>
|
||||||
<div class="table-caption">
|
<div class="table-caption">
|
||||||
<span class="table-number"><a href="#table--fig:feedforward-uncertainty">Table 4</a></span>:
|
<span class="table-number"><a href="#table--fig:feedforward-uncertainty">Table 4</a>:</span>
|
||||||
Common feedforward unstructured uncertainty
|
Common feedforward unstructured uncertainty
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
| ![](/ox-hugo/skogestad07_additive_uncertainty.png) | ![](/ox-hugo/skogestad07_input_uncertainty.png) | ![](/ox-hugo/skogestad07_output_uncertainty.png) |
|
| ![](/ox-hugo/skogestad07_additive_uncertainty.png) | ![](/ox-hugo/skogestad07_input_uncertainty.png) | ![](/ox-hugo/skogestad07_output_uncertainty.png) |
|
||||||
|-------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
|
|-------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
|
||||||
| <span class="org-target" id="org-target--fig:additive_uncertainty"></span> Additive uncertainty | <span class="org-target" id="org-target--fig:input_uncertainty"></span> Multiplicative input uncertainty | <span class="org-target" id="org-target--fig:output_uncertainty"></span> Multiplicative output uncertainty |
|
| <span class="org-target" id="org-target--fig-additive-uncertainty"></span> Additive uncertainty | <span class="org-target" id="org-target--fig-input-uncertainty"></span> Multiplicative input uncertainty | <span class="org-target" id="org-target--fig-output-uncertainty"></span> Multiplicative output uncertainty |
|
||||||
|
|
||||||
In Fig. [5](#table--fig:feedback-uncertainty), three **feedback or inverse unstructured uncertainty** forms are shown: inverse additive uncertainty, inverse multiplicative input uncertainty and inverse multiplicative output uncertainty.
|
In [5](#table--fig:feedback-uncertainty), three **feedback or inverse unstructured uncertainty** forms are shown: inverse additive uncertainty, inverse multiplicative input uncertainty and inverse multiplicative output uncertainty.
|
||||||
|
|
||||||
<div class="important">
|
<div class="important">
|
||||||
|
|
||||||
@ -3667,13 +3667,13 @@ In Fig. [5](#table--fig:feedback-uncertainty), three **feedback or inverse
|
|||||||
|
|
||||||
<a id="table--fig:feedback-uncertainty"></a>
|
<a id="table--fig:feedback-uncertainty"></a>
|
||||||
<div class="table-caption">
|
<div class="table-caption">
|
||||||
<span class="table-number"><a href="#table--fig:feedback-uncertainty">Table 5</a></span>:
|
<span class="table-number"><a href="#table--fig:feedback-uncertainty">Table 5</a>:</span>
|
||||||
Common feedback unstructured uncertainty
|
Common feedback unstructured uncertainty
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
| ![](/ox-hugo/skogestad07_inv_additive_uncertainty.png) | ![](/ox-hugo/skogestad07_inv_input_uncertainty.png) | ![](/ox-hugo/skogestad07_inv_output_uncertainty.png) |
|
| ![](/ox-hugo/skogestad07_inv_additive_uncertainty.png) | ![](/ox-hugo/skogestad07_inv_input_uncertainty.png) | ![](/ox-hugo/skogestad07_inv_output_uncertainty.png) |
|
||||||
|-------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|
|
|-------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|
|
||||||
| <span class="org-target" id="org-target--fig:inv_additive_uncertainty"></span> Inverse additive uncertainty | <span class="org-target" id="org-target--fig:inv_input_uncertainty"></span> Inverse multiplicative input uncertainty | <span class="org-target" id="org-target--fig:inv_output_uncertainty"></span> Inverse multiplicative output uncertainty |
|
| <span class="org-target" id="org-target--fig-inv-additive-uncertainty"></span> Inverse additive uncertainty | <span class="org-target" id="org-target--fig-inv-input-uncertainty"></span> Inverse multiplicative input uncertainty | <span class="org-target" id="org-target--fig-inv-output-uncertainty"></span> Inverse multiplicative output uncertainty |
|
||||||
|
|
||||||
|
|
||||||
##### Lumping uncertainty into a single perturbation {#lumping-uncertainty-into-a-single-perturbation}
|
##### Lumping uncertainty into a single perturbation {#lumping-uncertainty-into-a-single-perturbation}
|
||||||
@ -3768,7 +3768,7 @@ where \\(r\_0\\) is the relative uncertainty at steady-state, \\(1/\tau\\) is th
|
|||||||
|
|
||||||
### Obtaining \\(P\\), \\(N\\) and \\(M\\) {#obtaining-p-n-and-m}
|
### Obtaining \\(P\\), \\(N\\) and \\(M\\) {#obtaining-p-n-and-m}
|
||||||
|
|
||||||
Let's consider the feedback system with multiplicative input uncertainty \\(\Delta\_I\\) shown Fig. [29](#figure--fig:input-uncertainty-set-feedback-weight).
|
Let's consider the feedback system with multiplicative input uncertainty \\(\Delta\_I\\) shown [29](#figure--fig:input-uncertainty-set-feedback-weight).
|
||||||
\\(W\_I\\) is a normalization weight for the uncertainty and \\(W\_P\\) is a performance weight.
|
\\(W\_I\\) is a normalization weight for the uncertainty and \\(W\_P\\) is a performance weight.
|
||||||
|
|
||||||
<a id="figure--fig:input-uncertainty-set-feedback-weight"></a>
|
<a id="figure--fig:input-uncertainty-set-feedback-weight"></a>
|
||||||
@ -3906,7 +3906,7 @@ Then the \\(M\Delta\text{-system}\\) is stable for all perturbations \\(\Delta\\
|
|||||||
|
|
||||||
#### Application of the Unstructured RS-condition {#application-of-the-unstructured-rs-condition}
|
#### Application of the Unstructured RS-condition {#application-of-the-unstructured-rs-condition}
|
||||||
|
|
||||||
We will now present necessary and sufficient conditions for robust stability for each of the six single unstructured perturbations in Figs [4](#table--fig:feedforward-uncertainty) and [5](#table--fig:feedback-uncertainty) with
|
We will now present necessary and sufficient conditions for robust stability for each of the six single unstructured perturbations in [4](#table--fig:feedforward-uncertainty) and [5](#table--fig:feedback-uncertainty) with
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
E = W\_2 \Delta W\_1, \quad \hnorm{\Delta} \le 1
|
E = W\_2 \Delta W\_1, \quad \hnorm{\Delta} \le 1
|
||||||
@ -3951,7 +3951,7 @@ In order to get tighter condition we must use a tighter uncertainty description
|
|||||||
Robust stability bound in terms of the \\(\hinf\\) norm (\\(\text{RS}\Leftrightarrow\hnorm{M}<1\\)) are in general only tight when there is a single full perturbation block.
|
Robust stability bound in terms of the \\(\hinf\\) norm (\\(\text{RS}\Leftrightarrow\hnorm{M}<1\\)) are in general only tight when there is a single full perturbation block.
|
||||||
An "exception" to this is when the uncertainty blocks enter or exit from the same location in the block diagram, because they can then be stacked on top of each other or side-by-side, in an overall \\(\Delta\\) which is then full matrix.
|
An "exception" to this is when the uncertainty blocks enter or exit from the same location in the block diagram, because they can then be stacked on top of each other or side-by-side, in an overall \\(\Delta\\) which is then full matrix.
|
||||||
|
|
||||||
One important uncertainty description that falls into this category is the **coprime uncertainty description** shown in Fig. [30](#figure--fig:coprime-uncertainty), for which the set of plants is
|
One important uncertainty description that falls into this category is the **coprime uncertainty description** shown in [30](#figure--fig:coprime-uncertainty), for which the set of plants is
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
G\_p = (M\_l + \Delta\_M)^{-1}(Nl + \Delta\_N), \quad \hnorm{[\Delta\_N, \ \Delta\_N]} \le \epsilon
|
G\_p = (M\_l + \Delta\_M)^{-1}(Nl + \Delta\_N), \quad \hnorm{[\Delta\_N, \ \Delta\_N]} \le \epsilon
|
||||||
@ -4007,7 +4007,7 @@ To this effect, introduce the block-diagonal scaling matrix
|
|||||||
|
|
||||||
where \\(d\_i\\) is a scalar and \\(I\_i\\) is an identity matrix of the same dimension as the \\(i\\)'th perturbation block \\(\Delta\_i\\).
|
where \\(d\_i\\) is a scalar and \\(I\_i\\) is an identity matrix of the same dimension as the \\(i\\)'th perturbation block \\(\Delta\_i\\).
|
||||||
|
|
||||||
Now rescale the inputs and outputs of \\(M\\) and \\(\Delta\\) by inserting the matrices \\(D\\) and \\(D^{-1}\\) on both sides as shown in Fig. [31](#figure--fig:block-diagonal-scalings).
|
Now rescale the inputs and outputs of \\(M\\) and \\(\Delta\\) by inserting the matrices \\(D\\) and \\(D^{-1}\\) on both sides as shown in [31](#figure--fig:block-diagonal-scalings).
|
||||||
This clearly has no effect on stability.
|
This clearly has no effect on stability.
|
||||||
|
|
||||||
<a id="figure--fig:block-diagonal-scalings"></a>
|
<a id="figure--fig:block-diagonal-scalings"></a>
|
||||||
@ -4302,7 +4302,7 @@ Note that \\(\mu\\) underestimate how bad or good the actual worst case performa
|
|||||||
|
|
||||||
### Application: RP with Input Uncertainty {#application-rp-with-input-uncertainty}
|
### Application: RP with Input Uncertainty {#application-rp-with-input-uncertainty}
|
||||||
|
|
||||||
We will now consider in some detail the case of multiplicative input uncertainty with performance defined in terms of weighted sensitivity (Fig. [29](#figure--fig:input-uncertainty-set-feedback-weight)).
|
We will now consider in some detail the case of multiplicative input uncertainty with performance defined in terms of weighted sensitivity ([29](#figure--fig:input-uncertainty-set-feedback-weight)).
|
||||||
|
|
||||||
The performance requirement is then
|
The performance requirement is then
|
||||||
|
|
||||||
@ -4416,7 +4416,7 @@ with the decoupling controller we have:
|
|||||||
\overline{\sigma}(N\_{22}) = \overline{\sigma}(w\_P S) = \left|\frac{s/2 + 0.05}{s + 0.7}\right|
|
\overline{\sigma}(N\_{22}) = \overline{\sigma}(w\_P S) = \left|\frac{s/2 + 0.05}{s + 0.7}\right|
|
||||||
\end{equation\*}
|
\end{equation\*}
|
||||||
|
|
||||||
and we see from Fig. [32](#figure--fig:mu-plots-distillation) that the NP-condition is satisfied.
|
and we see from [32](#figure--fig:mu-plots-distillation) that the NP-condition is satisfied.
|
||||||
|
|
||||||
<a id="figure--fig:mu-plots-distillation"></a>
|
<a id="figure--fig:mu-plots-distillation"></a>
|
||||||
|
|
||||||
@ -4431,7 +4431,7 @@ In this case \\(w\_I T\_I = w\_I T\\) is a scalar times the identity matrix:
|
|||||||
\mu\_{\Delta\_I}(w\_I T\_I) = |w\_I t| = \left|0.2 \frac{5s + 1}{(0.5s + 1)(1.43s + 1)}\right|
|
\mu\_{\Delta\_I}(w\_I T\_I) = |w\_I t| = \left|0.2 \frac{5s + 1}{(0.5s + 1)(1.43s + 1)}\right|
|
||||||
\end{equation\*}
|
\end{equation\*}
|
||||||
|
|
||||||
and we see from Fig. [32](#figure--fig:mu-plots-distillation) that RS is satisfied.
|
and we see from [32](#figure--fig:mu-plots-distillation) that RS is satisfied.
|
||||||
|
|
||||||
The peak value of \\(\mu\_{\Delta\_I}(M)\\) is \\(0.53\\) meaning that we may increase the uncertainty by a factor of \\(1/0.53 = 1.89\\) before the worst case uncertainty yields instability.
|
The peak value of \\(\mu\_{\Delta\_I}(M)\\) is \\(0.53\\) meaning that we may increase the uncertainty by a factor of \\(1/0.53 = 1.89\\) before the worst case uncertainty yields instability.
|
||||||
|
|
||||||
@ -4439,7 +4439,7 @@ The peak value of \\(\mu\_{\Delta\_I}(M)\\) is \\(0.53\\) meaning that we may in
|
|||||||
##### RP {#rp}
|
##### RP {#rp}
|
||||||
|
|
||||||
Although the system has good robustness margins and excellent nominal performance, the robust performance is poor.
|
Although the system has good robustness margins and excellent nominal performance, the robust performance is poor.
|
||||||
This is shown in Fig. [32](#figure--fig:mu-plots-distillation) where the \\(\mu\text{-curve}\\) for RP was computed numerically using \\(\mu\_{\hat{\Delta}}(N)\\), with \\(\hat{\Delta} = \text{diag}\\{\Delta\_I, \Delta\_P\\}\\) and \\(\Delta\_I = \text{diag}\\{\delta\_1, \delta\_2\\}\\).
|
This is shown in [32](#figure--fig:mu-plots-distillation) where the \\(\mu\text{-curve}\\) for RP was computed numerically using \\(\mu\_{\hat{\Delta}}(N)\\), with \\(\hat{\Delta} = \text{diag}\\{\Delta\_I, \Delta\_P\\}\\) and \\(\Delta\_I = \text{diag}\\{\delta\_1, \delta\_2\\}\\).
|
||||||
The peak value is close to 6, meaning that even with 6 times less uncertainty, the weighted sensitivity will be about 6 times larger than what we require.
|
The peak value is close to 6, meaning that even with 6 times less uncertainty, the weighted sensitivity will be about 6 times larger than what we require.
|
||||||
|
|
||||||
|
|
||||||
@ -4576,7 +4576,7 @@ The latter is an attempt to "flatten out" \\(\mu\\).
|
|||||||
#### Example: \\(\mu\text{-synthesis}\\) with DK-iteration {#example-mu-text-synthesis-with-dk-iteration}
|
#### Example: \\(\mu\text{-synthesis}\\) with DK-iteration {#example-mu-text-synthesis-with-dk-iteration}
|
||||||
|
|
||||||
For simplicity, we will consider again the case of multiplicative uncertainty and performance defined in terms of weighted sensitivity.
|
For simplicity, we will consider again the case of multiplicative uncertainty and performance defined in terms of weighted sensitivity.
|
||||||
The uncertainty weight \\(w\_I I\\) and performance weight \\(w\_P I\\) are shown graphically in Fig. [33](#figure--fig:weights-distillation).
|
The uncertainty weight \\(w\_I I\\) and performance weight \\(w\_P I\\) are shown graphically in [33](#figure--fig:weights-distillation).
|
||||||
|
|
||||||
<a id="figure--fig:weights-distillation"></a>
|
<a id="figure--fig:weights-distillation"></a>
|
||||||
|
|
||||||
@ -4592,8 +4592,8 @@ The scaling matrix \\(D\\) for \\(DND^{-1}\\) then has the structure \\(D = \tex
|
|||||||
|
|
||||||
- Iteration No. 1.
|
- Iteration No. 1.
|
||||||
Step 1: with the initial scalings, the \\(\mathcal{H}\_\infty\\) synthesis produced a 6 state controller (2 states from the plant model and 2 from each of the weights).
|
Step 1: with the initial scalings, the \\(\mathcal{H}\_\infty\\) synthesis produced a 6 state controller (2 states from the plant model and 2 from each of the weights).
|
||||||
Step 2: the upper \\(\mu\text{-bound}\\) is shown in Fig. [34](#figure--fig:dk-iter-mu).
|
Step 2: the upper \\(\mu\text{-bound}\\) is shown in [34](#figure--fig:dk-iter-mu).
|
||||||
Step 3: the frequency dependent \\(d\_1(\omega)\\) and \\(d\_2(\omega)\\) from step 2 are fitted using a 4th order transfer function shown in Fig. [35](#figure--fig:dk-iter-d-scale)
|
Step 3: the frequency dependent \\(d\_1(\omega)\\) and \\(d\_2(\omega)\\) from step 2 are fitted using a 4th order transfer function shown in [35](#figure--fig:dk-iter-d-scale)
|
||||||
- Iteration No. 2.
|
- Iteration No. 2.
|
||||||
Step 1: with the 8 state scalings \\(D^1(s)\\), the \\(\mathcal{H}\_\infty\\) synthesis gives a 22 state controller.
|
Step 1: with the 8 state scalings \\(D^1(s)\\), the \\(\mathcal{H}\_\infty\\) synthesis gives a 22 state controller.
|
||||||
Step 2: This controller gives a peak value of \\(\mu\\) of \\(1.02\\).
|
Step 2: This controller gives a peak value of \\(\mu\\) of \\(1.02\\).
|
||||||
@ -4609,7 +4609,7 @@ The scaling matrix \\(D\\) for \\(DND^{-1}\\) then has the structure \\(D = \tex
|
|||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_dk_iter_d_scale.png" caption="<span class=\"figure-number\">Figure 35: </span>Change in D-scale \\(d\_1\\) during DK-iteration" >}}
|
{{< figure src="/ox-hugo/skogestad07_dk_iter_d_scale.png" caption="<span class=\"figure-number\">Figure 35: </span>Change in D-scale \\(d\_1\\) during DK-iteration" >}}
|
||||||
|
|
||||||
The final \\(\mu\text{-curves}\\) for NP, RS and RP with the controller \\(K\_3\\) are shown in Fig. [36](#figure--fig:mu-plot-optimal-k3).
|
The final \\(\mu\text{-curves}\\) for NP, RS and RP with the controller \\(K\_3\\) are shown in [36](#figure--fig:mu-plot-optimal-k3).
|
||||||
The objectives of RS and NP are easily satisfied.
|
The objectives of RS and NP are easily satisfied.
|
||||||
The peak value of \\(\mu\\) is just slightly over 1, so the performance specification \\(\overline{\sigma}(w\_P S\_p) < 1\\) is almost satisfied for all possible plants.
|
The peak value of \\(\mu\\) is just slightly over 1, so the performance specification \\(\overline{\sigma}(w\_P S\_p) < 1\\) is almost satisfied for all possible plants.
|
||||||
|
|
||||||
@ -4617,7 +4617,7 @@ The peak value of \\(\mu\\) is just slightly over 1, so the performance specific
|
|||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_mu_plot_optimal_k3.png" caption="<span class=\"figure-number\">Figure 36: </span>\\(mu\text{-plots}\\) with \\(\mu\\) \"optimal\" controller \\(K\_3\\)" >}}
|
{{< figure src="/ox-hugo/skogestad07_mu_plot_optimal_k3.png" caption="<span class=\"figure-number\">Figure 36: </span>\\(mu\text{-plots}\\) with \\(\mu\\) \"optimal\" controller \\(K\_3\\)" >}}
|
||||||
|
|
||||||
To confirm that, 6 perturbed plants are used to compute the perturbed sensitivity functions shown in Fig. [37](#figure--fig:perturb-s-k3).
|
To confirm that, 6 perturbed plants are used to compute the perturbed sensitivity functions shown in [37](#figure--fig:perturb-s-k3).
|
||||||
|
|
||||||
<a id="figure--fig:perturb-s-k3"></a>
|
<a id="figure--fig:perturb-s-k3"></a>
|
||||||
|
|
||||||
@ -4686,7 +4686,7 @@ If resulting control performance is not satisfactory, one may switch to the seco
|
|||||||
|
|
||||||
## Controller Design {#controller-design}
|
## Controller Design {#controller-design}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:controller_design"></span>
|
<span class="org-target" id="org-target--sec-controller-design"></span>
|
||||||
|
|
||||||
|
|
||||||
### Trade-offs in MIMO Feedback Design {#trade-offs-in-mimo-feedback-design}
|
### Trade-offs in MIMO Feedback Design {#trade-offs-in-mimo-feedback-design}
|
||||||
@ -4696,7 +4696,7 @@ By multivariable transfer function shaping, therefore, we mean the shaping of th
|
|||||||
|
|
||||||
The classical loop-shaping ideas can be further generalized to MIMO systems by considering the singular values.
|
The classical loop-shaping ideas can be further generalized to MIMO systems by considering the singular values.
|
||||||
|
|
||||||
Consider the one degree-of-freedom system as shown in Fig. [38](#figure--fig:classical-feedback-small).
|
Consider the one degree-of-freedom system as shown in [38](#figure--fig:classical-feedback-small).
|
||||||
We have the following important relationships:
|
We have the following important relationships:
|
||||||
|
|
||||||
\begin{align}
|
\begin{align}
|
||||||
@ -4750,7 +4750,7 @@ Thus, over specified frequency ranges, it is relatively easy to approximate the
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Typically, the open-loop requirements 1 and 3 are valid and important at low frequencies \\(0 \le \omega \le \omega\_l \le \omega\_B\\), while conditions 2, 4, 5 and 6 are conditions which are valid and important at high frequencies \\(\omega\_B \le \omega\_h \le \omega \le \infty\\), as illustrated in Fig. [39](#figure--fig:design-trade-off-mimo-gk).
|
Typically, the open-loop requirements 1 and 3 are valid and important at low frequencies \\(0 \le \omega \le \omega\_l \le \omega\_B\\), while conditions 2, 4, 5 and 6 are conditions which are valid and important at high frequencies \\(\omega\_B \le \omega\_h \le \omega \le \infty\\), as illustrated in [39](#figure--fig:design-trade-off-mimo-gk).
|
||||||
|
|
||||||
<a id="figure--fig:design-trade-off-mimo-gk"></a>
|
<a id="figure--fig:design-trade-off-mimo-gk"></a>
|
||||||
|
|
||||||
@ -4810,7 +4810,7 @@ The optimal state estimate is given by a **Kalman filter**.
|
|||||||
|
|
||||||
The solution to the LQG problem is then found by replacing \\(x\\) by \\(\hat{x}\\) to give \\(u(t) = -K\_r \hat{x}\\).
|
The solution to the LQG problem is then found by replacing \\(x\\) by \\(\hat{x}\\) to give \\(u(t) = -K\_r \hat{x}\\).
|
||||||
|
|
||||||
We therefore see that the LQG problem and its solution can be separated into two distinct parts as illustrated in Fig. [40](#figure--fig:lqg-separation): the optimal state feedback and the optimal state estimator (the Kalman filter).
|
We therefore see that the LQG problem and its solution can be separated into two distinct parts as illustrated in [40](#figure--fig:lqg-separation): the optimal state feedback and the optimal state estimator (the Kalman filter).
|
||||||
|
|
||||||
<a id="figure--fig:lqg-separation"></a>
|
<a id="figure--fig:lqg-separation"></a>
|
||||||
|
|
||||||
@ -4842,7 +4842,7 @@ and \\(X\\) is the unique positive-semi definite solution of the algebraic Ricca
|
|||||||
|
|
||||||
<div class="important">
|
<div class="important">
|
||||||
|
|
||||||
The **Kalman filter** has the structure of an ordinary state-estimator, as shown on Fig. [41](#figure--fig:lqg-kalman-filter), with:
|
The **Kalman filter** has the structure of an ordinary state-estimator, as shown on [41](#figure--fig:lqg-kalman-filter), with:
|
||||||
|
|
||||||
\begin{equation} \label{eq:kalman\_filter\_structure}
|
\begin{equation} \label{eq:kalman\_filter\_structure}
|
||||||
\dot{\hat{x}} = A\hat{x} + Bu + K\_f(y-C\hat{x})
|
\dot{\hat{x}} = A\hat{x} + Bu + K\_f(y-C\hat{x})
|
||||||
@ -4866,7 +4866,7 @@ Where \\(Y\\) is the unique positive-semi definite solution of the algebraic Ric
|
|||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_lqg_kalman_filter.png" caption="<span class=\"figure-number\">Figure 41: </span>The LQG controller and noisy plant" >}}
|
{{< figure src="/ox-hugo/skogestad07_lqg_kalman_filter.png" caption="<span class=\"figure-number\">Figure 41: </span>The LQG controller and noisy plant" >}}
|
||||||
|
|
||||||
The structure of the LQG controller is illustrated in Fig. [41](#figure--fig:lqg-kalman-filter), its transfer function from \\(y\\) to \\(u\\) is given by
|
The structure of the LQG controller is illustrated in [41](#figure--fig:lqg-kalman-filter), its transfer function from \\(y\\) to \\(u\\) is given by
|
||||||
|
|
||||||
\begin{align\*}
|
\begin{align\*}
|
||||||
L\_{\text{LQG}}(s) &= \left[ \begin{array}{c|c}
|
L\_{\text{LQG}}(s) &= \left[ \begin{array}{c|c}
|
||||||
@ -4881,7 +4881,7 @@ The structure of the LQG controller is illustrated in Fig. [41](#figure--fi
|
|||||||
|
|
||||||
It has the same degree (number of poles) as the plant.<br />
|
It has the same degree (number of poles) as the plant.<br />
|
||||||
|
|
||||||
For the LQG-controller, as shown on Fig. [41](#figure--fig:lqg-kalman-filter), it is not easy to see where to position the reference input \\(r\\) and how integral action may be included, if desired. Indeed, the standard LQG design procedure does not give a controller with integral action. One strategy is illustrated in Fig. [42](#figure--fig:lqg-integral). Here, the control error \\(r-y\\) is integrated and the regulator \\(K\_r\\) is designed for the plant augmented with these integral states.
|
For the LQG-controller, as shown on [41](#figure--fig:lqg-kalman-filter), it is not easy to see where to position the reference input \\(r\\) and how integral action may be included, if desired. Indeed, the standard LQG design procedure does not give a controller with integral action. One strategy is illustrated in [42](#figure--fig:lqg-integral). Here, the control error \\(r-y\\) is integrated and the regulator \\(K\_r\\) is designed for the plant augmented with these integral states.
|
||||||
|
|
||||||
<a id="figure--fig:lqg-integral"></a>
|
<a id="figure--fig:lqg-integral"></a>
|
||||||
|
|
||||||
@ -4896,16 +4896,16 @@ Their main limitation is that they can only be applied to minimum phase plants.
|
|||||||
|
|
||||||
### \\(\htwo\\) and \\(\hinf\\) Control {#htwo-and-hinf-control}
|
### \\(\htwo\\) and \\(\hinf\\) Control {#htwo-and-hinf-control}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:htwo_and_hinf"></span>
|
<span class="org-target" id="org-target--sec-htwo-and-hinf"></span>
|
||||||
|
|
||||||
|
|
||||||
#### General Control Problem Formulation {#general-control-problem-formulation}
|
#### General Control Problem Formulation {#general-control-problem-formulation}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:htwo_inf_assumptions"></span>
|
<span class="org-target" id="org-target--sec-htwo-inf-assumptions"></span>
|
||||||
There are many ways in which feedback design problems can be cast as \\(\htwo\\) and \\(\hinf\\) optimization problems.
|
There are many ways in which feedback design problems can be cast as \\(\htwo\\) and \\(\hinf\\) optimization problems.
|
||||||
It is very useful therefore to have a **standard problem formulation** into which any particular problem may be manipulated.
|
It is very useful therefore to have a **standard problem formulation** into which any particular problem may be manipulated.
|
||||||
|
|
||||||
Such a general formulation is afforded by the general configuration shown in Fig. [43](#figure--fig:general-control).
|
Such a general formulation is afforded by the general configuration shown in [43](#figure--fig:general-control).
|
||||||
|
|
||||||
<a id="figure--fig:general-control"></a>
|
<a id="figure--fig:general-control"></a>
|
||||||
|
|
||||||
@ -5085,7 +5085,7 @@ Then the LQG cost function is
|
|||||||
|
|
||||||
#### \\(\hinf\\) Optimal Control {#hinf-optimal-control}
|
#### \\(\hinf\\) Optimal Control {#hinf-optimal-control}
|
||||||
|
|
||||||
With reference to the general control configuration on Fig. [43](#figure--fig:general-control), the standard \\(\hinf\\) optimal control problem is to find all stabilizing controllers \\(K\\) which minimize
|
With reference to the general control configuration on [43](#figure--fig:general-control), the standard \\(\hinf\\) optimal control problem is to find all stabilizing controllers \\(K\\) which minimize
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
\hnorm{F\_l(P, K)} = \max\_{\omega} \maxsv\big(F\_l(P, K)(j\omega)\big)
|
\hnorm{F\_l(P, K)} = \max\_{\omega} \maxsv\big(F\_l(P, K)(j\omega)\big)
|
||||||
@ -5196,7 +5196,7 @@ In general, the scalar weighting functions \\(w\_1(s)\\) and \\(w\_2(s)\\) can b
|
|||||||
This can be useful for **systems with channels of quite different bandwidths**.
|
This can be useful for **systems with channels of quite different bandwidths**.
|
||||||
In that case, **diagonal weights are recommended** as anything more complicated is usually not worth the effort.<br />
|
In that case, **diagonal weights are recommended** as anything more complicated is usually not worth the effort.<br />
|
||||||
|
|
||||||
To see how this mixed sensitivity problem can be formulated in the general setting, we can imagine the disturbance \\(d\\) as a single exogenous input and define and error signal \\(z = [z\_1^T\ z\_2^T]^T\\), where \\(z\_1 = W\_1 y\\) and \\(z\_2 = -W\_2 u\\) as illustrated in Fig. [44](#figure--fig:mixed-sensitivity-dist-rejection).
|
To see how this mixed sensitivity problem can be formulated in the general setting, we can imagine the disturbance \\(d\\) as a single exogenous input and define and error signal \\(z = [z\_1^T\ z\_2^T]^T\\), where \\(z\_1 = W\_1 y\\) and \\(z\_2 = -W\_2 u\\) as illustrated in [44](#figure--fig:mixed-sensitivity-dist-rejection).
|
||||||
We can then see that \\(z\_1 = W\_1 S w\\) and \\(z\_2 = W\_2 KS w\\) as required.
|
We can then see that \\(z\_1 = W\_1 S w\\) and \\(z\_2 = W\_2 KS w\\) as required.
|
||||||
The elements of the generalized plant are
|
The elements of the generalized plant are
|
||||||
|
|
||||||
@ -5217,10 +5217,10 @@ The elements of the generalized plant are
|
|||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_mixed_sensitivity_dist_rejection.png" caption="<span class=\"figure-number\">Figure 44: </span>\\(S/KS\\) mixed-sensitivity optimization in standard form (regulation)" >}}
|
{{< figure src="/ox-hugo/skogestad07_mixed_sensitivity_dist_rejection.png" caption="<span class=\"figure-number\">Figure 44: </span>\\(S/KS\\) mixed-sensitivity optimization in standard form (regulation)" >}}
|
||||||
|
|
||||||
Another interpretation can be put on the \\(S/KS\\) mixed-sensitivity optimization as shown in the standard control configuration of Fig. [45](#figure--fig:mixed-sensitivity-ref-tracking).
|
Another interpretation can be put on the \\(S/KS\\) mixed-sensitivity optimization as shown in the standard control configuration of [45](#figure--fig:mixed-sensitivity-ref-tracking).
|
||||||
Here we consider a tracking problem.
|
Here we consider a tracking problem.
|
||||||
The exogenous input is a reference command \\(r\\), and the error signals are \\(z\_1 = -W\_1 e = W\_1 (r-y)\\) and \\(z\_2 = W\_2 u\\).
|
The exogenous input is a reference command \\(r\\), and the error signals are \\(z\_1 = -W\_1 e = W\_1 (r-y)\\) and \\(z\_2 = W\_2 u\\).
|
||||||
As the regulation problem of Fig. [44](#figure--fig:mixed-sensitivity-dist-rejection), we have that \\(z\_1 = W\_1 S w\\) and \\(z\_2 = W\_2 KS w\\).
|
As the regulation problem of [44](#figure--fig:mixed-sensitivity-dist-rejection), we have that \\(z\_1 = W\_1 S w\\) and \\(z\_2 = W\_2 KS w\\).
|
||||||
|
|
||||||
<a id="figure--fig:mixed-sensitivity-ref-tracking"></a>
|
<a id="figure--fig:mixed-sensitivity-ref-tracking"></a>
|
||||||
|
|
||||||
@ -5235,7 +5235,7 @@ Another useful mixed sensitivity optimization problem, is to find a stabilizing
|
|||||||
The ability to shape \\(T\\) is desirable for tracking problems and noise attenuation.
|
The ability to shape \\(T\\) is desirable for tracking problems and noise attenuation.
|
||||||
It is also important for robust stability with respect to multiplicative perturbations at the plant output.
|
It is also important for robust stability with respect to multiplicative perturbations at the plant output.
|
||||||
|
|
||||||
The \\(S/T\\) mixed-sensitivity minimization problem can be put into the standard control configuration as shown in Fig. [46](#figure--fig:mixed-sensitivity-s-t).
|
The \\(S/T\\) mixed-sensitivity minimization problem can be put into the standard control configuration as shown in [46](#figure--fig:mixed-sensitivity-s-t).
|
||||||
|
|
||||||
The elements of the generalized plant are
|
The elements of the generalized plant are
|
||||||
|
|
||||||
@ -5277,7 +5277,7 @@ The focus of attention has moved to the size of signals and away from the size a
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
Weights are used to describe the expected or known frequency content of exogenous signals and the desired frequency content of error signals.
|
Weights are used to describe the expected or known frequency content of exogenous signals and the desired frequency content of error signals.
|
||||||
Weights are also used if a perturbation is used to model uncertainty, as in Fig. [47](#figure--fig:input-uncertainty-hinf), where \\(G\\) represents the nominal model, \\(W\\) is a weighting function that captures the relative model fidelity over frequency, and \\(\Delta\\) represents unmodelled dynamics usually normalized such that \\(\hnorm{\Delta} < 1\\).
|
Weights are also used if a perturbation is used to model uncertainty, as in [47](#figure--fig:input-uncertainty-hinf), where \\(G\\) represents the nominal model, \\(W\\) is a weighting function that captures the relative model fidelity over frequency, and \\(\Delta\\) represents unmodelled dynamics usually normalized such that \\(\hnorm{\Delta} < 1\\).
|
||||||
|
|
||||||
<a id="figure--fig:input-uncertainty-hinf"></a>
|
<a id="figure--fig:input-uncertainty-hinf"></a>
|
||||||
|
|
||||||
@ -5288,9 +5288,9 @@ As we have seen, the weights \\(Q\\) and \\(R\\) are constant, but LQG can be ge
|
|||||||
|
|
||||||
When we consider a system's response to persistent sinusoidal signals of varying frequency, or when we consider the induced 2-norm between the exogenous input signals and the error signals, we are required to minimize the \\(\hinf\\) norm.
|
When we consider a system's response to persistent sinusoidal signals of varying frequency, or when we consider the induced 2-norm between the exogenous input signals and the error signals, we are required to minimize the \\(\hinf\\) norm.
|
||||||
In the absence of model uncertainty, there does not appear to be an overwhelming case for using the \\(\hinf\\) norm rather than the more traditional \\(\htwo\\) norm.
|
In the absence of model uncertainty, there does not appear to be an overwhelming case for using the \\(\hinf\\) norm rather than the more traditional \\(\htwo\\) norm.
|
||||||
However, when uncertainty is addressed, as it always should be, \\(\hinf\\) is clearly the more **natural approach** using component uncertainty models as in Fig. [47](#figure--fig:input-uncertainty-hinf).<br />
|
However, when uncertainty is addressed, as it always should be, \\(\hinf\\) is clearly the more **natural approach** using component uncertainty models as in [47](#figure--fig:input-uncertainty-hinf).<br />
|
||||||
|
|
||||||
A typical problem using the signal-based approach to \\(\hinf\\) control is illustrated in the interconnection diagram of Fig. [48](#figure--fig:hinf-signal-based).
|
A typical problem using the signal-based approach to \\(\hinf\\) control is illustrated in the interconnection diagram of [48](#figure--fig:hinf-signal-based).
|
||||||
\\(G\\) and \\(G\_d\\) are nominal models of the plant and disturbance dynamics, and \\(K\\) is the controller to be designed.
|
\\(G\\) and \\(G\_d\\) are nominal models of the plant and disturbance dynamics, and \\(K\\) is the controller to be designed.
|
||||||
The weights \\(W\_d\\), \\(W\_r\\), and \\(W\_n\\) may be constant or dynamic and describe the relative importance and/or the frequency content of the disturbance, set points and noise signals.
|
The weights \\(W\_d\\), \\(W\_r\\), and \\(W\_n\\) may be constant or dynamic and describe the relative importance and/or the frequency content of the disturbance, set points and noise signals.
|
||||||
The weight \\(W\_\text{ref}\\) is a desired closed-loop transfer function between the weighted set point \\(r\_s\\) and the actual output \\(y\\).
|
The weight \\(W\_\text{ref}\\) is a desired closed-loop transfer function between the weighted set point \\(r\_s\\) and the actual output \\(y\\).
|
||||||
@ -5315,7 +5315,7 @@ The problem can be cast as a standard \\(\hinf\\) optimization in the general co
|
|||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_hinf_signal_based.png" caption="<span class=\"figure-number\">Figure 48: </span>A signal-based \\(\hinf\\) control problem" >}}
|
{{< figure src="/ox-hugo/skogestad07_hinf_signal_based.png" caption="<span class=\"figure-number\">Figure 48: </span>A signal-based \\(\hinf\\) control problem" >}}
|
||||||
|
|
||||||
Suppose we now introduce a multiplicative dynamic uncertainty model at the input to the plant as shown in Fig. [49](#figure--fig:hinf-signal-based-uncertainty).
|
Suppose we now introduce a multiplicative dynamic uncertainty model at the input to the plant as shown in [49](#figure--fig:hinf-signal-based-uncertainty).
|
||||||
The problem we now want to solve is: find a stabilizing controller \\(K\\) such that the \\(\hinf\\) norm of the transfer function between \\(w\\) and \\(z\\) is less that 1 for all \\(\Delta\\) where \\(\hnorm{\Delta} < 1\\).
|
The problem we now want to solve is: find a stabilizing controller \\(K\\) such that the \\(\hinf\\) norm of the transfer function between \\(w\\) and \\(z\\) is less that 1 for all \\(\Delta\\) where \\(\hnorm{\Delta} < 1\\).
|
||||||
We have assumed in this statement that the **signal weights have normalized the 2-norm of the exogenous input signals to unity**.
|
We have assumed in this statement that the **signal weights have normalized the 2-norm of the exogenous input signals to unity**.
|
||||||
This problem is a non-standard \\(\hinf\\) optimization.
|
This problem is a non-standard \\(\hinf\\) optimization.
|
||||||
@ -5378,7 +5378,7 @@ The objective of robust stabilization is to stabilize not only the nominal model
|
|||||||
|
|
||||||
where \\(\epsilon > 0\\) is then the **stability margin**.<br />
|
where \\(\epsilon > 0\\) is then the **stability margin**.<br />
|
||||||
|
|
||||||
For the perturbed feedback system of Fig. [50](#figure--fig:coprime-uncertainty-bis), the stability property is robust if and only if the nominal feedback system is stable and
|
For the perturbed feedback system of [50](#figure--fig:coprime-uncertainty-bis), the stability property is robust if and only if the nominal feedback system is stable and
|
||||||
|
|
||||||
\begin{equation\*}
|
\begin{equation\*}
|
||||||
\gamma \triangleq \hnorm{\begin{bmatrix}
|
\gamma \triangleq \hnorm{\begin{bmatrix}
|
||||||
@ -5445,7 +5445,7 @@ It is important to emphasize that since we can compute \\(\gamma\_\text{min}\\)
|
|||||||
|
|
||||||
#### A Systematic \\(\hinf\\) Loop-Shaping Design Procedure {#a-systematic-hinf-loop-shaping-design-procedure}
|
#### A Systematic \\(\hinf\\) Loop-Shaping Design Procedure {#a-systematic-hinf-loop-shaping-design-procedure}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:hinf_loop_shaping_procedure"></span>
|
<span class="org-target" id="org-target--sec-hinf-loop-shaping-procedure"></span>
|
||||||
Robust stabilization alone is not much used in practice because the designer is not able to specify any performance requirements.
|
Robust stabilization alone is not much used in practice because the designer is not able to specify any performance requirements.
|
||||||
|
|
||||||
To do so, **pre and post compensators** are used to **shape the open-loop singular values** prior to robust stabilization of the "shaped" plant.
|
To do so, **pre and post compensators** are used to **shape the open-loop singular values** prior to robust stabilization of the "shaped" plant.
|
||||||
@ -5456,7 +5456,7 @@ If \\(W\_1\\) and \\(W\_2\\) are the pre and post compensators respectively, the
|
|||||||
G\_s = W\_2 G W\_1
|
G\_s = W\_2 G W\_1
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
as shown in Fig. [51](#figure--fig:shaped-plant).
|
as shown in [51](#figure--fig:shaped-plant).
|
||||||
|
|
||||||
<a id="figure--fig:shaped-plant"></a>
|
<a id="figure--fig:shaped-plant"></a>
|
||||||
|
|
||||||
@ -5491,7 +5491,7 @@ Systematic procedure for \\(\hinf\\) loop-shaping design:
|
|||||||
- A small value of \\(\epsilon\_{\text{max}}\\) indicates that the chosen singular value loop-shapes are incompatible with robust stability requirements
|
- A small value of \\(\epsilon\_{\text{max}}\\) indicates that the chosen singular value loop-shapes are incompatible with robust stability requirements
|
||||||
7. **Analyze the design** and if not all the specification are met, make further modifications to the weights
|
7. **Analyze the design** and if not all the specification are met, make further modifications to the weights
|
||||||
8. **Implement the controller**.
|
8. **Implement the controller**.
|
||||||
The configuration shown in Fig. [52](#figure--fig:shapping-practical-implementation) has been found useful when compared with the conventional setup in Fig. [38](#figure--fig:classical-feedback-small).
|
The configuration shown in [52](#figure--fig:shapping-practical-implementation) has been found useful when compared with the conventional setup in [38](#figure--fig:classical-feedback-small).
|
||||||
This is because the references do not directly excite the dynamics of \\(K\_s\\), which can result in large amounts of overshoot.
|
This is because the references do not directly excite the dynamics of \\(K\_s\\), which can result in large amounts of overshoot.
|
||||||
The constant prefilter ensure a steady-state gain of \\(1\\) between \\(r\\) and \\(y\\), assuming integral action in \\(W\_1\\) or \\(G\\)
|
The constant prefilter ensure a steady-state gain of \\(1\\) between \\(r\\) and \\(y\\), assuming integral action in \\(W\_1\\) or \\(G\\)
|
||||||
|
|
||||||
@ -5518,17 +5518,17 @@ Many control design problems possess two degrees-of-freedom:
|
|||||||
Sometimes, one degree-of-freedom is left out of the design, and the controller is driven by an error signal i.e. the difference between a command and the output.
|
Sometimes, one degree-of-freedom is left out of the design, and the controller is driven by an error signal i.e. the difference between a command and the output.
|
||||||
But in cases where stringent time-domain specifications are set on the output response, a one degree-of-freedom structure may not be sufficient.<br />
|
But in cases where stringent time-domain specifications are set on the output response, a one degree-of-freedom structure may not be sufficient.<br />
|
||||||
|
|
||||||
A general two degrees-of-freedom feedback control scheme is depicted in Fig. [53](#figure--fig:classical-feedback-2dof-simple).
|
A general two degrees-of-freedom feedback control scheme is depicted in [53](#figure--fig:classical-feedback-2dof-simple).
|
||||||
The commands and feedbacks enter the controller separately and are independently processed.
|
The commands and feedbacks enter the controller separately and are independently processed.
|
||||||
|
|
||||||
<a id="figure--fig:classical-feedback-2dof-simple"></a>
|
<a id="figure--fig:classical-feedback-2dof-simple"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_classical_feedback_2dof_simple.png" caption="<span class=\"figure-number\">Figure 53: </span>General two degrees-of-freedom feedback control scheme" >}}
|
{{< figure src="/ox-hugo/skogestad07_classical_feedback_2dof_simple.png" caption="<span class=\"figure-number\">Figure 53: </span>General two degrees-of-freedom feedback control scheme" >}}
|
||||||
|
|
||||||
The presented \\(\mathcal{H}\_\infty\\) loop-shaping design procedure in section is a one-degree-of-freedom design, although a **constant** pre-filter can be easily implemented for steady-state accuracy.
|
The presented \\(\mathcal{H}\_\infty\\) loop-shaping design procedure in section is a one-degree-of-freedom design, although a **constant** pre-filter can be easily implemented for steady-state accuracy.
|
||||||
However, this may not be sufficient and a dynamic two degrees-of-freedom design is required.<br />
|
However, this may not be sufficient and a dynamic two degrees-of-freedom design is required.<br />
|
||||||
|
|
||||||
The design problem is illustrated in Fig. [54](#figure--fig:coprime-uncertainty-hinf).
|
The design problem is illustrated in [54](#figure--fig:coprime-uncertainty-hinf).
|
||||||
The feedback part of the controller \\(K\_2\\) is designed to meet robust stability and disturbance rejection requirements.
|
The feedback part of the controller \\(K\_2\\) is designed to meet robust stability and disturbance rejection requirements.
|
||||||
A prefilter is introduced to force the response of the closed-loop system to follow that of a specified model \\(T\_{\text{ref}}\\), often called the **reference model**.
|
A prefilter is introduced to force the response of the closed-loop system to follow that of a specified model \\(T\_{\text{ref}}\\), often called the **reference model**.
|
||||||
|
|
||||||
@ -5536,7 +5536,7 @@ A prefilter is introduced to force the response of the closed-loop system to fol
|
|||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_coprime_uncertainty_hinf.png" caption="<span class=\"figure-number\">Figure 54: </span>Two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping design problem" >}}
|
{{< figure src="/ox-hugo/skogestad07_coprime_uncertainty_hinf.png" caption="<span class=\"figure-number\">Figure 54: </span>Two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping design problem" >}}
|
||||||
|
|
||||||
The design problem is to find the stabilizing controller \\(K = [K\_1,\ K\_2]\\) for the shaped plant \\(G\_s = G W\_1\\), with a normalized coprime factorization \\(G\_s = M\_s^{-1} N\_s\\), which minimizes the \\(\mathcal{H}\_\infty\\) norm of the transfer function between the signals \\([r^T\ \phi^T]^T\\) and \\([u\_s^T\ y^T\ e^T]^T\\) as defined in Fig. [54](#figure--fig:coprime-uncertainty-hinf).
|
The design problem is to find the stabilizing controller \\(K = [K\_1,\ K\_2]\\) for the shaped plant \\(G\_s = G W\_1\\), with a normalized coprime factorization \\(G\_s = M\_s^{-1} N\_s\\), which minimizes the \\(\mathcal{H}\_\infty\\) norm of the transfer function between the signals \\([r^T\ \phi^T]^T\\) and \\([u\_s^T\ y^T\ e^T]^T\\) as defined in [54](#figure--fig:coprime-uncertainty-hinf).
|
||||||
This problem is easily cast into the general configuration.
|
This problem is easily cast into the general configuration.
|
||||||
|
|
||||||
The control signal to the shaped plant \\(u\_s\\) is given by:
|
The control signal to the shaped plant \\(u\_s\\) is given by:
|
||||||
@ -5559,14 +5559,14 @@ The purpose of the prefilter is to ensure that:
|
|||||||
|
|
||||||
The main steps required to synthesize a two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller are:
|
The main steps required to synthesize a two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller are:
|
||||||
|
|
||||||
1. Design a one degree-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller (section ) but without a post-compensator \\(W\_2\\)
|
1. Design a one degree-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller (section ) but without a post-compensator \\(W\_2\\)
|
||||||
2. Select a desired closed-loop transfer function \\(T\_{\text{ref}}\\) between the commands and controller outputs
|
2. Select a desired closed-loop transfer function \\(T\_{\text{ref}}\\) between the commands and controller outputs
|
||||||
3. Set the scalar parameter \\(\rho\\) to a small value greater than \\(1\\); something in the range \\(1\\) to \\(3\\) will usually suffice
|
3. Set the scalar parameter \\(\rho\\) to a small value greater than \\(1\\); something in the range \\(1\\) to \\(3\\) will usually suffice
|
||||||
4. For the shaped \\(G\_s = G W\_1\\), the desired response \\(T\_{\text{ref}}\\), and the scalar parameter \\(\rho\\), solve the standard \\(\mathcal{H}\_\infty\\) optimization problem to a specified tolerance to get \\(K = [K\_1,\ K\_2]\\)
|
4. For the shaped \\(G\_s = G W\_1\\), the desired response \\(T\_{\text{ref}}\\), and the scalar parameter \\(\rho\\), solve the standard \\(\mathcal{H}\_\infty\\) optimization problem to a specified tolerance to get \\(K = [K\_1,\ K\_2]\\)
|
||||||
5. Replace the prefilter \\(K\_1\\) by \\(K\_1 W\_i\\) to give exact model-matching at steady-state.
|
5. Replace the prefilter \\(K\_1\\) by \\(K\_1 W\_i\\) to give exact model-matching at steady-state.
|
||||||
6. Analyze and, if required, redesign making adjustments to \\(\rho\\) and possibly \\(W\_1\\) and \\(T\_{\text{ref}}\\)
|
6. Analyze and, if required, redesign making adjustments to \\(\rho\\) and possibly \\(W\_1\\) and \\(T\_{\text{ref}}\\)
|
||||||
|
|
||||||
The final two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller is illustrated in Fig. [55](#figure--fig:hinf-synthesis-2dof).
|
The final two degrees-of-freedom \\(\mathcal{H}\_\infty\\) loop-shaping controller is illustrated in [55](#figure--fig:hinf-synthesis-2dof).
|
||||||
|
|
||||||
<a id="figure--fig:hinf-synthesis-2dof"></a>
|
<a id="figure--fig:hinf-synthesis-2dof"></a>
|
||||||
|
|
||||||
@ -5650,7 +5650,7 @@ When implemented in Hanus form, the expression for \\(u\\) becomes
|
|||||||
|
|
||||||
where \\(u\_a\\) is the **actual plant input**, that is the measurement at the **output of the actuators** which therefore contains information about possible actuator saturation.
|
where \\(u\_a\\) is the **actual plant input**, that is the measurement at the **output of the actuators** which therefore contains information about possible actuator saturation.
|
||||||
|
|
||||||
The situation is illustrated in Fig. [56](#figure--fig:weight-anti-windup), where the actuators are each modeled by a unit gain and a saturation.
|
The situation is illustrated in [56](#figure--fig:weight-anti-windup), where the actuators are each modeled by a unit gain and a saturation.
|
||||||
|
|
||||||
<a id="figure--fig:weight-anti-windup"></a>
|
<a id="figure--fig:weight-anti-windup"></a>
|
||||||
|
|
||||||
@ -5708,12 +5708,12 @@ Moreover, one should be careful about combining controller synthesis and analysi
|
|||||||
|
|
||||||
## Controller Structure Design {#controller-structure-design}
|
## Controller Structure Design {#controller-structure-design}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:controller_structure_design"></span>
|
<span class="org-target" id="org-target--sec-controller-structure-design"></span>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
|
|
||||||
In previous sections, we considered the general problem formulation in Fig. [57](#figure--fig:general-control-names-bis) and stated that the controller design problem is to find a controller \\(K\\) which based on the information in \\(v\\), generates a control signal \\(u\\) which counteracts the influence of \\(w\\) on \\(z\\), thereby minimizing the closed loop norm from \\(w\\) to \\(z\\).
|
In previous sections, we considered the general problem formulation in [57](#figure--fig:general-control-names-bis) and stated that the controller design problem is to find a controller \\(K\\) which based on the information in \\(v\\), generates a control signal \\(u\\) which counteracts the influence of \\(w\\) on \\(z\\), thereby minimizing the closed loop norm from \\(w\\) to \\(z\\).
|
||||||
|
|
||||||
<a id="figure--fig:general-control-names-bis"></a>
|
<a id="figure--fig:general-control-names-bis"></a>
|
||||||
|
|
||||||
@ -5748,31 +5748,31 @@ The reference value \\(r\\) is usually set at some higher layer in the control h
|
|||||||
- **Optimization layer**: computes the desired reference commands \\(r\\)
|
- **Optimization layer**: computes the desired reference commands \\(r\\)
|
||||||
- **Control layer**: implements these commands to achieve \\(y \approx r\\)
|
- **Control layer**: implements these commands to achieve \\(y \approx r\\)
|
||||||
|
|
||||||
Additional layers are possible, as is illustrated in Fig. [58](#figure--fig:control-system-hierarchy) which shows a typical control hierarchy for a chemical plant.
|
Additional layers are possible, as is illustrated in [58](#figure--fig:control-system-hierarchy) which shows a typical control hierarchy for a chemical plant.
|
||||||
|
|
||||||
<a id="figure--fig:control-system-hierarchy"></a>
|
<a id="figure--fig:control-system-hierarchy"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/skogestad07_system_hierarchy.png" caption="<span class=\"figure-number\">Figure 58: </span>Typical control system hierarchy in a chemical plant" >}}
|
{{< figure src="/ox-hugo/skogestad07_system_hierarchy.png" caption="<span class=\"figure-number\">Figure 58: </span>Typical control system hierarchy in a chemical plant" >}}
|
||||||
|
|
||||||
In general, the information flow in such a control hierarchy is based on the higher layer sending reference values (setpoints) to the layer below reporting back any problems achieving this (see Fig. [6](#org-target--fig:optimize_control_b)).
|
In general, the information flow in such a control hierarchy is based on the higher layer sending reference values (setpoints) to the layer below reporting back any problems achieving this (see [6](#org-target--fig-optimize-control-b)).
|
||||||
There is usually a time scale separation between the layers which means that the **setpoints**, as viewed from a given layer, are **updated only periodically**.<br />
|
There is usually a time scale separation between the layers which means that the **setpoints**, as viewed from a given layer, are **updated only periodically**.<br />
|
||||||
|
|
||||||
The optimization tends to be performed open-loop with limited use of feedback. On the other hand, the control layer is mainly based on feedback information.
|
The optimization tends to be performed open-loop with limited use of feedback. On the other hand, the control layer is mainly based on feedback information.
|
||||||
The **optimization is often based on nonlinear steady-state models**, whereas we often use **linear dynamic models in the control layer**.<br />
|
The **optimization is often based on nonlinear steady-state models**, whereas we often use **linear dynamic models in the control layer**.<br />
|
||||||
|
|
||||||
From a theoretical point of view, the optimal performance is obtained with a **centralized optimizing controller**, which combines the two layers of optimizing and control (see Fig. [6](#org-target--fig:optimize_control_c)).
|
From a theoretical point of view, the optimal performance is obtained with a **centralized optimizing controller**, which combines the two layers of optimizing and control (see [6](#org-target--fig-optimize-control-c)).
|
||||||
All control actions in such an ideal control system would be perfectly coordinated and the control system would use on-line dynamic optimization based on nonlinear dynamic model of the complete plant.
|
All control actions in such an ideal control system would be perfectly coordinated and the control system would use on-line dynamic optimization based on nonlinear dynamic model of the complete plant.
|
||||||
However, this solution is normally not used for a number a reasons, included the cost of modeling, the difficulty of controller design, maintenance, robustness problems and the lack of computing power.
|
However, this solution is normally not used for a number a reasons, included the cost of modeling, the difficulty of controller design, maintenance, robustness problems and the lack of computing power.
|
||||||
|
|
||||||
<a id="table--fig:optimize-control"></a>
|
<a id="table--fig:optimize-control"></a>
|
||||||
<div class="table-caption">
|
<div class="table-caption">
|
||||||
<span class="table-number"><a href="#table--fig:optimize-control">Table 6</a></span>:
|
<span class="table-number"><a href="#table--fig:optimize-control">Table 6</a>:</span>
|
||||||
Alternative structures for optimization and control
|
Alternative structures for optimization and control
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
| ![](/ox-hugo/skogestad07_optimize_control_a.png) | ![](/ox-hugo/skogestad07_optimize_control_b.png) | ![](/ox-hugo/skogestad07_optimize_control_c.png) |
|
| ![](/ox-hugo/skogestad07_optimize_control_a.png) | ![](/ox-hugo/skogestad07_optimize_control_b.png) | ![](/ox-hugo/skogestad07_optimize_control_c.png) |
|
||||||
|-------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|
|
|-------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|
|
||||||
| <span class="org-target" id="org-target--fig:optimize_control_a"></span> Open loop optimization | <span class="org-target" id="org-target--fig:optimize_control_b"></span> Closed-loop implementation with separate control layer | <span class="org-target" id="org-target--fig:optimize_control_c"></span> Integrated optimization and control |
|
| <span class="org-target" id="org-target--fig-optimize-control-a"></span> Open loop optimization | <span class="org-target" id="org-target--fig-optimize-control-b"></span> Closed-loop implementation with separate control layer | <span class="org-target" id="org-target--fig-optimize-control-c"></span> Integrated optimization and control |
|
||||||
|
|
||||||
|
|
||||||
### Selection of Controlled Outputs {#selection-of-controlled-outputs}
|
### Selection of Controlled Outputs {#selection-of-controlled-outputs}
|
||||||
@ -5885,7 +5885,7 @@ Thus, the selection of controlled and measured outputs are two separate issues.
|
|||||||
|
|
||||||
### Selection of Manipulations and Measurements {#selection-of-manipulations-and-measurements}
|
### Selection of Manipulations and Measurements {#selection-of-manipulations-and-measurements}
|
||||||
|
|
||||||
We are here concerned with the variable sets \\(u\\) and \\(v\\) in Fig. [57](#figure--fig:general-control-names-bis).
|
We are here concerned with the variable sets \\(u\\) and \\(v\\) in [57](#figure--fig:general-control-names-bis).
|
||||||
Note that **the measurements** \\(v\\) used by the controller **are in general different from the controlled variables** \\(z\\) because we may not be able to measure all the controlled variables and we may want to measure and control additional variables in order to:
|
Note that **the measurements** \\(v\\) used by the controller **are in general different from the controlled variables** \\(z\\) because we may not be able to measure all the controlled variables and we may want to measure and control additional variables in order to:
|
||||||
|
|
||||||
- Stabilize the plant, or more generally change its dynamics
|
- Stabilize the plant, or more generally change its dynamics
|
||||||
@ -5977,19 +5977,19 @@ Then when a SISO control loop is closed, we lose the input \\(u\_i\\) as a degre
|
|||||||
A cascade control structure results when either of the following two situations arise:
|
A cascade control structure results when either of the following two situations arise:
|
||||||
|
|
||||||
- The reference \\(r\_i\\) is an output from another controller.
|
- The reference \\(r\_i\\) is an output from another controller.
|
||||||
This is the **conventional cascade control** (Fig. [7](#org-target--fig:cascade_extra_meas))
|
This is the **conventional cascade control** ([7](#org-target--fig-cascade-extra-meas))
|
||||||
- The "measurement" \\(y\_i\\) is an output from another controller.
|
- The "measurement" \\(y\_i\\) is an output from another controller.
|
||||||
This is referred to as **input resetting** (Fig. [7](#org-target--fig:cascade_extra_input))
|
This is referred to as **input resetting** ([7](#org-target--fig-cascade-extra-input))
|
||||||
|
|
||||||
<a id="table--fig:cascade-implementation"></a>
|
<a id="table--fig:cascade-implementation"></a>
|
||||||
<div class="table-caption">
|
<div class="table-caption">
|
||||||
<span class="table-number"><a href="#table--fig:cascade-implementation">Table 7</a></span>:
|
<span class="table-number"><a href="#table--fig:cascade-implementation">Table 7</a>:</span>
|
||||||
Cascade Implementations
|
Cascade Implementations
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
| ![](/ox-hugo/skogestad07_cascade_extra_meas.png) | ![](/ox-hugo/skogestad07_cascade_extra_input.png) |
|
| ![](/ox-hugo/skogestad07_cascade_extra_meas.png) | ![](/ox-hugo/skogestad07_cascade_extra_input.png) |
|
||||||
|--------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
|
|--------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
|
||||||
| <span class="org-target" id="org-target--fig:cascade_extra_meas"></span> Extra measurements \\(y\_2\\) | <span class="org-target" id="org-target--fig:cascade_extra_input"></span> Extra inputs \\(u\_2\\) |
|
| <span class="org-target" id="org-target--fig-cascade-extra-meas"></span> Extra measurements \\(y\_2\\) | <span class="org-target" id="org-target--fig-cascade-extra-input"></span> Extra inputs \\(u\_2\\) |
|
||||||
|
|
||||||
|
|
||||||
#### Cascade Control: Extra Measurements {#cascade-control-extra-measurements}
|
#### Cascade Control: Extra Measurements {#cascade-control-extra-measurements}
|
||||||
@ -6013,7 +6013,7 @@ where in most cases \\(r\_2 = 0\\) since we do not have a degree-of-freedom to c
|
|||||||
|
|
||||||
##### Cascade implementation {#cascade-implementation}
|
##### Cascade implementation {#cascade-implementation}
|
||||||
|
|
||||||
To obtain an implementation with two SISO controllers, we may cascade the controllers as illustrated in Fig. [7](#org-target--fig:cascade_extra_meas):
|
To obtain an implementation with two SISO controllers, we may cascade the controllers as illustrated in [7](#org-target--fig-cascade-extra-meas):
|
||||||
|
|
||||||
\begin{align\*}
|
\begin{align\*}
|
||||||
r\_2 &= K\_1(s)(r\_1 - y\_1) \\\\
|
r\_2 &= K\_1(s)(r\_1 - y\_1) \\\\
|
||||||
@ -6023,12 +6023,12 @@ To obtain an implementation with two SISO controllers, we may cascade the contro
|
|||||||
Note that the output \\(r\_2\\) from the slower primary controller \\(K\_1\\) is not a manipulated plant input, but rather the reference input to the faster secondary controller \\(K\_2\\).
|
Note that the output \\(r\_2\\) from the slower primary controller \\(K\_1\\) is not a manipulated plant input, but rather the reference input to the faster secondary controller \\(K\_2\\).
|
||||||
Cascades based on measuring the actual manipulated variable (\\(y\_2 = u\_m\\)) are commonly used to **reduce uncertainty and non-linearity at the plant input**.
|
Cascades based on measuring the actual manipulated variable (\\(y\_2 = u\_m\\)) are commonly used to **reduce uncertainty and non-linearity at the plant input**.
|
||||||
|
|
||||||
In the general case (Fig. [7](#org-target--fig:cascade_extra_meas)) \\(y\_1\\) and \\(y\_2\\) are not directly related to each other, and this is sometimes referred to as _parallel cascade control_.
|
In the general case ([7](#org-target--fig-cascade-extra-meas)) \\(y\_1\\) and \\(y\_2\\) are not directly related to each other, and this is sometimes referred to as _parallel cascade control_.
|
||||||
However, it is common to encounter the situation in Fig. [59](#figure--fig:cascade-control) where the primary output \\(y\_1\\) depends directly on \\(y\_2\\) which is a special case of Fig. [7](#org-target--fig:cascade_extra_meas).
|
However, it is common to encounter the situation in [59](#figure--fig:cascade-control) where the primary output \\(y\_1\\) depends directly on \\(y\_2\\) which is a special case of [7](#org-target--fig-cascade-extra-meas).
|
||||||
|
|
||||||
<div class="important">
|
<div class="important">
|
||||||
|
|
||||||
With reference to the special (but common) case of cascade control shown in Fig. [59](#figure--fig:cascade-control), the use of **extra measurements** is useful under the following circumstances:
|
With reference to the special (but common) case of cascade control shown in [59](#figure--fig:cascade-control), the use of **extra measurements** is useful under the following circumstances:
|
||||||
|
|
||||||
- The disturbance \\(d\_2\\) is significant and \\(G\_1\\) is non-minimum phase.
|
- The disturbance \\(d\_2\\) is significant and \\(G\_1\\) is non-minimum phase.
|
||||||
If \\(G\_1\\) is minimum phase, the input-output controllability of \\(G\_2\\) and \\(G\_1 G\_2\\) are the same and there is no fundamental advantage in measuring \\(y\_2\\)
|
If \\(G\_1\\) is minimum phase, the input-output controllability of \\(G\_2\\) and \\(G\_1 G\_2\\) are the same and there is no fundamental advantage in measuring \\(y\_2\\)
|
||||||
@ -6065,7 +6065,7 @@ Then \\(u\_2(t)\\) will only be used for **transient control** and will return t
|
|||||||
|
|
||||||
##### Cascade implementation {#cascade-implementation}
|
##### Cascade implementation {#cascade-implementation}
|
||||||
|
|
||||||
To obtain an implementation with two SISO controllers we may cascade the controllers as shown in Fig. [7](#org-target--fig:cascade_extra_input).
|
To obtain an implementation with two SISO controllers we may cascade the controllers as shown in [7](#org-target--fig-cascade-extra-input).
|
||||||
We again let input \\(u\_2\\) take care of the **fast control** and \\(u\_1\\) of the **long-term control**.
|
We again let input \\(u\_2\\) take care of the **fast control** and \\(u\_1\\) of the **long-term control**.
|
||||||
The fast control loop is then
|
The fast control loop is then
|
||||||
|
|
||||||
@ -6086,7 +6086,7 @@ It also shows more clearly that \\(r\_{u\_2}\\), the reference for \\(u\_2\\), m
|
|||||||
|
|
||||||
<div class="exampl">
|
<div class="exampl">
|
||||||
|
|
||||||
Consider the system in Fig. [60](#figure--fig:cascade-control-two-layers) with two manipulated inputs (\\(u\_2\\) and \\(u\_3\\)), one controlled output (\\(y\_1\\) which should be close to \\(r\_1\\)) and two measured variables (\\(y\_1\\) and \\(y\_2\\)).
|
Consider the system in [60](#figure--fig:cascade-control-two-layers) with two manipulated inputs (\\(u\_2\\) and \\(u\_3\\)), one controlled output (\\(y\_1\\) which should be close to \\(r\_1\\)) and two measured variables (\\(y\_1\\) and \\(y\_2\\)).
|
||||||
Input \\(u\_2\\) has a more direct effect on \\(y\_1\\) than does input \\(u\_3\\) (there is a large delay in \\(G\_3(s)\\)).
|
Input \\(u\_2\\) has a more direct effect on \\(y\_1\\) than does input \\(u\_3\\) (there is a large delay in \\(G\_3(s)\\)).
|
||||||
Input \\(u\_2\\) should only be used for transient control as it is desirable that it remains close to \\(r\_3 = r\_{u\_2}\\).
|
Input \\(u\_2\\) should only be used for transient control as it is desirable that it remains close to \\(r\_3 = r\_{u\_2}\\).
|
||||||
The extra measurement \\(y\_2\\) is closer than \\(y\_1\\) to the input \\(u\_2\\) and may be useful for detecting disturbances affecting \\(G\_1\\).
|
The extra measurement \\(y\_2\\) is closer than \\(y\_1\\) to the input \\(u\_2\\) and may be useful for detecting disturbances affecting \\(G\_1\\).
|
||||||
@ -6173,7 +6173,7 @@ Four applications of partial control are:
|
|||||||
The outputs \\(y\_1\\) have an associated control objective but are not measured.
|
The outputs \\(y\_1\\) have an associated control objective but are not measured.
|
||||||
Instead, we aim at indirectly controlling \\(y\_1\\) by controlling the secondary measured variables \\(y\_2\\).
|
Instead, we aim at indirectly controlling \\(y\_1\\) by controlling the secondary measured variables \\(y\_2\\).
|
||||||
|
|
||||||
The table [8](#table--tab:partial-control) shows clearly the differences between the four applications of partial control.
|
The table [8](#table--tab:partial-control) shows clearly the differences between the four applications of partial control.
|
||||||
In all cases, there is a control objective associated with \\(y\_1\\) and a feedback involving measurement and control of \\(y\_2\\) and we want:
|
In all cases, there is a control objective associated with \\(y\_1\\) and a feedback involving measurement and control of \\(y\_2\\) and we want:
|
||||||
|
|
||||||
- The effect of disturbances on \\(y\_1\\) to be small (when \\(y\_2\\) is controlled)
|
- The effect of disturbances on \\(y\_1\\) to be small (when \\(y\_2\\) is controlled)
|
||||||
@ -6181,7 +6181,7 @@ In all cases, there is a control objective associated with \\(y\_1\\) and a feed
|
|||||||
|
|
||||||
<a id="table--tab:partial-control"></a>
|
<a id="table--tab:partial-control"></a>
|
||||||
<div class="table-caption">
|
<div class="table-caption">
|
||||||
<span class="table-number"><a href="#table--tab:partial-control">Table 8</a></span>:
|
<span class="table-number"><a href="#table--tab:partial-control">Table 8</a>:</span>
|
||||||
Applications of partial control
|
Applications of partial control
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -6201,7 +6201,7 @@ By partitioning the inputs and outputs, the overall model \\(y = G u\\) can be w
|
|||||||
\end{aligned}
|
\end{aligned}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Assume now that feedback control \\(u\_2 = K\_2(r\_2 - y\_2 - n\_2)\\) is used for the "secondary" subsystem involving \\(u\_2\\) and \\(y\_2\\) (Fig. [61](#figure--fig:partial-control)).
|
Assume now that feedback control \\(u\_2 = K\_2(r\_2 - y\_2 - n\_2)\\) is used for the "secondary" subsystem involving \\(u\_2\\) and \\(y\_2\\) ([61](#figure--fig:partial-control)).
|
||||||
We get:
|
We get:
|
||||||
|
|
||||||
\begin{equation} \label{eq:partial\_control}
|
\begin{equation} \label{eq:partial\_control}
|
||||||
@ -6270,7 +6270,7 @@ The selection of \\(u\_2\\) and \\(y\_2\\) for use in the lower-layer control sy
|
|||||||
|
|
||||||
##### Sequential design of cascade control systems {#sequential-design-of-cascade-control-systems}
|
##### Sequential design of cascade control systems {#sequential-design-of-cascade-control-systems}
|
||||||
|
|
||||||
Consider the conventional cascade control system in Fig. [7](#org-target--fig:cascade_extra_meas) where we have additional "secondary" measurements \\(y\_2\\) with no associated control objective, and the objective is to improve the control of \\(y\_1\\) by locally controlling \\(y\_2\\).
|
Consider the conventional cascade control system in [7](#org-target--fig-cascade-extra-meas) where we have additional "secondary" measurements \\(y\_2\\) with no associated control objective, and the objective is to improve the control of \\(y\_1\\) by locally controlling \\(y\_2\\).
|
||||||
The idea is that this should reduce the effect of disturbances and uncertainty on \\(y\_1\\).
|
The idea is that this should reduce the effect of disturbances and uncertainty on \\(y\_1\\).
|
||||||
|
|
||||||
From <eq:partial_control>, it follows that we should select \\(y\_2\\) and \\(u\_2\\) such that \\(\\|P\_d\\|\\) is small and at least smaller than \\(\\|G\_{d1}\\|\\).
|
From <eq:partial_control>, it follows that we should select \\(y\_2\\) and \\(u\_2\\) such that \\(\\|P\_d\\|\\) is small and at least smaller than \\(\\|G\_{d1}\\|\\).
|
||||||
@ -6338,7 +6338,7 @@ Then to minimize the control error for the primary output, \\(J = \\|y\_1 - r\_1
|
|||||||
|
|
||||||
### Decentralized Feedback Control {#decentralized-feedback-control}
|
### Decentralized Feedback Control {#decentralized-feedback-control}
|
||||||
|
|
||||||
In this section, \\(G(s)\\) is a square plant which is to be controlled using a diagonal controller (Fig. [62](#figure--fig:decentralized-diagonal-control)).
|
In this section, \\(G(s)\\) is a square plant which is to be controlled using a diagonal controller ([62](#figure--fig:decentralized-diagonal-control)).
|
||||||
|
|
||||||
<a id="figure--fig:decentralized-diagonal-control"></a>
|
<a id="figure--fig:decentralized-diagonal-control"></a>
|
||||||
|
|
||||||
@ -6729,7 +6729,7 @@ The conditions are also useful in an **input-output controllability analysis** f
|
|||||||
|
|
||||||
## Model Reduction {#model-reduction}
|
## Model Reduction {#model-reduction}
|
||||||
|
|
||||||
<span class="org-target" id="org-target--sec:model_reduction"></span>
|
<span class="org-target" id="org-target--sec-model-reduction"></span>
|
||||||
|
|
||||||
|
|
||||||
### Introduction {#introduction}
|
### Introduction {#introduction}
|
||||||
|
@ -56,7 +56,7 @@ The control of parallel robots is elaborated in the last two chapters, in which
|
|||||||
|
|
||||||
Six independent parameters are sufficient to fully describe the spatial location of a rigid body.
|
Six independent parameters are sufficient to fully describe the spatial location of a rigid body.
|
||||||
|
|
||||||
Consider a rigid body in a spatial motion as represented in Figure [1](#figure--fig:rigid-body-motion).
|
Consider a rigid body in a spatial motion as represented in [1](#figure--fig:rigid-body-motion).
|
||||||
Let us define:
|
Let us define:
|
||||||
|
|
||||||
- A **fixed reference coordinate system** \\((x, y, z)\\) denoted by frame \\(\\{\bm{A}\\}\\) whose origin is located at point \\(O\_A\\)
|
- A **fixed reference coordinate system** \\((x, y, z)\\) denoted by frame \\(\\{\bm{A}\\}\\) whose origin is located at point \\(O\_A\\)
|
||||||
@ -89,7 +89,7 @@ It can be **represented in several different ways**: the rotation matrix, the sc
|
|||||||
##### Rotation Matrix {#rotation-matrix}
|
##### Rotation Matrix {#rotation-matrix}
|
||||||
|
|
||||||
We consider a rigid body that has been exposed to a pure rotation.
|
We consider a rigid body that has been exposed to a pure rotation.
|
||||||
Its orientation has changed from a state represented by frame \\(\\{\bm{A}\\}\\) to its current orientation represented by frame \\(\\{\bm{B}\\}\\) (Figure [2](#figure--fig:rotation-matrix)).
|
Its orientation has changed from a state represented by frame \\(\\{\bm{A}\\}\\) to its current orientation represented by frame \\(\\{\bm{B}\\}\\) ([2](#figure--fig:rotation-matrix)).
|
||||||
|
|
||||||
A \\(3 \times 3\\) rotation matrix \\({}^A\bm{R}\_B\\) is defined by
|
A \\(3 \times 3\\) rotation matrix \\({}^A\bm{R}\_B\\) is defined by
|
||||||
|
|
||||||
@ -363,7 +363,7 @@ There exist transformations to from screw displacement notation to the transform
|
|||||||
|
|
||||||
##### Consecutive transformations {#consecutive-transformations}
|
##### Consecutive transformations {#consecutive-transformations}
|
||||||
|
|
||||||
Let us consider the motion of a rigid body described at three locations (Figure [5](#figure--fig:consecutive-transformations)).
|
Let us consider the motion of a rigid body described at three locations ([5](#figure--fig:consecutive-transformations)).
|
||||||
Frame \\(\\{\bm{A}\\}\\) represents the initial location, frame \\(\\{\bm{B}\\}\\) is an intermediate location, and frame \\(\\{\bm{C}\\}\\) represents the rigid body at its final location.
|
Frame \\(\\{\bm{A}\\}\\) represents the initial location, frame \\(\\{\bm{B}\\}\\) is an intermediate location, and frame \\(\\{\bm{C}\\}\\) represents the rigid body at its final location.
|
||||||
|
|
||||||
<a id="figure--fig:consecutive-transformations"></a>
|
<a id="figure--fig:consecutive-transformations"></a>
|
||||||
@ -536,7 +536,7 @@ The position of the point \\(O\_B\\) of the moving platform is described by the
|
|||||||
|
|
||||||
{{< figure src="/ox-hugo/taghirad13_stewart_schematic.png" caption="<span class=\"figure-number\">Figure 6: </span>Geometry of a Stewart-Gough platform" >}}
|
{{< figure src="/ox-hugo/taghirad13_stewart_schematic.png" caption="<span class=\"figure-number\">Figure 6: </span>Geometry of a Stewart-Gough platform" >}}
|
||||||
|
|
||||||
The geometry of the manipulator is shown Figure [6](#figure--fig:stewart-schematic).
|
The geometry of the manipulator is shown [6](#figure--fig:stewart-schematic).
|
||||||
|
|
||||||
|
|
||||||
#### Inverse Kinematics {#inverse-kinematics}
|
#### Inverse Kinematics {#inverse-kinematics}
|
||||||
@ -676,7 +676,7 @@ The matrix \\(\bm{\Omega}^\times\\) denotes a **skew-symmetric matrix** defined
|
|||||||
\end{bmatrix}}
|
\end{bmatrix}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Now consider the general motion of a rigid body shown in Figure [7](#figure--fig:general-motion), in which a moving frame \\(\\{\bm{B}\\}\\) is attached to the rigid body and **the problem is to find the absolute velocity** of point \\(P\\) with respect to a fixed frame \\(\\{\bm{A}\\}\\).
|
Now consider the general motion of a rigid body shown in [7](#figure--fig:general-motion), in which a moving frame \\(\\{\bm{B}\\}\\) is attached to the rigid body and **the problem is to find the absolute velocity** of point \\(P\\) with respect to a fixed frame \\(\\{\bm{A}\\}\\).
|
||||||
|
|
||||||
<a id="figure--fig:general-motion"></a>
|
<a id="figure--fig:general-motion"></a>
|
||||||
|
|
||||||
@ -935,7 +935,7 @@ We obtain that the **Jacobian matrix** constructs the **transformation needed to
|
|||||||
|
|
||||||
#### Static Forces of the Stewart-Gough Platform {#static-forces-of-the-stewart-gough-platform}
|
#### Static Forces of the Stewart-Gough Platform {#static-forces-of-the-stewart-gough-platform}
|
||||||
|
|
||||||
As shown in Figure [8](#figure--fig:stewart-static-forces), the twist of moving platform is described by a 6D vector \\(\dot{\bm{\mathcal{X}}} = \left[ {}^A\bm{v}\_P \ {}^A\bm{\omega} \right]^T\\), in which \\({}^A\bm{v}\_P\\) is the velocity of point \\(O\_B\\), and \\({}^A\bm{\omega}\\) is the angular velocity of moving platform.<br />
|
As shown in [8](#figure--fig:stewart-static-forces), the twist of moving platform is described by a 6D vector \\(\dot{\bm{\mathcal{X}}} = \left[ {}^A\bm{v}\_P \ {}^A\bm{\omega} \right]^T\\), in which \\({}^A\bm{v}\_P\\) is the velocity of point \\(O\_B\\), and \\({}^A\bm{\omega}\\) is the angular velocity of moving platform.<br />
|
||||||
|
|
||||||
<a id="figure--fig:stewart-static-forces"></a>
|
<a id="figure--fig:stewart-static-forces"></a>
|
||||||
|
|
||||||
@ -1093,7 +1093,7 @@ in which \\(\sigma\_{\text{min}}\\) and \\(\sigma\_{\text{max}}\\) are the small
|
|||||||
|
|
||||||
#### Stiffness Analysis of the Stewart-Gough Platform {#stiffness-analysis-of-the-stewart-gough-platform}
|
#### Stiffness Analysis of the Stewart-Gough Platform {#stiffness-analysis-of-the-stewart-gough-platform}
|
||||||
|
|
||||||
In this section, we restrict our analysis to a 3-6 structure (Figure [9](#figure--fig:stewart36)) in which there exist six distinct attachment points \\(A\_i\\) on the fixed base and three moving attachment point \\(B\_i\\).
|
In this section, we restrict our analysis to a 3-6 structure ([9](#figure--fig:stewart36)) in which there exist six distinct attachment points \\(A\_i\\) on the fixed base and three moving attachment point \\(B\_i\\).
|
||||||
|
|
||||||
<a id="figure--fig:stewart36"></a>
|
<a id="figure--fig:stewart36"></a>
|
||||||
|
|
||||||
@ -1222,7 +1222,7 @@ Linear acceleration of a point \\(P\\) can be easily determined by time derivati
|
|||||||
Note that this is correct only if the derivative is taken with respect to a **fixed** frame.<br />
|
Note that this is correct only if the derivative is taken with respect to a **fixed** frame.<br />
|
||||||
|
|
||||||
Now consider the general motion of a rigid body, in which a moving frame \\(\\{\bm{B}\\}\\) is attached to the rigid body and the problem is to find the absolute acceleration of point \\(P\\) with respect to the fixed frame \\(\\{\bm{A}\\}\\).
|
Now consider the general motion of a rigid body, in which a moving frame \\(\\{\bm{B}\\}\\) is attached to the rigid body and the problem is to find the absolute acceleration of point \\(P\\) with respect to the fixed frame \\(\\{\bm{A}\\}\\).
|
||||||
The rigid body performs a general motion, which is a combination of a translation, denoted by the velocity vector \\({}^A\bm{v}\_{O\_B}\\), and an instantaneous angular rotation denoted by \\(\bm{\Omega}\\) (see Figure [7](#figure--fig:general-motion)).
|
The rigid body performs a general motion, which is a combination of a translation, denoted by the velocity vector \\({}^A\bm{v}\_{O\_B}\\), and an instantaneous angular rotation denoted by \\(\bm{\Omega}\\) (see [7](#figure--fig:general-motion)).
|
||||||
To determine acceleration of point \\(P\\), we start with the relation between absolute and relative velocities of point \\(P\\):
|
To determine acceleration of point \\(P\\), we start with the relation between absolute and relative velocities of point \\(P\\):
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
@ -1347,7 +1347,7 @@ On the other hand, if the reference frame \\(\\{B\\}\\) has **pure rotation** wi
|
|||||||
|
|
||||||
##### Linear Momentum {#linear-momentum}
|
##### Linear Momentum {#linear-momentum}
|
||||||
|
|
||||||
Linear momentum of a material body, shown in Figure [11](#figure--fig:angular-momentum-rigid-body), with respect to a reference frame \\(\\{\bm{A}\\}\\) is defined as
|
Linear momentum of a material body, shown in [11](#figure--fig:angular-momentum-rigid-body), with respect to a reference frame \\(\\{\bm{A}\\}\\) is defined as
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
{}^A\bm{G} = \int\_V \frac{d\bm{p}}{dt} \rho dV
|
{}^A\bm{G} = \int\_V \frac{d\bm{p}}{dt} \rho dV
|
||||||
@ -1376,7 +1376,7 @@ This highlights the important of the center of mass in dynamic formulation of ri
|
|||||||
|
|
||||||
##### Angular Momentum {#angular-momentum}
|
##### Angular Momentum {#angular-momentum}
|
||||||
|
|
||||||
Consider the solid body represented in Figure [11](#figure--fig:angular-momentum-rigid-body).
|
Consider the solid body represented in [11](#figure--fig:angular-momentum-rigid-body).
|
||||||
Angular momentum of the differential masses \\(\rho dV\\) about a reference point \\(A\\), expressed in the reference frame \\(\\{\bm{A}\\}\\) is defined as
|
Angular momentum of the differential masses \\(\rho dV\\) about a reference point \\(A\\), expressed in the reference frame \\(\\{\bm{A}\\}\\) is defined as
|
||||||
\\[ {}^A\bm{H} = \int\_V \left(\bm{p} \times \frac{d\bm{p}}{dt} \right) \rho dV \\]
|
\\[ {}^A\bm{H} = \int\_V \left(\bm{p} \times \frac{d\bm{p}}{dt} \right) \rho dV \\]
|
||||||
in which \\(d\bm{p}/dt\\) denotes the velocity of differential mass with respect to the reference frame \\(\\{\bm{A}\\}\\).
|
in which \\(d\bm{p}/dt\\) denotes the velocity of differential mass with respect to the reference frame \\(\\{\bm{A}\\}\\).
|
||||||
@ -1504,7 +1504,7 @@ With \\(\bm{v}\_{b\_{i}}\\) an **intermediate variable** corresponding to the ve
|
|||||||
\bm{v}\_{b\_{i}} = \bm{v}\_{p} + \bm{\omega} \times \bm{b}\_{i}
|
\bm{v}\_{b\_{i}} = \bm{v}\_{p} + \bm{\omega} \times \bm{b}\_{i}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
As illustrated in Figure [12](#figure--fig:free-body-diagram-stewart), the piston-cylinder structure of the limbs is decomposed into two separate parts, the masses of which are denoted by \\(m\_{i\_1}\\) and \\(m\_{i\_2}\\).
|
As illustrated in [12](#figure--fig:free-body-diagram-stewart), the piston-cylinder structure of the limbs is decomposed into two separate parts, the masses of which are denoted by \\(m\_{i\_1}\\) and \\(m\_{i\_2}\\).
|
||||||
The position vector of these two center of masses can be determined by the following equations:
|
The position vector of these two center of masses can be determined by the following equations:
|
||||||
|
|
||||||
\begin{align}
|
\begin{align}
|
||||||
@ -1539,7 +1539,7 @@ We assume that each limb consists of two parts, the cylinder and the piston, whe
|
|||||||
We also assume that the centers of masses of the cylinder and the piston are located at a distance of \\(c\_{i\_1}\\) and \\(c\_{i\_2}\\) above their foot points, and their masses are denoted by \\(m\_{i\_1}\\) and \\(m\_{i\_2}\\).
|
We also assume that the centers of masses of the cylinder and the piston are located at a distance of \\(c\_{i\_1}\\) and \\(c\_{i\_2}\\) above their foot points, and their masses are denoted by \\(m\_{i\_1}\\) and \\(m\_{i\_2}\\).
|
||||||
Moreover, consider that the pistons are symmetric about their axes, and their centers of masses lie at their midlengths.
|
Moreover, consider that the pistons are symmetric about their axes, and their centers of masses lie at their midlengths.
|
||||||
|
|
||||||
The free-body diagrams of the limbs and the moving platforms is given in Figure [12](#figure--fig:free-body-diagram-stewart).
|
The free-body diagrams of the limbs and the moving platforms is given in [12](#figure--fig:free-body-diagram-stewart).
|
||||||
The reaction forces at fixed points \\(A\_i\\) are denoted by \\(\bm{f}\_{a\_i}\\), the internal force at moving points \\(B\_i\\) are dentoed by \\(\bm{f}\_{b\_i}\\), and the internal forces and moments between cylinders and pistons are denoted by \\(\bm{f}\_{c\_i}\\) and \\(\bm{M\_{c\_i}}\\) respectively.
|
The reaction forces at fixed points \\(A\_i\\) are denoted by \\(\bm{f}\_{a\_i}\\), the internal force at moving points \\(B\_i\\) are dentoed by \\(\bm{f}\_{b\_i}\\), and the internal forces and moments between cylinders and pistons are denoted by \\(\bm{f}\_{c\_i}\\) and \\(\bm{M\_{c\_i}}\\) respectively.
|
||||||
|
|
||||||
Assume that the only existing external disturbance wrench is applied on the moving platform and is denoted by \\(\bm{\mathcal{F}}\_d = [\bm{F}\_d, \bm{n}\_d]^T\\).
|
Assume that the only existing external disturbance wrench is applied on the moving platform and is denoted by \\(\bm{\mathcal{F}}\_d = [\bm{F}\_d, \bm{n}\_d]^T\\).
|
||||||
@ -1566,7 +1566,7 @@ in which \\(m\_{c\_e}\\) is defined as
|
|||||||
##### Dynamic Formulation of the Moving Platform {#dynamic-formulation-of-the-moving-platform}
|
##### Dynamic Formulation of the Moving Platform {#dynamic-formulation-of-the-moving-platform}
|
||||||
|
|
||||||
Assume that the **moving platform center of mass is located at the center point** \\(P\\) and it has a mass \\(m\\) and moment of inertia \\({}^A\bm{I}\_{P}\\).
|
Assume that the **moving platform center of mass is located at the center point** \\(P\\) and it has a mass \\(m\\) and moment of inertia \\({}^A\bm{I}\_{P}\\).
|
||||||
Furthermore, consider that gravitational force and external disturbance wrench are applied on the moving platform, \\(\bm{\mathcal{F}}\_d = [\bm{F}\_d, \bm{n}\_d]^T\\) as depicted in Figure [12](#figure--fig:free-body-diagram-stewart).
|
Furthermore, consider that gravitational force and external disturbance wrench are applied on the moving platform, \\(\bm{\mathcal{F}}\_d = [\bm{F}\_d, \bm{n}\_d]^T\\) as depicted in [12](#figure--fig:free-body-diagram-stewart).
|
||||||
|
|
||||||
The Newton-Euler formulation of the moving platform is as follows:
|
The Newton-Euler formulation of the moving platform is as follows:
|
||||||
|
|
||||||
@ -1723,7 +1723,7 @@ in which
|
|||||||
|
|
||||||
##### Forward Dynamics Simulations {#forward-dynamics-simulations}
|
##### Forward Dynamics Simulations {#forward-dynamics-simulations}
|
||||||
|
|
||||||
As shown in Figure [13](#figure--fig:stewart-forward-dynamics), it is **assumed that actuator forces and external disturbance wrench applied to the manipulator are given and the resulting trajectory of the moving platform is to be determined**.
|
As shown in [13](#figure--fig:stewart-forward-dynamics), it is **assumed that actuator forces and external disturbance wrench applied to the manipulator are given and the resulting trajectory of the moving platform is to be determined**.
|
||||||
|
|
||||||
<a id="figure--fig:stewart-forward-dynamics"></a>
|
<a id="figure--fig:stewart-forward-dynamics"></a>
|
||||||
|
|
||||||
@ -1736,7 +1736,7 @@ The closed-form dynamic formulation of the Stewart-Gough platform corresponds to
|
|||||||
|
|
||||||
In inverse dynamics simulations, it is assumed that the **trajectory of the manipulator is given**, and the **actuator forces required to generate such trajectories are to be determined**.
|
In inverse dynamics simulations, it is assumed that the **trajectory of the manipulator is given**, and the **actuator forces required to generate such trajectories are to be determined**.
|
||||||
|
|
||||||
As illustrated in Figure [14](#figure--fig:stewart-inverse-dynamics), inverse dynamic formulation is implemented in the following sequence.
|
As illustrated in [14](#figure--fig:stewart-inverse-dynamics), inverse dynamic formulation is implemented in the following sequence.
|
||||||
The first step is trajectory generation for the manipulator moving platform.
|
The first step is trajectory generation for the manipulator moving platform.
|
||||||
Many different algorithms are developed for a smooth trajectory generation.
|
Many different algorithms are developed for a smooth trajectory generation.
|
||||||
For such a trajectory, \\(\bm{\mathcal{X}}\_{d}(t)\\) and the time derivatives \\(\dot{\bm{\mathcal{X}}}\_{d}(t)\\), \\(\ddot{\bm{\mathcal{X}}}\_{d}(t)\\) are known.
|
For such a trajectory, \\(\bm{\mathcal{X}}\_{d}(t)\\) and the time derivatives \\(\dot{\bm{\mathcal{X}}}\_{d}(t)\\), \\(\ddot{\bm{\mathcal{X}}}\_{d}(t)\\) are known.
|
||||||
@ -1847,7 +1847,7 @@ In general, the desired motion of the moving platform may be represented by the
|
|||||||
To perform such motion in closed loop, it is necessary to **measure the output motion** \\(\bm{\mathcal{X}}\\) of the manipulator by an instrumentation system.
|
To perform such motion in closed loop, it is necessary to **measure the output motion** \\(\bm{\mathcal{X}}\\) of the manipulator by an instrumentation system.
|
||||||
Such instrumentation usually consists of two subsystems: the first subsystem may use accurate accelerometers, or global positioning systems to calculate the position of a point on the moving platform; and a second subsystem may use inertial or laser gyros to determine orientation of the moving platform.<br />
|
Such instrumentation usually consists of two subsystems: the first subsystem may use accurate accelerometers, or global positioning systems to calculate the position of a point on the moving platform; and a second subsystem may use inertial or laser gyros to determine orientation of the moving platform.<br />
|
||||||
|
|
||||||
Figure [15](#figure--fig:general-topology-motion-feedback) shows the general topology of a motion controller using direct measurement of the motion variable \\(\bm{\mathcal{X}}\\), as feedback in the closed-loop system.
|
[15](#figure--fig:general-topology-motion-feedback) shows the general topology of a motion controller using direct measurement of the motion variable \\(\bm{\mathcal{X}}\\), as feedback in the closed-loop system.
|
||||||
In such a structure, the measured position and orientation of the manipulator is compared to its desired value to generate the **motion error vector** \\(\bm{e}\_\mathcal{X}\\).
|
In such a structure, the measured position and orientation of the manipulator is compared to its desired value to generate the **motion error vector** \\(\bm{e}\_\mathcal{X}\\).
|
||||||
The controller uses this error information to generate suitable commands for the actuators to minimize the tracking error.<br />
|
The controller uses this error information to generate suitable commands for the actuators to minimize the tracking error.<br />
|
||||||
|
|
||||||
@ -1859,7 +1859,7 @@ However, it is usually much **easier to measure the active joint variable** rath
|
|||||||
The relation between the **joint variable** \\(\bm{q}\\) and **motion variable** of the moving platform \\(\bm{\mathcal{X}}\\) is dealt with the **forward and inverse kinematics**.
|
The relation between the **joint variable** \\(\bm{q}\\) and **motion variable** of the moving platform \\(\bm{\mathcal{X}}\\) is dealt with the **forward and inverse kinematics**.
|
||||||
The relation between the **differential motion variables** \\(\dot{\bm{q}}\\) and \\(\dot{\bm{\mathcal{X}}}\\) is studied through the **Jacobian analysis**.<br />
|
The relation between the **differential motion variables** \\(\dot{\bm{q}}\\) and \\(\dot{\bm{\mathcal{X}}}\\) is studied through the **Jacobian analysis**.<br />
|
||||||
|
|
||||||
It is then possible to use the forward kinematic analysis to calculate \\(\bm{\mathcal{X}}\\) from the measured joint variables \\(\bm{q}\\), and one may use the control topology depicted in Figure [16](#figure--fig:general-topology-motion-feedback-bis) to implement such a controller.
|
It is then possible to use the forward kinematic analysis to calculate \\(\bm{\mathcal{X}}\\) from the measured joint variables \\(\bm{q}\\), and one may use the control topology depicted in [16](#figure--fig:general-topology-motion-feedback-bis) to implement such a controller.
|
||||||
|
|
||||||
<a id="figure--fig:general-topology-motion-feedback-bis"></a>
|
<a id="figure--fig:general-topology-motion-feedback-bis"></a>
|
||||||
|
|
||||||
@ -1870,9 +1870,9 @@ As described earlier, this is a **complex task** for parallel manipulators.
|
|||||||
It is even more complex when a solution has to be found in real time.<br />
|
It is even more complex when a solution has to be found in real time.<br />
|
||||||
|
|
||||||
However, as shown herein before, the inverse kinematic analysis of parallel manipulators is much easier to carry out.
|
However, as shown herein before, the inverse kinematic analysis of parallel manipulators is much easier to carry out.
|
||||||
To overcome the implementation problem of the control topology in Figure [16](#figure--fig:general-topology-motion-feedback-bis), another control topology is usually implemented for parallel manipulators.
|
To overcome the implementation problem of the control topology in [16](#figure--fig:general-topology-motion-feedback-bis), another control topology is usually implemented for parallel manipulators.
|
||||||
|
|
||||||
In this topology, depicted in Figure [17](#figure--fig:general-topology-motion-feedback-ter), the desired motion trajectory of the robot \\(\bm{\mathcal{X}}\_d\\) is used in an **inverse kinematic analysis** to find the corresponding desired values for joint variable \\(\bm{q}\_d\\).
|
In this topology, depicted in [17](#figure--fig:general-topology-motion-feedback-ter), the desired motion trajectory of the robot \\(\bm{\mathcal{X}}\_d\\) is used in an **inverse kinematic analysis** to find the corresponding desired values for joint variable \\(\bm{q}\_d\\).
|
||||||
Hence, the controller is designed based on the **joint space error** \\(\bm{e}\_q\\).
|
Hence, the controller is designed based on the **joint space error** \\(\bm{e}\_q\\).
|
||||||
|
|
||||||
<a id="figure--fig:general-topology-motion-feedback-ter"></a>
|
<a id="figure--fig:general-topology-motion-feedback-ter"></a>
|
||||||
@ -1881,12 +1881,12 @@ Hence, the controller is designed based on the **joint space error** \\(\bm{e}\_
|
|||||||
|
|
||||||
Therefore, the **structure and characteristics** of the controller in this topology is totally **different** from that given in the first two topologies.
|
Therefore, the **structure and characteristics** of the controller in this topology is totally **different** from that given in the first two topologies.
|
||||||
|
|
||||||
The **input and output** of the controller depicted in Figure [17](#figure--fig:general-topology-motion-feedback-ter) are **both in the joint space**.
|
The **input and output** of the controller depicted in [17](#figure--fig:general-topology-motion-feedback-ter) are **both in the joint space**.
|
||||||
However, this is not the case in the previous topologies where the input to the controller is the motion error in task space, while its output is in the joint space.
|
However, this is not the case in the previous topologies where the input to the controller is the motion error in task space, while its output is in the joint space.
|
||||||
|
|
||||||
For the topology in Figure [17](#figure--fig:general-topology-motion-feedback-ter), **independent controllers** for each joint may be suitable.<br />
|
For the topology in [17](#figure--fig:general-topology-motion-feedback-ter), **independent controllers** for each joint may be suitable.<br />
|
||||||
|
|
||||||
To generate a **direct input to output relation in the task space**, consider the topology depicted in Figure [18](#figure--fig:general-topology-motion-feedback-quater).
|
To generate a **direct input to output relation in the task space**, consider the topology depicted in [18](#figure--fig:general-topology-motion-feedback-quater).
|
||||||
A force distribution block is added which maps the generated wrench in the task space \\(\bm{\mathcal{F}}\\), to its corresponding actuator forces/torque \\(\bm{\tau}\\).
|
A force distribution block is added which maps the generated wrench in the task space \\(\bm{\mathcal{F}}\\), to its corresponding actuator forces/torque \\(\bm{\tau}\\).
|
||||||
|
|
||||||
<a id="figure--fig:general-topology-motion-feedback-quater"></a>
|
<a id="figure--fig:general-topology-motion-feedback-quater"></a>
|
||||||
@ -1904,7 +1904,7 @@ For a fully parallel manipulator such as the Stewart-Gough platform, this mappin
|
|||||||
|
|
||||||
#### Decentralized PD Control {#decentralized-pd-control}
|
#### Decentralized PD Control {#decentralized-pd-control}
|
||||||
|
|
||||||
In the control structure in Figure [19](#figure--fig:decentralized-pd-control-task-space), a number of linear PD controllers are used in a feedback structure on each error component.
|
In the control structure in [19](#figure--fig:decentralized-pd-control-task-space), a number of linear PD controllers are used in a feedback structure on each error component.
|
||||||
The decentralized controller consists of **six disjoint linear controllers** acting on each error component \\(\bm{e}\_x = [e\_x,\ e\_y,\ e\_z,\ e\_{\theta\_x},\ e\_{\theta\_y},\ e\_{\theta\_z}]\\).
|
The decentralized controller consists of **six disjoint linear controllers** acting on each error component \\(\bm{e}\_x = [e\_x,\ e\_y,\ e\_z,\ e\_{\theta\_x},\ e\_{\theta\_y},\ e\_{\theta\_z}]\\).
|
||||||
The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), in which \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(6 \times 6\\) **diagonal matrices** denoting the derivative and proportional controller gains for each error term.
|
The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), in which \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(6 \times 6\\) **diagonal matrices** denoting the derivative and proportional controller gains for each error term.
|
||||||
|
|
||||||
@ -1927,7 +1927,7 @@ The controller gains are generally tuned experimentally based on physical realiz
|
|||||||
|
|
||||||
#### Feed Forward Control {#feed-forward-control}
|
#### Feed Forward Control {#feed-forward-control}
|
||||||
|
|
||||||
A feedforward wrench denoted by \\(\bm{\mathcal{F}}\_{ff}\\) may be added to the decentralized PD controller structure as depicted in Figure [20](#figure--fig:feedforward-control-task-space).
|
A feedforward wrench denoted by \\(\bm{\mathcal{F}}\_{ff}\\) may be added to the decentralized PD controller structure as depicted in [20](#figure--fig:feedforward-control-task-space).
|
||||||
This term is generated from the dynamic model of the manipulator in the task space, represented in a closed form by the following equation:
|
This term is generated from the dynamic model of the manipulator in the task space, represented in a closed form by the following equation:
|
||||||
\\[ \bm{\mathcal{F}}\_{ff} = \bm{\hat{M}}(\bm{\mathcal{X}}\_d)\ddot{\bm{\mathcal{X}}}\_d + \bm{\hat{C}}(\bm{\mathcal{X}}\_d, \dot{\bm{\mathcal{X}}}\_d)\dot{\bm{\mathcal{X}}}\_d + \bm{\hat{G}}(\bm{\mathcal{X}}\_d) \\]
|
\\[ \bm{\mathcal{F}}\_{ff} = \bm{\hat{M}}(\bm{\mathcal{X}}\_d)\ddot{\bm{\mathcal{X}}}\_d + \bm{\hat{C}}(\bm{\mathcal{X}}\_d, \dot{\bm{\mathcal{X}}}\_d)\dot{\bm{\mathcal{X}}}\_d + \bm{\hat{G}}(\bm{\mathcal{X}}\_d) \\]
|
||||||
|
|
||||||
@ -1986,7 +1986,7 @@ By this means, **nonlinear and coupling behavior of the robotic manipulator is s
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
General structure of IDC applied to a parallel manipulator is depicted in Figure [21](#figure--fig:inverse-dynamics-control-task-space).
|
General structure of IDC applied to a parallel manipulator is depicted in [21](#figure--fig:inverse-dynamics-control-task-space).
|
||||||
A corrective wrench \\(\bm{\mathcal{F}}\_{fl}\\) is added in a **feedback structure** to the closed-loop system, which is calculated from the Coriolis and centrifugal matrix and gravity vector of the manipulator dynamic formulation.
|
A corrective wrench \\(\bm{\mathcal{F}}\_{fl}\\) is added in a **feedback structure** to the closed-loop system, which is calculated from the Coriolis and centrifugal matrix and gravity vector of the manipulator dynamic formulation.
|
||||||
|
|
||||||
Furthermore, mass matrix is added in the forward path in addition to the desired trajectory acceleration \\(\ddot{\bm{\mathcal{X}}}\_d\\).
|
Furthermore, mass matrix is added in the forward path in addition to the desired trajectory acceleration \\(\ddot{\bm{\mathcal{X}}}\_d\\).
|
||||||
@ -2133,7 +2133,7 @@ If this measurement is available without any doubt, such topologies are among th
|
|||||||
However, as explained in Section , in many practical situations measurement of the motion variable \\(\bm{\mathcal{X}}\\) is difficult or expensive, and usually just the active joint variables \\(\bm{q}\\) are measured.
|
However, as explained in Section , in many practical situations measurement of the motion variable \\(\bm{\mathcal{X}}\\) is difficult or expensive, and usually just the active joint variables \\(\bm{q}\\) are measured.
|
||||||
In such cases, the controllers developed in the joint space may be recommended for practical implementation.<br />
|
In such cases, the controllers developed in the joint space may be recommended for practical implementation.<br />
|
||||||
|
|
||||||
To generate a direct input to output relation in the joint space, consider the topology depicted in Figure [16](#figure--fig:general-topology-motion-feedback-bis).
|
To generate a direct input to output relation in the joint space, consider the topology depicted in [16](#figure--fig:general-topology-motion-feedback-bis).
|
||||||
In this topology, the controller input is the joint variable error vector \\(\bm{e}\_q = \bm{q}\_d - \bm{q}\\), and the controller output is directly the actuator force vector \\(\bm{\tau}\\), and hence there exists a **one-to-one correspondence between the controller input to its output**.<br />
|
In this topology, the controller input is the joint variable error vector \\(\bm{e}\_q = \bm{q}\_d - \bm{q}\\), and the controller output is directly the actuator force vector \\(\bm{\tau}\\), and hence there exists a **one-to-one correspondence between the controller input to its output**.<br />
|
||||||
|
|
||||||
The general form of dynamic formulation of parallel robot is usually given in the task space.
|
The general form of dynamic formulation of parallel robot is usually given in the task space.
|
||||||
@ -2200,7 +2200,7 @@ This approximation significantly reduces the computational cost, with the penalt
|
|||||||
#### Decentralized PD Control {#decentralized-pd-control}
|
#### Decentralized PD Control {#decentralized-pd-control}
|
||||||
|
|
||||||
The first control strategy introduced in the joint space consists of the simplest form of feedback control in such manipulators.
|
The first control strategy introduced in the joint space consists of the simplest form of feedback control in such manipulators.
|
||||||
In this control structure, depicted in Figure [24](#figure--fig:decentralized-pd-control-joint-space), a number of PD controllers are used in a feedback structure on each error component.
|
In this control structure, depicted in [24](#figure--fig:decentralized-pd-control-joint-space), a number of PD controllers are used in a feedback structure on each error component.
|
||||||
|
|
||||||
The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), where \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(n \times n\\) **diagonal** matrices denoting the derivative and proportional controller gains, respectively.<br />
|
The PD controller is denoted by \\(\bm{K}\_d s + \bm{K}\_p\\), where \\(\bm{K}\_d\\) and \\(\bm{K}\_p\\) are \\(n \times n\\) **diagonal** matrices denoting the derivative and proportional controller gains, respectively.<br />
|
||||||
|
|
||||||
@ -2224,7 +2224,7 @@ To remedy these shortcomings, some modifications have been proposed to this stru
|
|||||||
#### Feedforward Control {#feedforward-control}
|
#### Feedforward Control {#feedforward-control}
|
||||||
|
|
||||||
The tracking performance of the simple PD controller implemented in the joint space is usually not sufficient at different configurations.
|
The tracking performance of the simple PD controller implemented in the joint space is usually not sufficient at different configurations.
|
||||||
To improve the tracking performance, a feedforward actuator force denoted by \\(\bm{\tau}\_{ff}\\) may be added to the structure of the controller as depicted in Figure [25](#figure--fig:feedforward-pd-control-joint-space).
|
To improve the tracking performance, a feedforward actuator force denoted by \\(\bm{\tau}\_{ff}\\) may be added to the structure of the controller as depicted in [25](#figure--fig:feedforward-pd-control-joint-space).
|
||||||
|
|
||||||
<a id="figure--fig:feedforward-pd-control-joint-space"></a>
|
<a id="figure--fig:feedforward-pd-control-joint-space"></a>
|
||||||
|
|
||||||
@ -2266,7 +2266,7 @@ By this means, the **nonlinear and coupling characteristics** of robotic manipul
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
The general structure of inverse dynamics control applied to a parallel manipulator in the joint space is depicted in Figure [26](#figure--fig:inverse-dynamics-control-joint-space).
|
The general structure of inverse dynamics control applied to a parallel manipulator in the joint space is depicted in [26](#figure--fig:inverse-dynamics-control-joint-space).
|
||||||
|
|
||||||
A corrective torque \\(\bm{\tau}\_{fl}\\) is added in a **feedback** structure to the closed-loop system, which is calculated from the Coriolis and Centrifugal matrix, and the gravity vector of the manipulator dynamic formulation in the joint space.
|
A corrective torque \\(\bm{\tau}\_{fl}\\) is added in a **feedback** structure to the closed-loop system, which is calculated from the Coriolis and Centrifugal matrix, and the gravity vector of the manipulator dynamic formulation in the joint space.
|
||||||
Furthermore, the mass matrix is acting in the **forward path**, in addition to the desired trajectory acceleration \\(\ddot{\bm{q}}\_q\\).
|
Furthermore, the mass matrix is acting in the **forward path**, in addition to the desired trajectory acceleration \\(\ddot{\bm{q}}\_q\\).
|
||||||
@ -2596,7 +2596,7 @@ However, note that the motion control of the robot when the robot is in interact
|
|||||||
|
|
||||||
To follow **two objectives** with different properties in one control system, usually a **hierarchy** of two feedback loops is used in practice.
|
To follow **two objectives** with different properties in one control system, usually a **hierarchy** of two feedback loops is used in practice.
|
||||||
This kind of control topology is called **cascade control**, which is used when there are **several measurements and one prime control variable**.
|
This kind of control topology is called **cascade control**, which is used when there are **several measurements and one prime control variable**.
|
||||||
Cascade control is implemented by **nesting** the control loops, as shown in Figure [27](#figure--fig:cascade-control).
|
Cascade control is implemented by **nesting** the control loops, as shown in [27](#figure--fig:cascade-control).
|
||||||
The output control loop is called the **primary loop**, while the inner loop is called the secondary loop and is used to fulfill a secondary objective in the closed-loop system.
|
The output control loop is called the **primary loop**, while the inner loop is called the secondary loop and is used to fulfill a secondary objective in the closed-loop system.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -2628,9 +2628,9 @@ Consider the force control schemes, in which **force tracking is the prime objec
|
|||||||
In such a case, it is advised that the outer loop of cascade control structure is constructed by wrench feedback, while the inner loop is based on position feedback.
|
In such a case, it is advised that the outer loop of cascade control structure is constructed by wrench feedback, while the inner loop is based on position feedback.
|
||||||
Since different types of measurement units may be used in parallel robots, different control topologies may be constructed to implement such a cascade structure.<br />
|
Since different types of measurement units may be used in parallel robots, different control topologies may be constructed to implement such a cascade structure.<br />
|
||||||
|
|
||||||
Consider first the cascade control topology shown in Figure [28](#figure--fig:taghira13-cascade-force-outer-loop) in which the measured variables are both in the **task space**.
|
Consider first the cascade control topology shown in [28](#figure--fig:taghira13-cascade-force-outer-loop) in which the measured variables are both in the **task space**.
|
||||||
The inner loop is constructed by position feedback while the outer loop is based on force feedback.
|
The inner loop is constructed by position feedback while the outer loop is based on force feedback.
|
||||||
As seen in Figure [28](#figure--fig:taghira13-cascade-force-outer-loop), the force controller block is fed to the motion controller, and this might be seen as the **generated desired motion trajectory for the inner loop**.
|
As seen in [28](#figure--fig:taghira13-cascade-force-outer-loop), the force controller block is fed to the motion controller, and this might be seen as the **generated desired motion trajectory for the inner loop**.
|
||||||
|
|
||||||
The output of motion controller is also designed in the task space, and to convert it to implementable actuator force \\(\bm{\tau}\\), the force distribution block is considered in this topology.<br />
|
The output of motion controller is also designed in the task space, and to convert it to implementable actuator force \\(\bm{\tau}\\), the force distribution block is considered in this topology.<br />
|
||||||
|
|
||||||
@ -2639,7 +2639,7 @@ The output of motion controller is also designed in the task space, and to conve
|
|||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop.png" caption="<span class=\"figure-number\">Figure 28: </span>Cascade topology of force feedback control: position in inner loop and force in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop.png" caption="<span class=\"figure-number\">Figure 28: </span>Cascade topology of force feedback control: position in inner loop and force in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}}
|
||||||
|
|
||||||
Other alternatives for force control topology may be suggested based on the variations of position and force measurements.
|
Other alternatives for force control topology may be suggested based on the variations of position and force measurements.
|
||||||
If the force is measured in the joint space, the topology suggested in Figure [29](#figure--fig:taghira13-cascade-force-outer-loop-tau) can be used.
|
If the force is measured in the joint space, the topology suggested in [29](#figure--fig:taghira13-cascade-force-outer-loop-tau) can be used.
|
||||||
In this topology, the measured actuator force vector \\(\bm{\tau}\\) is mapped into its corresponding wrench in the task space by the Jacobian transpose mapping \\(\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}\\).<br />
|
In this topology, the measured actuator force vector \\(\bm{\tau}\\) is mapped into its corresponding wrench in the task space by the Jacobian transpose mapping \\(\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}\\).<br />
|
||||||
|
|
||||||
<a id="figure--fig:taghira13-cascade-force-outer-loop-tau"></a>
|
<a id="figure--fig:taghira13-cascade-force-outer-loop-tau"></a>
|
||||||
@ -2647,7 +2647,7 @@ In this topology, the measured actuator force vector \\(\bm{\tau}\\) is mapped i
|
|||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop_tau.png" caption="<span class=\"figure-number\">Figure 29: </span>Cascade topology of force feedback control: position in inner loop and force in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_outer_loop_tau.png" caption="<span class=\"figure-number\">Figure 29: </span>Cascade topology of force feedback control: position in inner loop and force in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}}
|
||||||
|
|
||||||
Consider the case where the force and motion variables are both measured in the **joint space**.
|
Consider the case where the force and motion variables are both measured in the **joint space**.
|
||||||
Figure [30](#figure--fig:taghira13-cascade-force-outer-loop-tau-q) suggests the force control topology in the joint space, in which the inner loop is based on measured motion variable in the joint space, and the outer loop uses the measured actuator force vector.
|
[30](#figure--fig:taghira13-cascade-force-outer-loop-tau-q) suggests the force control topology in the joint space, in which the inner loop is based on measured motion variable in the joint space, and the outer loop uses the measured actuator force vector.
|
||||||
In this topology, it is advised that the force controller is designed in the **task** space, and the Jacobian transpose mapping is used to project the measured actuator force vector into its corresponding wrench in the task space.
|
In this topology, it is advised that the force controller is designed in the **task** space, and the Jacobian transpose mapping is used to project the measured actuator force vector into its corresponding wrench in the task space.
|
||||||
However, as the inner loop is constructed in the joint space, the desired motion variable \\(\bm{\mathcal{X}}\_d\\) is mapped into joint space using **inverse kinematic** solution.
|
However, as the inner loop is constructed in the joint space, the desired motion variable \\(\bm{\mathcal{X}}\_d\\) is mapped into joint space using **inverse kinematic** solution.
|
||||||
|
|
||||||
@ -2665,7 +2665,7 @@ In such a case, force tracking is not the primary objective, and it is advised t
|
|||||||
|
|
||||||
Since different type of measurement units may be used in parallel robots, different control topologies may be constructed to implement such cascade controllers.<br />
|
Since different type of measurement units may be used in parallel robots, different control topologies may be constructed to implement such cascade controllers.<br />
|
||||||
|
|
||||||
Figure [31](#figure--fig:taghira13-cascade-force-inner-loop-F) illustrates the cascade control topology for the system in which the measured variables are both in the task space (\\(\bm{\mathcal{F}}\\) and \\(\bm{\mathcal{X}}\\)).
|
[31](#figure--fig:taghira13-cascade-force-inner-loop-F) illustrates the cascade control topology for the system in which the measured variables are both in the task space (\\(\bm{\mathcal{F}}\\) and \\(\bm{\mathcal{X}}\\)).
|
||||||
The inner loop is loop is constructed by force feedback while the outer loop is based on position feedback.
|
The inner loop is loop is constructed by force feedback while the outer loop is based on position feedback.
|
||||||
By this means, when the manipulator is not in contact with a stiff environment, position tracking is guaranteed through the primary controller.
|
By this means, when the manipulator is not in contact with a stiff environment, position tracking is guaranteed through the primary controller.
|
||||||
However, when there is interacting wrench \\(\bm{\mathcal{F}}\_e\\) applied to the moving platform, this structure controls the force-motion relation.
|
However, when there is interacting wrench \\(\bm{\mathcal{F}}\_e\\) applied to the moving platform, this structure controls the force-motion relation.
|
||||||
@ -2676,14 +2676,14 @@ This configuration may be seen as if the **outer loop generates a desired force
|
|||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_F.png" caption="<span class=\"figure-number\">Figure 31: </span>Cascade topology of force feedback control: force in inner loop and position in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_F.png" caption="<span class=\"figure-number\">Figure 31: </span>Cascade topology of force feedback control: force in inner loop and position in outer loop. Moving platform wrench \\(\bm{\mathcal{F}}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured in the task space" >}}
|
||||||
|
|
||||||
Other alternatives for control topology may be suggested based on the variations of position and force measurements.
|
Other alternatives for control topology may be suggested based on the variations of position and force measurements.
|
||||||
If the force is measured in the joint space, control topology shown in Figure [32](#figure--fig:taghira13-cascade-force-inner-loop-tau) can be used.
|
If the force is measured in the joint space, control topology shown in [32](#figure--fig:taghira13-cascade-force-inner-loop-tau) can be used.
|
||||||
In such case, the Jacobian transpose is used to map the actuator force to its corresponding wrench in the task space.<br />
|
In such case, the Jacobian transpose is used to map the actuator force to its corresponding wrench in the task space.<br />
|
||||||
|
|
||||||
<a id="figure--fig:taghira13-cascade-force-inner-loop-tau"></a>
|
<a id="figure--fig:taghira13-cascade-force-inner-loop-tau"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_tau.png" caption="<span class=\"figure-number\">Figure 32: </span>Cascade topology of force feedback control: force in inner loop and position in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}}
|
{{< figure src="/ox-hugo/taghira13_cascade_force_inner_loop_tau.png" caption="<span class=\"figure-number\">Figure 32: </span>Cascade topology of force feedback control: force in inner loop and position in outer loop. Actuator forces \\(\bm{\tau}\\) and motion variable \\(\bm{\mathcal{X}}\\) are measured" >}}
|
||||||
|
|
||||||
If the force and motion variables are both measured in the **joint** space, the control topology shown in Figure [33](#figure--fig:taghira13-cascade-force-inner-loop-tau-q) is suggested.
|
If the force and motion variables are both measured in the **joint** space, the control topology shown in [33](#figure--fig:taghira13-cascade-force-inner-loop-tau-q) is suggested.
|
||||||
The inner loop is based on the measured actuator force vector in the joint space \\(\bm{\tau}\\), and the outer loop is based on the measured actuated joint position vector \\(\bm{q}\\).
|
The inner loop is based on the measured actuator force vector in the joint space \\(\bm{\tau}\\), and the outer loop is based on the measured actuated joint position vector \\(\bm{q}\\).
|
||||||
In this topology, the desired motion in the task space is mapped into the joint space using **inverse kinematic** solution, and **both the position and force feedback controllers are designed in the joint space**.
|
In this topology, the desired motion in the task space is mapped into the joint space using **inverse kinematic** solution, and **both the position and force feedback controllers are designed in the joint space**.
|
||||||
Thus, independent controllers for each joint may be suitable for this topology.
|
Thus, independent controllers for each joint may be suitable for this topology.
|
||||||
@ -2766,7 +2766,7 @@ Nevertheless, note that Laplace transform is only applicable for **linear time i
|
|||||||
|
|
||||||
<div class="exampl">
|
<div class="exampl">
|
||||||
|
|
||||||
Consider an RLC circuit depicted in Figure [35](#figure--fig:taghirad13-impedance-control-rlc).
|
Consider an RLC circuit depicted in [35](#figure--fig:taghirad13-impedance-control-rlc).
|
||||||
The differential equation relating voltage \\(v\\) to the current \\(i\\) is given by
|
The differential equation relating voltage \\(v\\) to the current \\(i\\) is given by
|
||||||
\\[ v = L\frac{di}{dt} + Ri + \int\_0^t \frac{1}{C} i(\tau)d\tau \\]
|
\\[ v = L\frac{di}{dt} + Ri + \int\_0^t \frac{1}{C} i(\tau)d\tau \\]
|
||||||
in which \\(L\\) denote the inductance, \\(R\\) the resistance and \\(C\\) the capacitance.
|
in which \\(L\\) denote the inductance, \\(R\\) the resistance and \\(C\\) the capacitance.
|
||||||
@ -2781,7 +2781,7 @@ The impedance of the system may be found from the Laplace transform of the above
|
|||||||
|
|
||||||
<div class="exampl">
|
<div class="exampl">
|
||||||
|
|
||||||
Consider the mass-spring-damper system depicted in Figure [35](#figure--fig:taghirad13-impedance-control-rlc).
|
Consider the mass-spring-damper system depicted in [35](#figure--fig:taghirad13-impedance-control-rlc).
|
||||||
The governing dynamic formulation for this system is given by
|
The governing dynamic formulation for this system is given by
|
||||||
\\[ m \ddot{x} + c \dot{x} + k x = f \\]
|
\\[ m \ddot{x} + c \dot{x} + k x = f \\]
|
||||||
in which \\(m\\) denote the body mass, \\(c\\) the damper viscous coefficient and \\(k\\) the spring stiffness.
|
in which \\(m\\) denote the body mass, \\(c\\) the damper viscous coefficient and \\(k\\) the spring stiffness.
|
||||||
@ -2811,7 +2811,7 @@ An impedance \\(\bm{Z}(s)\\) is called
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Hence, for the mechanical system represented in Figure [35](#figure--fig:taghirad13-impedance-control-rlc):
|
Hence, for the mechanical system represented in [35](#figure--fig:taghirad13-impedance-control-rlc):
|
||||||
|
|
||||||
- mass represents inductive impedance
|
- mass represents inductive impedance
|
||||||
- viscous friction represents resistive impedance
|
- viscous friction represents resistive impedance
|
||||||
@ -2844,9 +2844,9 @@ In the impedance control scheme, **regulation of the motion-force dynamic relati
|
|||||||
Therefore, when the manipulator is not in contact with a stiff environment, position tracking is guaranteed by a primary controller.
|
Therefore, when the manipulator is not in contact with a stiff environment, position tracking is guaranteed by a primary controller.
|
||||||
However, when there is an interacting wrench \\(\bm{\mathcal{F}}\_e\\) applied to the moving platform, this structure may be designed to control the force-motion dynamic relation.<br />
|
However, when there is an interacting wrench \\(\bm{\mathcal{F}}\_e\\) applied to the moving platform, this structure may be designed to control the force-motion dynamic relation.<br />
|
||||||
|
|
||||||
As a possible impedance control scheme, consider the closed-loop system depicted in Figure [36](#figure--fig:taghira13-impedance-control), in which the position feedback is considered in the outer loop, while force feedback is used in the inner loop.
|
As a possible impedance control scheme, consider the closed-loop system depicted in [36](#figure--fig:taghira13-impedance-control), in which the position feedback is considered in the outer loop, while force feedback is used in the inner loop.
|
||||||
This structure is advised when a desired impedance relation between the force and motion variables is required that consists of desired inductive, resistive, and capacitive impedances.
|
This structure is advised when a desired impedance relation between the force and motion variables is required that consists of desired inductive, resistive, and capacitive impedances.
|
||||||
As shown in Figure [36](#figure--fig:taghira13-impedance-control), the motion-tracking error is directly determined from motion measurement by \\(\bm{e}\_x = \bm{\mathcal{X}}\_d - \bm{\mathcal{X}}\\) in the outer loop and the motion controller is designed to satisfy the required impedance.
|
As shown in [36](#figure--fig:taghira13-impedance-control), the motion-tracking error is directly determined from motion measurement by \\(\bm{e}\_x = \bm{\mathcal{X}}\_d - \bm{\mathcal{X}}\\) in the outer loop and the motion controller is designed to satisfy the required impedance.
|
||||||
|
|
||||||
Moreover, direct force-tracking objective is not assigned in this control scheme, and therefore the desired force trajectory \\(\bm{\mathcal{F}}\_d\\) is absent in this scheme.
|
Moreover, direct force-tracking objective is not assigned in this control scheme, and therefore the desired force trajectory \\(\bm{\mathcal{F}}\_d\\) is absent in this scheme.
|
||||||
However, an auxiliary force trajectory \\(\bm{\mathcal{F}}\_a\\) is generated from the motion control law and is used as the reference for the force tracking.
|
However, an auxiliary force trajectory \\(\bm{\mathcal{F}}\_a\\) is generated from the motion control law and is used as the reference for the force tracking.
|
||||||
@ -2859,9 +2859,9 @@ By this means, no prescribed force trajectory is tracked, while the **motion con
|
|||||||
The required wrench \\(\bm{\mathcal{F}}\\) in the impedance control scheme, is based on inverse dynamics control and consists of three main parts.
|
The required wrench \\(\bm{\mathcal{F}}\\) in the impedance control scheme, is based on inverse dynamics control and consists of three main parts.
|
||||||
In the inner loop, the force control scheme is based on a feedback linearization part in addition to a mass matrix adjustment, while in the outer loop usually a linear motion controller is considered based on the desired impedance requirements.
|
In the inner loop, the force control scheme is based on a feedback linearization part in addition to a mass matrix adjustment, while in the outer loop usually a linear motion controller is considered based on the desired impedance requirements.
|
||||||
|
|
||||||
Although many different impedance structures may be considered as the basis of the control law, in Figure [36](#figure--fig:taghira13-impedance-control), a linear impedance relation between the force and motion variables is generated that consists of desired inductive \\(\bm{M}\_d\\), resistive \\(\bm{C}\_d\\) and capacitive impedances \\(\bm{K}\_d\\).<br />
|
Although many different impedance structures may be considered as the basis of the control law, in [36](#figure--fig:taghira13-impedance-control), a linear impedance relation between the force and motion variables is generated that consists of desired inductive \\(\bm{M}\_d\\), resistive \\(\bm{C}\_d\\) and capacitive impedances \\(\bm{K}\_d\\).<br />
|
||||||
|
|
||||||
According to Figure [36](#figure--fig:taghira13-impedance-control), the controller output wrench \\(\bm{\mathcal{F}}\\), applied to the manipulator may be formulated as
|
According to [36](#figure--fig:taghira13-impedance-control), the controller output wrench \\(\bm{\mathcal{F}}\\), applied to the manipulator may be formulated as
|
||||||
\\[ \bm{\mathcal{F}} = \hat{\bm{M}} \bm{M}\_d^{-1} \bm{e}\_F + \bm{\mathcal{F}}\_{fl} \\]
|
\\[ \bm{\mathcal{F}} = \hat{\bm{M}} \bm{M}\_d^{-1} \bm{e}\_F + \bm{\mathcal{F}}\_{fl} \\]
|
||||||
with:
|
with:
|
||||||
|
|
||||||
|
@ -24,13 +24,13 @@ Year
|
|||||||
|
|
||||||
### Flexure Jointed Hexapods {#flexure-jointed-hexapods}
|
### Flexure Jointed Hexapods {#flexure-jointed-hexapods}
|
||||||
|
|
||||||
A general flexible jointed hexapod is shown in Figure [1](#figure--fig:li01-flexure-hexapod-model).
|
A general flexible jointed hexapod is shown in [1](#figure--fig:li01-flexure-hexapod-model).
|
||||||
|
|
||||||
<a id="figure--fig:li01-flexure-hexapod-model"></a>
|
<a id="figure--fig:li01-flexure-hexapod-model"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/li01_flexure_hexapod_model.png" caption="<span class=\"figure-number\">Figure 1: </span>A flexure jointed hexapod. {P} is a cartesian coordinate frame located at, and rigidly attached to the payload's center of mass. {B} is the frame attached to the base, and {U} is a universal inertial frame of reference" >}}
|
{{< figure src="/ox-hugo/li01_flexure_hexapod_model.png" caption="<span class=\"figure-number\">Figure 1: </span>A flexure jointed hexapod. {P} is a cartesian coordinate frame located at, and rigidly attached to the payload's center of mass. {B} is the frame attached to the base, and {U} is a universal inertial frame of reference" >}}
|
||||||
|
|
||||||
Flexure jointed hexapods have been developed to meet two needs illustrated in Figure [2](#figure--fig:li01-quet-dirty-box).
|
Flexure jointed hexapods have been developed to meet two needs illustrated in [2](#figure--fig:li01-quet-dirty-box).
|
||||||
|
|
||||||
<a id="figure--fig:li01-quet-dirty-box"></a>
|
<a id="figure--fig:li01-quet-dirty-box"></a>
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ On the other hand, the flexures add some complexity to the hexapod dynamics.
|
|||||||
Although the flexure joints do eliminate friction and backlash, they add spring dynamics and severely limit the workspace.
|
Although the flexure joints do eliminate friction and backlash, they add spring dynamics and severely limit the workspace.
|
||||||
Moreover, base and/or payload vibrations become significant contributors to the motion.
|
Moreover, base and/or payload vibrations become significant contributors to the motion.
|
||||||
|
|
||||||
The University of Wyoming hexapods (example in Figure [3](#figure--fig:li01-stewart-platform)) are:
|
The University of Wyoming hexapods (example in [3](#figure--fig:li01-stewart-platform)) are:
|
||||||
|
|
||||||
- Cubic (mutually orthogonal)
|
- Cubic (mutually orthogonal)
|
||||||
- Flexure Jointed
|
- Flexure Jointed
|
||||||
@ -87,7 +87,7 @@ J = \begin{bmatrix}
|
|||||||
\end{bmatrix}
|
\end{bmatrix}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
where (see Figure [1](#figure--fig:li01-flexure-hexapod-model)) \\(p\_i\\) denotes the payload attachment point of strut \\(i\\), the prescripts denote the frame of reference, and \\(\hat{u}\_i\\) denotes a unit vector along strut \\(i\\).
|
where (see [1](#figure--fig:li01-flexure-hexapod-model)) \\(p\_i\\) denotes the payload attachment point of strut \\(i\\), the prescripts denote the frame of reference, and \\(\hat{u}\_i\\) denotes a unit vector along strut \\(i\\).
|
||||||
To make the dynamic model as simple as possible, the origin of {P} is located at the payload's center of mass.
|
To make the dynamic model as simple as possible, the origin of {P} is located at the payload's center of mass.
|
||||||
Thus all \\({}^Pp\_i\\) are found with respect to the center of mass.
|
Thus all \\({}^Pp\_i\\) are found with respect to the center of mass.
|
||||||
|
|
||||||
@ -140,7 +140,7 @@ Equation <eq:hexapod_eq_motion> can be rewritten as:
|
|||||||
\end{split}
|
\end{split}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
If the hexapod is designed such that the payload mass/inertia matrix written in the base frame (\\(^BM\_x = {}^B\_PR \cdot {}^PM\_x \cdot {}^B\_PR\_T\\)) and \\(J^T J\\) are diagonal, the dynamics from \\(u\_1\\) to \\(y\\) are decoupled (Figure [4](#figure--fig:li01-decoupling-conf)).
|
If the hexapod is designed such that the payload mass/inertia matrix written in the base frame (\\(^BM\_x = {}^B\_PR \cdot {}^PM\_x \cdot {}^B\_PR\_T\\)) and \\(J^T J\\) are diagonal, the dynamics from \\(u\_1\\) to \\(y\\) are decoupled ([4](#figure--fig:li01-decoupling-conf)).
|
||||||
|
|
||||||
<a id="figure--fig:li01-decoupling-conf"></a>
|
<a id="figure--fig:li01-decoupling-conf"></a>
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ Alternatively, a new set of inputs and outputs can be defined:
|
|||||||
u\_2 = J^{-1} f\_m, \quad y = J^{-1} (l - l\_r)
|
u\_2 = J^{-1} f\_m, \quad y = J^{-1} (l - l\_r)
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
And another decoupled plant is found (Figure [5](#figure--fig:li01-decoupling-conf-bis)):
|
And another decoupled plant is found ([5](#figure--fig:li01-decoupling-conf-bis)):
|
||||||
|
|
||||||
\begin{equation} \label{eq:hexapod\_eq\_motion\_decoup\_2}
|
\begin{equation} \label{eq:hexapod\_eq\_motion\_decoup\_2}
|
||||||
\begin{split}
|
\begin{split}
|
||||||
@ -200,13 +200,13 @@ The control bandwidth is divided as follows:
|
|||||||
|
|
||||||
### Vibration Isolation {#vibration-isolation}
|
### Vibration Isolation {#vibration-isolation}
|
||||||
|
|
||||||
The system is decoupled into six independent SISO subsystems using the architecture shown in Figure [6](#figure--fig:li01-vibration-isolation-control).
|
The system is decoupled into six independent SISO subsystems using the architecture shown in [6](#figure--fig:li01-vibration-isolation-control).
|
||||||
|
|
||||||
<a id="figure--fig:li01-vibration-isolation-control"></a>
|
<a id="figure--fig:li01-vibration-isolation-control"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/li01_vibration_isolation_control.png" caption="<span class=\"figure-number\">Figure 6: </span>Vibration isolation control strategy" >}}
|
{{< figure src="/ox-hugo/li01_vibration_isolation_control.png" caption="<span class=\"figure-number\">Figure 6: </span>Vibration isolation control strategy" >}}
|
||||||
|
|
||||||
One of the subsystem plant transfer function is shown in Figure [6](#figure--fig:li01-vibration-isolation-control)
|
One of the subsystem plant transfer function is shown in [6](#figure--fig:li01-vibration-isolation-control)
|
||||||
|
|
||||||
<a id="figure--fig:li01-vibration-isolation-control"></a>
|
<a id="figure--fig:li01-vibration-isolation-control"></a>
|
||||||
|
|
||||||
@ -243,7 +243,7 @@ The reason is not explained.
|
|||||||
|
|
||||||
### Pointing Control Techniques {#pointing-control-techniques}
|
### Pointing Control Techniques {#pointing-control-techniques}
|
||||||
|
|
||||||
A block diagram of the pointing control system is shown in Figure [8](#figure--fig:li01-pointing-control).
|
A block diagram of the pointing control system is shown in [8](#figure--fig:li01-pointing-control).
|
||||||
|
|
||||||
<a id="figure--fig:li01-pointing-control"></a>
|
<a id="figure--fig:li01-pointing-control"></a>
|
||||||
|
|
||||||
@ -252,7 +252,7 @@ A block diagram of the pointing control system is shown in Figure [8](#figure--f
|
|||||||
The plant is decoupled into two independent SISO subsystems.
|
The plant is decoupled into two independent SISO subsystems.
|
||||||
The decoupling matrix consists of the columns of \\(J\\) corresponding to the pointing DoFs.
|
The decoupling matrix consists of the columns of \\(J\\) corresponding to the pointing DoFs.
|
||||||
|
|
||||||
Figure [9](#figure--fig:li01-transfer-function-angle) shows the measured transfer function of the \\(\theta\_x\\) axis.
|
[9](#figure--fig:li01-transfer-function-angle) shows the measured transfer function of the \\(\theta\_x\\) axis.
|
||||||
|
|
||||||
<a id="figure--fig:li01-transfer-function-angle"></a>
|
<a id="figure--fig:li01-transfer-function-angle"></a>
|
||||||
|
|
||||||
@ -268,7 +268,7 @@ A typical compensator consists of the following elements:
|
|||||||
|
|
||||||
The unity control bandwidth of the pointing loop is designed to be from **0Hz to 20Hz**.
|
The unity control bandwidth of the pointing loop is designed to be from **0Hz to 20Hz**.
|
||||||
|
|
||||||
A feedforward control is added as shown in Figure [10](#figure--fig:li01-feedforward-control).
|
A feedforward control is added as shown in [10](#figure--fig:li01-feedforward-control).
|
||||||
\\(C\_f\\) is the feedforward compensator which is a 2x2 diagonal matrix.
|
\\(C\_f\\) is the feedforward compensator which is a 2x2 diagonal matrix.
|
||||||
Ideally, the feedforward compensator is an invert of the plant dynamics.
|
Ideally, the feedforward compensator is an invert of the plant dynamics.
|
||||||
|
|
||||||
@ -284,7 +284,7 @@ The simultaneous vibration isolation and pointing control is approached in two w
|
|||||||
1. **Closing the vibration isolation loop first**: Design and implement the vibration isolation control first, identify the pointing plant when the isolation loops are closed, then implement the pointing compensators.
|
1. **Closing the vibration isolation loop first**: Design and implement the vibration isolation control first, identify the pointing plant when the isolation loops are closed, then implement the pointing compensators.
|
||||||
2. **Closing the pointing loop first**: Reverse order.
|
2. **Closing the pointing loop first**: Reverse order.
|
||||||
|
|
||||||
Figure [11](#figure--fig:li01-parallel-control) shows a parallel control structure where \\(G\_1(s)\\) is the dynamics from input force to output strut length.
|
[11](#figure--fig:li01-parallel-control) shows a parallel control structure where \\(G\_1(s)\\) is the dynamics from input force to output strut length.
|
||||||
|
|
||||||
<a id="figure--fig:li01-parallel-control"></a>
|
<a id="figure--fig:li01-parallel-control"></a>
|
||||||
|
|
||||||
@ -302,16 +302,16 @@ However, the interaction between loops may affect the transfer functions of the
|
|||||||
The dynamic interaction effect:
|
The dynamic interaction effect:
|
||||||
|
|
||||||
- Only happens in the unity bandwidth of the loop transmission of the first closed loop.
|
- Only happens in the unity bandwidth of the loop transmission of the first closed loop.
|
||||||
- Affect the closed loop transmission of the loop first closed (see Figures [12](#figure--fig:li01-closed-loop-pointing) and [13](#figure--fig:li01-closed-loop-vibration))
|
- Affect the closed loop transmission of the loop first closed (see [12](#figure--fig:li01-closed-loop-pointing) and [13](#figure--fig:li01-closed-loop-vibration))
|
||||||
|
|
||||||
As shown in Figure [12](#figure--fig:li01-closed-loop-pointing), the peak resonance of the pointing loop increase after the isolation loop is closed.
|
As shown in [12](#figure--fig:li01-closed-loop-pointing), the peak resonance of the pointing loop increase after the isolation loop is closed.
|
||||||
The resonances happen at both crossovers of the isolation loop (15Hz and 50Hz) and they may show of loss of robustness.
|
The resonances happen at both crossovers of the isolation loop (15Hz and 50Hz) and they may show of loss of robustness.
|
||||||
|
|
||||||
<a id="figure--fig:li01-closed-loop-pointing"></a>
|
<a id="figure--fig:li01-closed-loop-pointing"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/li01_closed_loop_pointing.png" caption="<span class=\"figure-number\">Figure 12: </span>Closed-loop transfer functions \\(\theta\_y/\theta\_{y\_d}\\) of the pointing loop before and after the vibration isolation loop is closed" >}}
|
{{< figure src="/ox-hugo/li01_closed_loop_pointing.png" caption="<span class=\"figure-number\">Figure 12: </span>Closed-loop transfer functions \\(\theta\_y/\theta\_{y\_d}\\) of the pointing loop before and after the vibration isolation loop is closed" >}}
|
||||||
|
|
||||||
The same happens when first closing the vibration isolation loop and after the pointing loop (Figure [13](#figure--fig:li01-closed-loop-vibration)).
|
The same happens when first closing the vibration isolation loop and after the pointing loop ([13](#figure--fig:li01-closed-loop-vibration)).
|
||||||
The first peak resonance of the vibration isolation loop at 15Hz is increased when closing the pointing loop.
|
The first peak resonance of the vibration isolation loop at 15Hz is increased when closing the pointing loop.
|
||||||
|
|
||||||
<a id="figure--fig:li01-closed-loop-vibration"></a>
|
<a id="figure--fig:li01-closed-loop-vibration"></a>
|
||||||
@ -328,7 +328,7 @@ Thus, it is recommended to design and implement the isolation control system fir
|
|||||||
|
|
||||||
### Experimental results {#experimental-results}
|
### Experimental results {#experimental-results}
|
||||||
|
|
||||||
Two hexapods are stacked (Figure [14](#figure--fig:li01-test-bench)):
|
Two hexapods are stacked ([14](#figure--fig:li01-test-bench)):
|
||||||
|
|
||||||
- the bottom hexapod is used to generate disturbances matching candidate applications
|
- the bottom hexapod is used to generate disturbances matching candidate applications
|
||||||
- the top hexapod provide simultaneous vibration isolation and pointing control
|
- the top hexapod provide simultaneous vibration isolation and pointing control
|
||||||
@ -338,7 +338,7 @@ Two hexapods are stacked (Figure [14](#figure--fig:li01-test-bench)):
|
|||||||
{{< figure src="/ox-hugo/li01_test_bench.png" caption="<span class=\"figure-number\">Figure 14: </span>Stacked Hexapods" >}}
|
{{< figure src="/ox-hugo/li01_test_bench.png" caption="<span class=\"figure-number\">Figure 14: </span>Stacked Hexapods" >}}
|
||||||
|
|
||||||
First, the vibration isolation and pointing controls were implemented separately.
|
First, the vibration isolation and pointing controls were implemented separately.
|
||||||
Using the vibration isolation control alone, no attenuation is achieved below 1Hz as shown in figure [15](#figure--fig:li01-vibration-isolation-control-results).
|
Using the vibration isolation control alone, no attenuation is achieved below 1Hz as shown in [15](#figure--fig:li01-vibration-isolation-control-results).
|
||||||
|
|
||||||
<a id="figure--fig:li01-vibration-isolation-control-results"></a>
|
<a id="figure--fig:li01-vibration-isolation-control-results"></a>
|
||||||
|
|
||||||
@ -349,7 +349,7 @@ The simultaneous control is of dual use:
|
|||||||
- it provide simultaneous pointing and isolation control
|
- it provide simultaneous pointing and isolation control
|
||||||
- it can also be used to expand the bandwidth of the isolation control to low frequencies because the pointing loops suppress pointing errors due to both base vibrations and tracking
|
- it can also be used to expand the bandwidth of the isolation control to low frequencies because the pointing loops suppress pointing errors due to both base vibrations and tracking
|
||||||
|
|
||||||
The results of simultaneous control is shown in Figure [16](#figure--fig:li01-simultaneous-control-results) where the bandwidth of the isolation control is expanded to very low frequency.
|
The results of simultaneous control is shown in [16](#figure--fig:li01-simultaneous-control-results) where the bandwidth of the isolation control is expanded to very low frequency.
|
||||||
|
|
||||||
<a id="figure--fig:li01-simultaneous-control-results"></a>
|
<a id="figure--fig:li01-simultaneous-control-results"></a>
|
||||||
|
|
||||||
|
@ -82,17 +82,17 @@ As damping concept, a **viscous fuild damper** is chosen due to the following pr
|
|||||||
|
|
||||||
The guild applied is Rocol Kilopoise 0868 and is chosen based on the extremely high viscosity of 220 Pas.
|
The guild applied is Rocol Kilopoise 0868 and is chosen based on the extremely high viscosity of 220 Pas.
|
||||||
|
|
||||||
In order to measure the damping the measurement bench shown in Figure [1](#figure--fig:verbaan15-tmd-mech-system) is used.
|
In order to measure the damping the measurement bench shown in [3](#figure--fig:verbaan15-tmd-mech-system) is used.
|
||||||
The measured FRF are shown in Figure [1](#figure--fig:verbaan15-obtained-damping-bench).
|
The measured FRF are shown in [4](#figure--fig:verbaan15-obtained-damping-bench).
|
||||||
The measurement clearly shows that the damper mechanism is over-critically damped.
|
The measurement clearly shows that the damper mechanism is over-critically damped.
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-tmd-mech-system"></a>
|
<a id="figure--fig:verbaan15-tmd-mech-system"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_tmd_mech_system.png" caption="<span class=\"figure-number\">Figure 1: </span>Damper test setup to measure the damping characteristics" >}}
|
{{< figure src="/ox-hugo/verbaan15_tmd_mech_system.png" caption="<span class=\"figure-number\">Figure 3: </span>Damper test setup to measure the damping characteristics" >}}
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-obtained-damping-bench"></a>
|
<a id="figure--fig:verbaan15-obtained-damping-bench"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_obtained_damping_bench.png" caption="<span class=\"figure-number\">Figure 1: </span>Obtained damping results" >}}
|
{{< figure src="/ox-hugo/verbaan15_obtained_damping_bench.png" caption="<span class=\"figure-number\">Figure 4: </span>Obtained damping results" >}}
|
||||||
|
|
||||||
|
|
||||||
## Linear viscoelastic characterisation of an ultra-high viscosity fluid {#linear-viscoelastic-characterisation-of-an-ultra-high-viscosity-fluid}
|
## Linear viscoelastic characterisation of an ultra-high viscosity fluid {#linear-viscoelastic-characterisation-of-an-ultra-high-viscosity-fluid}
|
||||||
@ -101,11 +101,11 @@ The measurement clearly shows that the damper mechanism is over-critically dampe
|
|||||||
> This design is flexure based to minimize parasitic nonlinear forces.
|
> This design is flexure based to minimize parasitic nonlinear forces.
|
||||||
> Design and the damping mechanism are elaborated and a model is presented that describes the dynamic behavior.
|
> Design and the damping mechanism are elaborated and a model is presented that describes the dynamic behavior.
|
||||||
|
|
||||||
The damper shown in Figure [1](#figure--fig:verbaan15-damper-parts) can be used as a sliding plate rheometer to measure the linear viscoelastic properties of ultra-high viscosity fluids in the frequency range 10Hz to 10kHz.
|
The damper shown in [5](#figure--fig:verbaan15-damper-parts) can be used as a sliding plate rheometer to measure the linear viscoelastic properties of ultra-high viscosity fluids in the frequency range 10Hz to 10kHz.
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-damper-parts"></a>
|
<a id="figure--fig:verbaan15-damper-parts"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_damper_parts.png" caption="<span class=\"figure-number\">Figure 1: </span>Damper parts" >}}
|
{{< figure src="/ox-hugo/verbaan15_damper_parts.png" caption="<span class=\"figure-number\">Figure 5: </span>Damper parts" >}}
|
||||||
|
|
||||||
The full damper assembly consists of a mass, mounted on two springs and a damper in parallel configuration.
|
The full damper assembly consists of a mass, mounted on two springs and a damper in parallel configuration.
|
||||||
The mass can make small strokes in the x-direction and is fixed in all other directions.
|
The mass can make small strokes in the x-direction and is fixed in all other directions.
|
||||||
@ -114,17 +114,17 @@ The space between the lead springs is used to accommodate for the damping mechan
|
|||||||
|
|
||||||
<a id="figure--fig:verbaan15-tmd-slot-fin-parts"></a>
|
<a id="figure--fig:verbaan15-tmd-slot-fin-parts"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_tmd_slot_fin_parts.png" caption="<span class=\"figure-number\">Figure 1: </span>Exploded view of the damper parts" >}}
|
{{< figure src="/ox-hugo/verbaan15_tmd_slot_fin_parts.png" caption="<span class=\"figure-number\">Figure 6: </span>Exploded view of the damper parts" >}}
|
||||||
|
|
||||||
A high-viscosity fluid is applied to create a velocity dependent force.
|
A high-viscosity fluid is applied to create a velocity dependent force.
|
||||||
For this purpose, the sliding plate principle is used which induces a **shear flow**: the fluid is placed between two slot plates and a fin is positioned between these two plates (Figure [1](#figure--fig:verbaan15single-double-fin)).
|
For this purpose, the sliding plate principle is used which induces a **shear flow**: the fluid is placed between two slot plates and a fin is positioned between these two plates ([7](#figure--fig:verbaan15single-double-fin)).
|
||||||
A **flexible encapsulation** is used to hold the fluid between find and slot part.
|
A **flexible encapsulation** is used to hold the fluid between find and slot part.
|
||||||
|
|
||||||
To study different damping values with the same fluid, two damper designs with different geometries are used (see Figure [1](#figure--fig:verbaan15single-double-fin)).
|
To study different damping values with the same fluid, two damper designs with different geometries are used (see [7](#figure--fig:verbaan15single-double-fin)).
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15single-double-fin"></a>
|
<a id="figure--fig:verbaan15single-double-fin"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15single_double_fin.png" caption="<span class=\"figure-number\">Figure 1: </span>Cross-sectional views of the two different damping mechanims. The single fin (left) and double fin (right)." >}}
|
{{< figure src="/ox-hugo/verbaan15single_double_fin.png" caption="<span class=\"figure-number\">Figure 7: </span>Cross-sectional views of the two different damping mechanims. The single fin (left) and double fin (right)." >}}
|
||||||
|
|
||||||
To excite the damper mass, a voice coil is mounted to the hardware.
|
To excite the damper mass, a voice coil is mounted to the hardware.
|
||||||
The damper position is measured with a laser vibrometer.
|
The damper position is measured with a laser vibrometer.
|
||||||
@ -151,7 +151,7 @@ t\_c = \frac{10 \rho h^2}{\eta}
|
|||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
in which \\(\rho\\) describes the fluid density in \\(kg/m^3\\), \\(\eta\\) the dynamic viscosity in \\(Pa s\\) and \\(h\\) the gap width in \\(m\\).
|
in which \\(\rho\\) describes the fluid density in \\(kg/m^3\\), \\(\eta\\) the dynamic viscosity in \\(Pa s\\) and \\(h\\) the gap width in \\(m\\).
|
||||||
Dimensions are provided in Table [1](#table--tab:single-fin-parameters).
|
Dimensions are provided in [1](#table--tab:single-fin-parameters).
|
||||||
This estimate results in a frequency above 100kHz.
|
This estimate results in a frequency above 100kHz.
|
||||||
It shows that high fluid viscosities and small gap widths enable high frequencies without losing homogeneous flow conditions.
|
It shows that high fluid viscosities and small gap widths enable high frequencies without losing homogeneous flow conditions.
|
||||||
|
|
||||||
@ -182,12 +182,12 @@ A three mode Maxwell model can accurately describe the behavior.
|
|||||||
This chapter presents the results of a robust mass damper implementation on a complex motion stage with realistic natural frequencies to increase the modal damping of flexible modes.
|
This chapter presents the results of a robust mass damper implementation on a complex motion stage with realistic natural frequencies to increase the modal damping of flexible modes.
|
||||||
A design approach is presented which results in parameter values for the dampers to improve the modal damping over a specified frequency range.
|
A design approach is presented which results in parameter values for the dampers to improve the modal damping over a specified frequency range.
|
||||||
|
|
||||||
Figure [1](#figure--fig:verbaan15-stage-undamped) shows a collocated FRF of the stage's corner.
|
[8](#figure--fig:verbaan15-stage-undamped) shows a collocated FRF of the stage's corner.
|
||||||
The goal is to increase the modal damping of modes 7, 9, 10/11 and 13.
|
The goal is to increase the modal damping of modes 7, 9, 10/11 and 13.
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-stage-undamped"></a>
|
<a id="figure--fig:verbaan15-stage-undamped"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_stage_undamped.png" caption="<span class=\"figure-number\">Figure 1: </span>FRF at the stage corner in the z-direction, undamped" >}}
|
{{< figure src="/ox-hugo/verbaan15_stage_undamped.png" caption="<span class=\"figure-number\">Figure 8: </span>FRF at the stage corner in the z-direction, undamped" >}}
|
||||||
|
|
||||||
The transfer function \\(T\_i(s)\\) is defined as the contribution of the a single mode \\(i\\) in an input/output transfer function:
|
The transfer function \\(T\_i(s)\\) is defined as the contribution of the a single mode \\(i\\) in an input/output transfer function:
|
||||||
|
|
||||||
@ -215,13 +215,13 @@ It is known from literature that the efficiency of a TMD depends on the **mass r
|
|||||||
It follows that the efficiency of a TMD to damp a certain resonance depends on the position of the damper on the stage in a quadratic sense.
|
It follows that the efficiency of a TMD to damp a certain resonance depends on the position of the damper on the stage in a quadratic sense.
|
||||||
The TMD has to be located at the maximum displacement of the mode(s) to be damped.
|
The TMD has to be located at the maximum displacement of the mode(s) to be damped.
|
||||||
|
|
||||||
The damper configuration consists of an inertial mass \\(m\\), a transnational flexible guide designed as a double leaf spring mechanism with total stiffness \\(c\\) and a part that creates the damping force with damping constant \\(d\\) (model shown in Figure [1](#figure--fig:verbaan15-maxwell-fluid-model)).
|
The damper configuration consists of an inertial mass \\(m\\), a transnational flexible guide designed as a double leaf spring mechanism with total stiffness \\(c\\) and a part that creates the damping force with damping constant \\(d\\) (model shown in [9](#figure--fig:verbaan15-maxwell-fluid-model)).
|
||||||
The velocity dependent damper force is the result of two parameters:
|
The velocity dependent damper force is the result of two parameters:
|
||||||
|
|
||||||
- the fluid's mechanical properties
|
- the fluid's mechanical properties
|
||||||
- the damper geometry
|
- the damper geometry
|
||||||
|
|
||||||
The fluid model is presented in Figure [1](#figure--fig:verbaan15-fluid-lve-model).
|
The fluid model is presented in [10](#figure--fig:verbaan15-fluid-lve-model).
|
||||||
This figure shows the viscous and elastic properties of the fluid as a function of the frequency.
|
This figure shows the viscous and elastic properties of the fluid as a function of the frequency.
|
||||||
The damper principle is chosen to be a parallel plate damper based on the shear principle with the viscous fluid in between the two parallel plates.
|
The damper principle is chosen to be a parallel plate damper based on the shear principle with the viscous fluid in between the two parallel plates.
|
||||||
In case of a velocity difference between these plates, a velocity gradient is created in the fluid causing a specific force per unit of area, which, multiplied by the effective area submerged in the fluid, leads to a damping force.
|
In case of a velocity difference between these plates, a velocity gradient is created in the fluid causing a specific force per unit of area, which, multiplied by the effective area submerged in the fluid, leads to a damping force.
|
||||||
@ -241,11 +241,11 @@ In the example, the modal mass is 3.5kg and the damper mass is 110g (useful iner
|
|||||||
|
|
||||||
<a id="figure--fig:verbaan15-maxwell-fluid-model"></a>
|
<a id="figure--fig:verbaan15-maxwell-fluid-model"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_maxwell_fluid_model.png" caption="<span class=\"figure-number\">Figure 1: </span>Damper model with multi-mode Maxwell fluid model included" >}}
|
{{< figure src="/ox-hugo/verbaan15_maxwell_fluid_model.png" caption="<span class=\"figure-number\">Figure 9: </span>Damper model with multi-mode Maxwell fluid model included" >}}
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-fluid-lve-model"></a>
|
<a id="figure--fig:verbaan15-fluid-lve-model"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_fluid_lve_model.png" caption="<span class=\"figure-number\">Figure 1: </span>Storage and loss modulus of the 3 Maxwell mode LVE fluid model" >}}
|
{{< figure src="/ox-hugo/verbaan15_fluid_lve_model.png" caption="<span class=\"figure-number\">Figure 10: </span>Storage and loss modulus of the 3 Maxwell mode LVE fluid model" >}}
|
||||||
|
|
||||||
|
|
||||||
### TMD and RMD optimisation {#tmd-and-rmd-optimisation}
|
### TMD and RMD optimisation {#tmd-and-rmd-optimisation}
|
||||||
@ -258,26 +258,26 @@ An algorithm is used to optimize the damping and is used in two cases:
|
|||||||
This results in a **robust mass damper** optimal design
|
This results in a **robust mass damper** optimal design
|
||||||
|
|
||||||
The algorithm is first used to calculate the optimal parameters to suppress a **single** resonance frequency.
|
The algorithm is first used to calculate the optimal parameters to suppress a **single** resonance frequency.
|
||||||
The result is shown in Figure [1](#figure--fig:verbaan15-tmd-optimization) and shows **Tuned Mass Damper** behavior.
|
The result is shown in [11](#figure--fig:verbaan15-tmd-optimization) and shows **Tuned Mass Damper** behavior.
|
||||||
|
|
||||||
For this single frequency, stiffness and damping values can be calculated by hand.
|
For this single frequency, stiffness and damping values can be calculated by hand.
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-tmd-optimization"></a>
|
<a id="figure--fig:verbaan15-tmd-optimization"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_tmd_optimization.png" caption="<span class=\"figure-number\">Figure 1: </span>Result of the optimization procedure. The cost function is specified between 1kHz and 2kHz. This implies that the first mode is suppressed by the damper." >}}
|
{{< figure src="/ox-hugo/verbaan15_tmd_optimization.png" caption="<span class=\"figure-number\">Figure 11: </span>Result of the optimization procedure. The cost function is specified between 1kHz and 2kHz. This implies that the first mode is suppressed by the damper." >}}
|
||||||
|
|
||||||
To obtain broad banded damping, the cost function is redefined between 1 and 4kHz.
|
To obtain broad banded damping, the cost function is redefined between 1 and 4kHz.
|
||||||
Figure [1](#figure--fig:verbaan15-broadbanded-damping-results) presents the resulting bode diagram.
|
[12](#figure--fig:verbaan15-broadbanded-damping-results) presents the resulting bode diagram.
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-broadbanded-damping-results"></a>
|
<a id="figure--fig:verbaan15-broadbanded-damping-results"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_broadbanded_damping_results.png" caption="<span class=\"figure-number\">Figure 1: </span>Result of the optimization procedure with the cost function specified between 1 and 4kHz. The result is a range of resonances that are suppressed by the dampers." >}}
|
{{< figure src="/ox-hugo/verbaan15_broadbanded_damping_results.png" caption="<span class=\"figure-number\">Figure 12: </span>Result of the optimization procedure with the cost function specified between 1 and 4kHz. The result is a range of resonances that are suppressed by the dampers." >}}
|
||||||
|
|
||||||
Results of optimizations for increasing damper mass, in the range from 10 to 250g per damper are shown in Figure [1](#figure--fig:verbaan15-results-fct-mass).
|
Results of optimizations for increasing damper mass, in the range from 10 to 250g per damper are shown in [13](#figure--fig:verbaan15-results-fct-mass).
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-results-fct-mass"></a>
|
<a id="figure--fig:verbaan15-results-fct-mass"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_results_fct_mass.png" caption="<span class=\"figure-number\">Figure 1: </span>Optimal damper parameters as a function of the damper mass. The upper graph shows the suppression factor in dB, the second graph shows the natural frequency of the damper in Hz and the lower graph shows the geometrical damping factor in m." >}}
|
{{< figure src="/ox-hugo/verbaan15_results_fct_mass.png" caption="<span class=\"figure-number\">Figure 13: </span>Optimal damper parameters as a function of the damper mass. The upper graph shows the suppression factor in dB, the second graph shows the natural frequency of the damper in Hz and the lower graph shows the geometrical damping factor in m." >}}
|
||||||
|
|
||||||
|
|
||||||
### Damper Design and Validation {#damper-design-and-validation}
|
### Damper Design and Validation {#damper-design-and-validation}
|
||||||
@ -291,7 +291,7 @@ A damper mechanism is design which contains the following properties:
|
|||||||
- a geometrical damping factor of 14.3m
|
- a geometrical damping factor of 14.3m
|
||||||
- an encapsulation to contain the fluid
|
- an encapsulation to contain the fluid
|
||||||
|
|
||||||
Figure [1](#figure--fig:verbaan15-RMD-mechanical-parts) shows an exploded view of the RMD design.
|
[14](#figure--fig:verbaan15-RMD-mechanical-parts) shows an exploded view of the RMD design.
|
||||||
The mechanism part is monolithically designed and consists of:
|
The mechanism part is monolithically designed and consists of:
|
||||||
|
|
||||||
1. a mounting side
|
1. a mounting side
|
||||||
@ -302,15 +302,15 @@ The fluid is surrounded by a flexible encapsulation, which prevents it from runn
|
|||||||
|
|
||||||
<a id="figure--fig:verbaan15-RMD-mechanical-parts"></a>
|
<a id="figure--fig:verbaan15-RMD-mechanical-parts"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_RMD_mechanical_parts.png" caption="<span class=\"figure-number\">Figure 1: </span>Exploded view of the robust mass damper design with different parts indicated" >}}
|
{{< figure src="/ox-hugo/verbaan15_RMD_mechanical_parts.png" caption="<span class=\"figure-number\">Figure 14: </span>Exploded view of the robust mass damper design with different parts indicated" >}}
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-RMD-design-modes"></a>
|
<a id="figure--fig:verbaan15-RMD-design-modes"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_RMD_design_modes.png" caption="<span class=\"figure-number\">Figure 1: </span>Four lowest natural frequencies and corresponding mode shapes of the RMD while mounted to a stage corner" >}}
|
{{< figure src="/ox-hugo/verbaan15_RMD_design_modes.png" caption="<span class=\"figure-number\">Figure 15: </span>Four lowest natural frequencies and corresponding mode shapes of the RMD while mounted to a stage corner" >}}
|
||||||
|
|
||||||
<a id="figure--fig:verbaan15-tmd-side-front-views"></a>
|
<a id="figure--fig:verbaan15-tmd-side-front-views"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_tmd_side_front_views.png" caption="<span class=\"figure-number\">Figure 1: </span>A side view and a front view of the fin and slot parts" >}}
|
{{< figure src="/ox-hugo/verbaan15_tmd_side_front_views.png" caption="<span class=\"figure-number\">Figure 16: </span>A side view and a front view of the fin and slot parts" >}}
|
||||||
|
|
||||||
| Dimension | Value | Unit |
|
| Dimension | Value | Unit |
|
||||||
|-------------|-------|------|
|
|-------------|-------|------|
|
||||||
@ -321,7 +321,7 @@ The fluid is surrounded by a flexible encapsulation, which prevents it from runn
|
|||||||
|
|
||||||
<a id="figure--fig:verbaan15-damped-undamped-frf"></a>
|
<a id="figure--fig:verbaan15-damped-undamped-frf"></a>
|
||||||
|
|
||||||
{{< figure src="/ox-hugo/verbaan15_damped_undamped_frf.png" caption="<span class=\"figure-number\">Figure 1: </span>Measured undamped and damped FRF" >}}
|
{{< figure src="/ox-hugo/verbaan15_damped_undamped_frf.png" caption="<span class=\"figure-number\">Figure 17: </span>Measured undamped and damped FRF" >}}
|
||||||
|
|
||||||
|
|
||||||
### Conclusion {#conclusion}
|
### Conclusion {#conclusion}
|
||||||
|
@ -23,7 +23,7 @@ Advantages of air bearings compared to roller bearings:
|
|||||||
|
|
||||||
## Air bearing stiffness {#air-bearing-stiffness}
|
## Air bearing stiffness {#air-bearing-stiffness}
|
||||||
|
|
||||||
Observing figure <fig:air_bearing_stiffness_gap>, we see that air bearings do not have a linear stiffness curve but rather an exponential one, producing higher and higher stiffness values as the film becomes thinner and the loading becomes higher.
|
Observing [1](#figure--fig:air-bearing-stiffness-gap), we see that air bearings do not have a linear stiffness curve but rather an exponential one, producing higher and higher stiffness values as the film becomes thinner and the loading becomes higher.
|
||||||
|
|
||||||
<a id="figure--fig:air-bearing-stiffness-gap"></a>
|
<a id="figure--fig:air-bearing-stiffness-gap"></a>
|
||||||
|
|
||||||
@ -68,4 +68,5 @@ Due to the porous nature, even if some of the holes become clogged or damaged, t
|
|||||||
|
|
||||||
## Bibliography {#bibliography}
|
## Bibliography {#bibliography}
|
||||||
|
|
||||||
<./biblio/references.bib>
|
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
|
||||||
|
</div>
|
||||||
|
@ -38,7 +38,7 @@ F\_{ff} = m a + c v
|
|||||||
|
|
||||||
<span class="org-target" id="org-target--sec-fourth-order-feedforward"></span>
|
<span class="org-target" id="org-target--sec-fourth-order-feedforward"></span>
|
||||||
|
|
||||||
The main advantage of "fourth order feedforward" is that it takes into account the flexibility in the system (one resonance between the actuation point and the measurement point, see Figure <fig:feedforward_double_mass_system>).
|
The main advantage of "fourth order feedforward" is that it takes into account the flexibility in the system (one resonance between the actuation point and the measurement point, see [2](#figure--fig:feedforward-double-mass-system)).
|
||||||
This can lead to better results than second order trajectory planning as demonstrated [here](https://www.20sim.com/control-engineering/snap-feedforward/).
|
This can lead to better results than second order trajectory planning as demonstrated [here](https://www.20sim.com/control-engineering/snap-feedforward/).
|
||||||
|
|
||||||
<a id="figure--fig:feedforward-double-mass-system"></a>
|
<a id="figure--fig:feedforward-double-mass-system"></a>
|
||||||
@ -76,7 +76,7 @@ q\_3 &= (m\_1 + m\_2)c + k\_1 k\_2 + (k\_1 + k\_2) k\_{12} \\\\
|
|||||||
q\_4 &= (k\_1 + k\_2) c
|
q\_4 &= (k\_1 + k\_2) c
|
||||||
\end{align}
|
\end{align}
|
||||||
|
|
||||||
This means that if a fourth-order trajectory for \\(x\_2\\) is used, the feedforward architecture shown in Figure <fig:feedforward_fourth_order_feedforward_architecture> can be used:
|
This means that if a fourth-order trajectory for \\(x\_2\\) is used, the feedforward architecture shown in [3](#figure--fig:feedforward-fourth-order-feedforward-architecture) can be used:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
F\_{f2} = \frac{1}{k\_12 s + c} (q\_1 d + q\_2 j + q\_3 q + q\_4 v)
|
F\_{f2} = \frac{1}{k\_12 s + c} (q\_1 d + q\_2 j + q\_3 q + q\_4 v)
|
||||||
@ -103,7 +103,7 @@ q\_4 &= c\_1 k
|
|||||||
|
|
||||||
and \\(s\\) the snap, \\(j\\) the jerk, \\(a\\) the acceleration and \\(v\\) the velocity.
|
and \\(s\\) the snap, \\(j\\) the jerk, \\(a\\) the acceleration and \\(v\\) the velocity.
|
||||||
|
|
||||||
The same architecture shown in Figure <fig:feedforward_fourth_order_feedforward_architecture> can be used.
|
The same architecture shown in [3](#figure--fig:feedforward-fourth-order-feedforward-architecture) can be used.
|
||||||
|
|
||||||
In order to implement a fourth order trajectory, look at [this](https://www.mathworks.com/matlabcentral/fileexchange/16352-advanced-setpoints-for-motion-systems) nice implementation in Simulink of fourth-order trajectory planning (see also (<a href="#citeproc_bib_item_1">Lambrechts, Boerlage, and Steinbuch 2004</a>)).
|
In order to implement a fourth order trajectory, look at [this](https://www.mathworks.com/matlabcentral/fileexchange/16352-advanced-setpoints-for-motion-systems) nice implementation in Simulink of fourth-order trajectory planning (see also (<a href="#citeproc_bib_item_1">Lambrechts, Boerlage, and Steinbuch 2004</a>)).
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user