Update many posts

This commit is contained in:
2020-06-03 22:43:54 +02:00
parent 7ad9601cbf
commit e5e6f1aa7a
589 changed files with 41329 additions and 897 deletions

View 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.

View 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" >}})