Update many posts
This commit is contained in:
224
content/phdthesis/jabben07_mechat.md
Normal file
224
content/phdthesis/jabben07_mechat.md
Normal file
@@ -0,0 +1,224 @@
|
||||
+++
|
||||
title = "Mechatronic design of a magnetically suspended rotating platform"
|
||||
author = ["Thomas Dehaeze"]
|
||||
draft = false
|
||||
+++
|
||||
|
||||
Tags
|
||||
: [Dynamic Error Budgeting]({{< relref "dynamic_error_budgeting" >}})
|
||||
|
||||
Author
|
||||
: Jabben, L.
|
||||
|
||||
Year
|
||||
: 2007
|
||||
|
||||
DOI
|
||||
:
|
||||
|
||||
|
||||
## Dynamic Error Budgeting {#dynamic-error-budgeting}
|
||||
|
||||
|
||||
### Introduction {#introduction}
|
||||
|
||||
A large class of mechatronic machines have specifications based on their _standstill_ performance.
|
||||
The standstill performance is then limited by the (stochastic) disturbances action on the closed loop.
|
||||
|
||||
The difficulty in calculation with stochastic signals and Bode plots, is that, instead of calculating with the complex response at one frequency, the **area** over a frequency range should be taken into account.
|
||||
|
||||
The **error budgeting** is often used to estimate how much each component contributes to the total error
|
||||
|
||||
Since many of the disturbances have a stochastic nature, they can be modelled with their **Power Spectral Densities**.
|
||||
|
||||
The PSD of the performance measure in the closed loop system is the weigted sum of PSDs of the contributions of each disturbance to the performance channel.
|
||||
This approach allows frequency dependent error budgeting, which is why it is referred to as **Dynamic Error Budgeting**.
|
||||
|
||||
|
||||
### Common Mechatronics Disturbances {#common-mechatronics-disturbances}
|
||||
|
||||
|
||||
#### Ground vibrations {#ground-vibrations}
|
||||
|
||||
|
||||
#### Electronic Noise {#electronic-noise}
|
||||
|
||||
**Thermal Noise** (or Johson noise).
|
||||
This noise can be modeled as a voltage source in series with the system impedance.
|
||||
The noise source has a PSD given by:
|
||||
\\[ S\_T(f) = 4 k T \text{Re}(Z(f)) \ [V^2/Hz] \\]
|
||||
with \\(k = 1.38 \cdot 10^{-23} \,[J/K]\\) the Boltzmann's constant, \\(T\\) the temperature [K] and \\(Z(f)\\) the frequency dependent impedance of the system.
|
||||
|
||||
```text
|
||||
A kilo Ohm resistor at 20 degree Celsius will show a thermal noise of $0.13 \mu V$ from zero up to one kHz.
|
||||
```
|
||||
|
||||
**Shot Noise**.
|
||||
Seen with junctions in a transistor.
|
||||
It has a white spectral density:
|
||||
\\[ S\_S = 2 q\_e i\_{dc} \ [A^2/Hz] \\]
|
||||
with \\(q\_e\\) the electronic charge (\\(1.6 \cdot 10^{-19}\, [C]\\)), \\(i\_{dc}\\) the average current [A].
|
||||
|
||||
```text
|
||||
An averable current of 1 A will introduce noise with a STD of $10 \cdot 10^{-9}\,[A]$ from zero up to one kHz.
|
||||
```
|
||||
|
||||
**Excess Noise** (or \\(1/f\\) noise).
|
||||
It results from fluctuating conductivity due to imperfect contact between two materials.
|
||||
The PSD of excess noise increases when the frequency decreases:
|
||||
\\[ S\_E = \frac{K\_f}{f^\alpha}\ [V^2/Hz] \\]
|
||||
where \\(K\_f\\) is dependent on the average voltage drop over the resistor and the index \\(\alpha\\) is usually between 0.8 and 1.4, and often set to unity for approximate calculation.
|
||||
|
||||
**Signal to Noise Ration**
|
||||
Electronic equipment does most often not come with detailed electric schemes, in which case the PSD should be determined from measurements.
|
||||
In the design phase however, one has to rely on information provided by specification sheets from the manufacturer.
|
||||
The noise performance of components like sensors, amplifiers, converters, etc., is often specified in terms of a **Signal to Noise Ratio** (SNR).
|
||||
**The SNR gives the ratio of the RMS value of a sine that covers the full range of the channel through which the signal is propagating over the RMS value of the electrical noise.**
|
||||
Usually, the SNR is specified up to a certain cut-off frequency.
|
||||
If no information on the colouring of the noise is available, then the corresponding **PSD can be assumed to be white up to the cut-off frequency** \\(f\_c\\):
|
||||
\\[ S\_{snr} = \frac{x\_{fr}^2}{8 f\_c C\_{snr}^2} \\]
|
||||
with \\(x\_{fr}\\) the full range of \\(x\\), and \\(C\_{snr}\\) the SNR.
|
||||
|
||||
|
||||
#### AD and DA converters {#ad-and-da-converters}
|
||||
|
||||
ADC and DAC add quantization noise to the signal.
|
||||
The variance can be calculated to be:
|
||||
\\[ \sigma^2 = \frac{q^2}{12} \\]
|
||||
with \\(q\\) the quantization interval.
|
||||
|
||||
The corresponding PSD is white up to the Nyquist frequency:
|
||||
\\[ S\_Q = \frac{q^2}{12 f\_N} \\]
|
||||
with \\(f\_N\\) the Nyquist frequency [Hz].
|
||||
|
||||
```text
|
||||
Let's take the example of a 16 bit ADC which has an electronic noise with a SNR of 80dB.
|
||||
Let's suppose the ADC is used to measure a position over a range of 1 mm.
|
||||
- ADC quantization noise: it has 16 bots over the 1 mm range.
|
||||
The standard diviation from the quantization is:
|
||||
\[ \sigma_{ADq} = \frac{1 \cdot 10^6/2^16}{\sqrt{12}} = 4.4\,[nm] \]
|
||||
- ADC electronic noise: the RMS value of a sine that covers to full range is $\frac{0.5}{\sqrt{2}} = 0.354\,[mm]$.
|
||||
With a SNR of 80dB, the electronic noise from the ADC becomes:
|
||||
\[ \sigma_{ADn} = 35\,[nm] \]
|
||||
|
||||
Let's suppose the ADC is used to measure a sensor with an electronic noise having a standard deviation of $\sigma_{sn} = 17\,[nm]$.
|
||||
|
||||
The PSD of this digitalized sensor noise is:
|
||||
\[ \sigma_s = \sqrt{\sigma_{sn}^2 + \sigma_{ADq}^2 + \sigma_{ADn}^2} = 39\,[nm]\]
|
||||
from which the PSD of the total sensor noise $S_s$ is calculated:
|
||||
\[ S_s = \frac{\sigma_s^2}{f_N} = 1.55\,[nm^2/Hz] \]
|
||||
with $f_N$ is the Nyquist frequency of 1kHz.
|
||||
```
|
||||
|
||||
|
||||
#### Acoustic Noise {#acoustic-noise}
|
||||
|
||||
This can be a big error source in high precision machines, especially when the surface is big compare to the mass.
|
||||
|
||||
The disturbance force acting on a body, is the **difference of pressure between the front and the back times the surface**.
|
||||
To have a pressure difference, the body must have a certain minimum dimension, depending on the wave length of the sound.
|
||||
For a body of typical dimensions of 100mm, only frequencies above 800 Hz have a significant disturbance contribution.
|
||||
|
||||
```text
|
||||
Consider a cube with a rib size of 100 mm located in a room with a sound level of 80dB, distributed between one and ten kHz, then the force disturbance PSD equal $2.2 \cdot 10^{-2}\,[N^2/Hz]$
|
||||
```
|
||||
|
||||
|
||||
#### Brownian Noise {#brownian-noise}
|
||||
|
||||
This is due to thermal effects and it notable where a small mass needs positioning.
|
||||
|
||||
|
||||
#### Turbulence {#turbulence}
|
||||
|
||||
Rotation of the spindle introduces and air flow in which turbulence is cause by sharp angles on the rotor and stator.
|
||||
|
||||
|
||||
### Optimal Control {#optimal-control}
|
||||
|
||||
|
||||
#### The use of Optimal Control in DEB {#the-use-of-optimal-control-in-deb}
|
||||
|
||||
Three factors influence the performance:
|
||||
|
||||
- the disturbances: often a given value
|
||||
- the plant: can be costly to redesign
|
||||
- the controller
|
||||
|
||||
The DEB helps identifying which disturbance is the limiting factor, and it should be investigated if the controller can deal with this disturbance before re-designing the plant.
|
||||
|
||||
The modelling of disturbance as stochastic variables, is by excellence suitable for the optimal stochastic control framework.
|
||||
In Figure [1](#orgf051865), the generalized plant maps the disturbances to the performance channels.
|
||||
By minimizing the \\(\mathcal{H}\_2\\) system norm of the generalized plant, the variance of the performance channels is minimized.
|
||||
|
||||
<a id="orgf051865"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/jabben07_general_plant.png" caption="Figure 1: Control system with the generalized plant \\(G\\). The performance channels are stacked in \\(z\\), while the controller input is denoted with \\(y\\)" >}}
|
||||
|
||||
|
||||
#### Using Weighting Filters for Disturbance Modelling {#using-weighting-filters-for-disturbance-modelling}
|
||||
|
||||
Since disturbances are generally not white, the system of Figure [1](#orgf051865) needs to be augmented with so called **disturbance weighting filters**.
|
||||
|
||||
A disturbance weighting filter gives the disturbance PSD when white noise as input is applied.
|
||||
|
||||
This is illustrated in Figure [2](#org35c7d66) where a vector of white noise time signals \\(\underbar{w}(t)\\) is filtered through a weighting filter to obtain the colored physical disturbances \\(w(t)\\) with the desired PSD \\(S\_w\\) .
|
||||
|
||||
The generalized plant framework also allows to include **weighting filters for the performance channels**.
|
||||
This is useful for three reasons:
|
||||
|
||||
- the performance channels might have different dimensions, which require scaling in order to compare
|
||||
- some performance channels may be of more importance than others
|
||||
- by using dynamic weighting filters, one can emphasize the performance in a certain frequency range
|
||||
|
||||
<a id="org35c7d66"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/jabben07_weighting_functions.png" caption="Figure 2: Control system with the generalized plant \\(G\\) and weighting functions" >}}
|
||||
|
||||
The weighting filters should be stable transfer functions.
|
||||
|
||||
**Obtaining the weighting filters**:
|
||||
|
||||
If the PSD is given as a function \\(S\_x(j\omega)\\), the disturbance filter can be using **spectral factorization**:
|
||||
|
||||
> Given a positive even function \\(S\_x(f)\\) of finite area, find a minimum-phase stable function \\(L(s)\\), such that \\(|L(j2\pi f)|^2 = S(s)\\)
|
||||
|
||||
**Harmonic signals** can be approximately modeled by filtering white noise with a badly damped second order system, having a \\(+1\\) slope below the resonance frequency and a \\(-1\\) slope above the resonance frequency:
|
||||
\\[ V\_h = \frac{s}{s^2 + 2 \xi \omega\_h + \omega\_h^2} \\]
|
||||
with \\(\xi\\) the relative damping and \\(\omega\_h\\) the resonance frequency [rad/s].
|
||||
By making the \\(\mathcal{H}\_2\\) norm of \\(V\_h\\) equal to the RMS-value of the harmonic signal, the propagation of the disturbance to the performance channel can be well approximated.
|
||||
|
||||
|
||||
#### Balancing Control Effort vs Performance {#balancing-control-effort-vs-performance}
|
||||
|
||||
IF only the output \\(y\\) are considered in the performance channel \\(z\\), the resulting optimal controller might result in very large actuator signals.
|
||||
So, to obtain feasible controllers, the performance channel is a combination of controller output \\(u\\) and system output \\(y\\).
|
||||
By choosing suitable weighting filters for \\(y\\) and \\(u\\), the performance can be optimized while keeping the controller effort limited:
|
||||
\\[ \\|z\\|\_{rms}^2 = \left\\| \begin{bmatrix} y \\ \alpha u \end{bmatrix} \right\\|\_{rms}^2 = \\|y\\|\_{rms}^2 + \alpha^2 \\|u\\|\_{rms}^2 \\]
|
||||
|
||||
By calculation \\(\mathcal{H}\_2\\) optimal controllers for increasing \\(\alpha\\) and plotting the performance \\(\\|y\\|\\) vs the controller effort \\(\\|u\\|\\), the curve as depicted in Figure [3](#org742f80a) is obtained.
|
||||
|
||||
<a id="org742f80a"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/jabben07_pareto_curve_H2.png" caption="Figure 3: An illustration of a Pareto curve. Each point of the curve represents the performance obtained with an optimal controller. The curve is obtained by varying \\(\alpha\\) and calculating an \\(\mathcal{H}\_2\\) optimal controller for each \\(\alpha\\)." >}}
|
||||
|
||||
|
||||
## Conclusion {#conclusion}
|
||||
|
||||
> Using the DEB analysis during the design helped to formulate the specifications of the several subcomponents, such as:
|
||||
>
|
||||
> - The target bandwidth of the decentralized closed loops, which is very important for the mechanical design, as mechanical resonances can severely limit the bandwidth.
|
||||
> This value was also used to specify the current loop bandwidth of the custom designed power amplifiers for the RTAs and other components such as sensors and filters.
|
||||
> - The target value of the stiffness of the actuators was derived at 1000 N/m.
|
||||
> It was shown that the stiffness of a motor with back-iron is too much for the separated frame concept.
|
||||
> - The analysis pinpointed the most limiting component in the final design to be the Analogue-to-Digital Converter (ADC).
|
||||
|
||||
<!--quoteend-->
|
||||
|
||||
> In the DEB-framework there are three distinct factors which determine the performance.
|
||||
> These are the plant, the controller and the disturbances.
|
||||
> Synthesizing optimal controllers, such as H2-control, in the design helps to eliminate the controller out of the equation.
|
||||
> If the performance specifications are not met with an optimal controller, it is certain that a redesign of the system is required.
|
||||
> To use the measured PSDs in an optimal control design, such as H2-control, the disturbances must be modelled using linear time invariant models with multiple white noise input.
|
||||
> To derive such models, spectral factorization is used.
|
||||
> It is recommended to investigate which methods for spectral factorization are currently available and numerically robust.
|
166
content/phdthesis/monkhorst04_dynam_error_budget.md
Normal file
166
content/phdthesis/monkhorst04_dynam_error_budget.md
Normal file
@@ -0,0 +1,166 @@
|
||||
+++
|
||||
title = "Dynamic error budgeting, a design approach"
|
||||
author = ["Thomas Dehaeze"]
|
||||
draft = false
|
||||
+++
|
||||
|
||||
Tags
|
||||
: [Dynamic Error Budgeting]({{< relref "dynamic_error_budgeting" >}})
|
||||
|
||||
Reference
|
||||
: <sup id="651e626e040250ee71a0847aec41b60c"><a class="reference-link" href="#monkhorst04_dynam_error_budget" title="@phdthesis{monkhorst04_dynam_error_budget,
|
||||
author = {Wouter Monkhorst},
|
||||
school = {Delft University},
|
||||
title = {Dynamic Error Budgeting, a design approach},
|
||||
year = 2004,
|
||||
}">@phdthesis{monkhorst04_dynam_error_budget,
|
||||
author = {Wouter Monkhorst},
|
||||
school = {Delft University},
|
||||
title = {Dynamic Error Budgeting, a design approach},
|
||||
year = 2004,
|
||||
}</a></sup>
|
||||
|
||||
Author(s)
|
||||
: Monkhorst, W.
|
||||
|
||||
Year
|
||||
: 2004
|
||||
|
||||
|
||||
## Introduction {#introduction}
|
||||
|
||||
Challenge definition of this thesis:
|
||||
|
||||
> Develop a tool which enables the designer to account for stochastic disturbances during the design of a mechatronics system.
|
||||
|
||||
Develop tools should enable the designer to:
|
||||
|
||||
- Predict the final performance level of a system which is subject to stochastic disturbances
|
||||
- Gain insight in performance limiting factors of the system.
|
||||
This insight should enable the designer to point out critical system components/properties and to improve the performance of the system
|
||||
- Objectively compare the performance of different system designs
|
||||
|
||||
|
||||
## Dynamic Error Budgeting {#dynamic-error-budgeting}
|
||||
|
||||
|
||||
### Motivations {#motivations}
|
||||
|
||||
Main motivations are:
|
||||
|
||||
- Cutting costs in the design phase
|
||||
- Speeding up the design process
|
||||
- Enhancing design insight
|
||||
|
||||
|
||||
### DEB design process {#deb-design-process}
|
||||
|
||||
Step by step, the process is as follows:
|
||||
|
||||
- design a concept system
|
||||
- model the concept system, such that the closed loop transfer functions can be determined
|
||||
- Identify all significant disturbances.
|
||||
Model them with their _Power Spectral Density_
|
||||
- Define the performance outputs of the system and simulate the output error.
|
||||
Using the theory of _propagation_, the contribution of each disturbance to the output error can be analyzed and the critical disturbance can be pointed out
|
||||
- Make changes to the system that are expected to improve the performance level, and simulate the output error again.
|
||||
Iterate until the error budget is meet.
|
||||
|
||||
|
||||
### Assumptions {#assumptions}
|
||||
|
||||
The assumptions when applying DEB are:
|
||||
|
||||
- the system can be accurately described with a **linear time invariant model**.
|
||||
This is usually the case as much effort is put in to make systems have a linear behavior and because feedback loops have a " linearizing" effect on the closed loop behavior.
|
||||
- the disturbances action on the system must be **stationary** (their statistical properties are not allowed to change over time).
|
||||
- the disturbances are **uncorrelated** with each other.
|
||||
This is more difficult to satisfy for MIMO systems and the designer must make sure that the separate disturbances all originate from separate independent sources.
|
||||
- the disturbance signals are modeled by their **Power Spectral Density**.
|
||||
This implies that only stochastic disturbances are allowed.
|
||||
Deterministic components like sinusoidal and DC signals are infinite peaks in their PSD and should not be used.
|
||||
For the deterministic part, other techniques can be used to determine their influence to the error.
|
||||
- the calculation method makes no assumption on the distribution of the distribution functions of the disturbances.
|
||||
In practice, many disturbances will have a normal like distribution.
|
||||
|
||||
|
||||
### \\(\mathcal{H}\_2\\) control, maximizing performance {#mathcal-h-2--control-maximizing-performance}
|
||||
|
||||
|
||||
#### The \\(\mathcal{H}\_2\\) norm and variance of the output {#the--mathcal-h-2--norm-and-variance-of-the-output}
|
||||
|
||||
The \\(\mathcal{H}\_2\\) norm is a norm defined on a system:
|
||||
\\[ \\|H\\|\_2^2 = \int\_{-\infty}^\infty |H(j2\pi f)|^2 df \\]
|
||||
|
||||
Stochastic interpretation of the \\(\mathcal{H}\_2\\) norm: the squared \\(\mathcal{H}\_2\\) norm can be interpreted as the output variance of a system with zero mean white noise input.
|
||||
|
||||
|
||||
#### The \\(\mathcal{H}\_2\\) control problem {#the--mathcal-h-2--control-problem}
|
||||
|
||||
Find a controller \\(C\_{\mathcal{H}\_2}\\) which minimizes the \\(\mathcal{H}\_2\\) norm of the closed loop system \\(H\\):
|
||||
\\[ C\_{\mathcal{H}\_2} \in \arg \min\_C \\|H\\|\_2 \\]
|
||||
|
||||
|
||||
#### Using weighting filters to model disturbances {#using-weighting-filters-to-model-disturbances}
|
||||
|
||||
In order to synthesize an \\(\mathcal{H}\_2\\) controller that will minimize the output error, the total system including disturbances needs to be modeled as a system with zero mean white noise inputs.
|
||||
|
||||
This is done by using weighting filter \\(V\_w\\), of which the output signal has a PSD \\(S\_w(f)\\) when the input is zero mean white noise (Figure [1](#org7f8d04e)).
|
||||
|
||||
<a id="org7f8d04e"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/monkhorst04_weighting_filter.png" caption="Figure 1: The use of a weighting filter \\(V\_w(f)\,[SI]\\) to give the weighted signal \\(\bar{w}(t)\\) a certain PSD \\(S\_w(f)\\)." >}}
|
||||
|
||||
The white noise input \\(w(t)\\) is dimensionless, and when the weighting filter has units [SI], the resulting weighted signal \\(\bar{w}(t)\\) has units [SI].
|
||||
The PSD \\(S\_w(f)\\) of the weighted signal is:
|
||||
\\[ |S\_w(f)| = V\_w(j 2 \pi f) V\_w^T(-j 2 \pi f) \\]
|
||||
|
||||
Given \\(S\_w(f)\\), \\(V\_w(f)\\) can be obtained using a technique called _spectral factorization_.
|
||||
However, this can be avoided if the modelling of the disturbances is directly done in terms of weighting filters.
|
||||
|
||||
Output weighting filters can also be used to scale different outputs relative to each other (Figure [2](#org4f416df)).
|
||||
|
||||
<a id="org4f416df"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/monkhorst04_general_weighted_plant.png" caption="Figure 2: The open loop system \\(\bar{G}\\) in series with the diagonal input weightin filter \\(V\_w\\) and diagonal output scaling iflter \\(W\_z\\) defining the generalized plant \\(G\\)" >}}
|
||||
|
||||
|
||||
#### Output scaling and the Pareto curve {#output-scaling-and-the-pareto-curve}
|
||||
|
||||
In this research, the outputs of the closed loop system (Figure [3](#orgc347ae6)) are:
|
||||
|
||||
- the performance (error) signal \\(e\\)
|
||||
- the controller output \\(u\\)
|
||||
|
||||
In this way, the designer can analyze how much control effort is used to achieve the performance level at the performance output.
|
||||
|
||||
<a id="orgc347ae6"></a>
|
||||
|
||||
{{< figure src="/ox-hugo/monkhorst04_closed_loop_H2.png" caption="Figure 3: The closed loop system with weighting filters included. The system has \\(n\\) disturbance inputs and two outputs: the error \\(e\\) and the control signal \\(u\\). The \\(\mathcal{H}\_2\\) minimized the \\(\mathcal{H}\_2\\) norm of this system." >}}
|
||||
|
||||
The resulting problem is a multi-objective control problem: while constraining the variance of the controller output \\(u\\), the variance of the performance channel should be minimized.
|
||||
This problem can be solved by scaling the controller output \\(u\\) with a factor \\(\alpha\\) during the \\(\mathcal{H}\_2\\) synthesis.
|
||||
When varying \\(\alpha\\), one can plot the amount of control effort at one axis and the achieve performance on the other axis.
|
||||
The resulting points lie on the so-called **Pareto curve**.
|
||||
|
||||
|
||||
## Conclusions {#conclusions}
|
||||
|
||||
\\(\mathcal{H}\_2\\) control strategy is an extension of the DEB approach.
|
||||
It offers the designer the opportunity to optimize over the degree of freedom given by the controller, enabling the designer to predict the maximum achievable performance level of a system concept.
|
||||
Using this technique, the designer is able to objectively compare the performance potential of different system concepts.
|
||||
|
||||
The accuracy of the predicted performance by DEB with respect to the measured results can be improved by using higher order models of the disturbances.
|
||||
Increasing of order of the disturbance model might even allow modelling of harmonic disturbances by using inverse notches.
|
||||
To achieve the highest degree of prediction accuracy, it is recommended to use to actual measured disturbance spectra in the simulations.
|
||||
|
||||
When an \\(\mathcal{H}\_2\\) controller is synthesized for a particular system, it can give the control designer useful hints about how to control the system best for optimal performance.
|
||||
Drawbacks however are, that no robustness guarantees can be given and that the order of the \\(\mathcal{H}\_2\\) controller will generally be too high for implementation.
|
||||
|
||||
# Bibliography
|
||||
<a class="bibtex-entry" id="monkhorst04_dynam_error_budget">Monkhorst, W., *Dynamic error budgeting, a design approach* (2004). Delft University.</a> [↩](#651e626e040250ee71a0847aec41b60c)
|
||||
|
||||
|
||||
## Backlinks {#backlinks}
|
||||
|
||||
- [Dynamic Error Budgeting]({{< relref "dynamic_error_budgeting" >}})
|
Reference in New Issue
Block a user