Update Content - 2021-05-26

This commit is contained in:
Thomas Dehaeze 2021-05-26 17:48:44 +02:00
parent ca163b1a2b
commit affc2a4a2e
16 changed files with 96716 additions and 86 deletions

View File

@ -8,7 +8,7 @@ Tags
: [Reference Books]({{< relref "reference_books" >}}), [Dynamic Error Budgeting]({{< relref "dynamic_error_budgeting" >}})
Reference
: ([Schmidt, Schitter, and Rankers 2020](#org343c570))
: ([Schmidt, Schitter, and Rankers 2020](#orge3bc57b))
Author(s)
: Schmidt, R. M., Schitter, G., & Rankers, A.
@ -64,7 +64,7 @@ Year
#### Electric Field {#electric-field}
<a id="org8b0a7f3"></a>
<a id="org7a198b4"></a>
{{< figure src="/ox-hugo/schmidt20_electrical_field.svg" caption="Figure 1: Charges have an electric field" >}}
@ -101,11 +101,88 @@ Year
#### The Concept of Frequency {#the-concept-of-frequency}
The variation of an electric signal over time can be seen as a combination of three types of behavior:
##### Random Signals or Noise {#random-signals-or-noise}
- constant, called **DC**
- periodically alternative, called **AC**
- Random, called **noise**
Let's consider position with an harmonic oscillation with constant angular speed \\(\omega\\) and amplitude \\(x\_p\\):
##### Power of Alternating Signals {#power-of-alternating-signals}
\begin{equation}
x(t) = x\_p \sin(\omega t)
\end{equation}
The angular speed \\(\omega\\) is rad/s related to the frequency \\(f\\) in hertz by:
\begin{equation}
\omega = 2\pi f \quad \text{[rad/s]}
\end{equation}
The time period of one cycle \\(T\\) in seconds is inversely proportional to \\(f\\):
\begin{equation}
T = \frac{1}{f} \quad \text{[s]}
\end{equation}
The velocity \\(v(t)\\) equals the derivative of the position over time:
\begin{equation}
v(t) = \frac{dx(t)}{dt} = \dot{x}(t) = v\_p \cos(\omega t) = x\_p \omega \cos(\omega t)
\end{equation}
Meaning that the amplitude of the velocity is:
\begin{equation}
v\_p = x\_p \omega \quad \text{[m/s]}
\end{equation}
And the acceleration \\(a(t)\\) equals the derivative of velocity over time:
\begin{equation}
a(t) = \frac{dv(t)}{dt} = \ddot{x}(t) = -x\_p \omega^2 \sin(\omega t)
\end{equation}
It could be concluded that velocity either advances on position with a phase of 90 degrees or lags with a phase of 270 degrees.
The second option is however not logical as the position of an object is the result of **and thus comes after** the velocity.
The same phase relation exists between the velocity and the acceleration.
Noise is a real random non-deterministic signal,which means that the signal value at any time of observation can have any value within a certain range.
The range is described by means of a statistical distribution, which indicates the probability that the value is within that range.
The distribution of frequencies contained in the noise, called the _frequency spectrum_, can only be described in statistical terms.
Sometimes electronic signals are represented by their power value, being the squared momentary value.
In case of a voltage signal, this power value would be equal to the power dissipated in a \\(1 \Omega\\) resistor.
In an alternating signal, the power also varies over time.
When examining the power of a signal, as defined by the squared momentary value, often the average power over time \\(\bar{P\_s}\\) is taken as a representative number:
\begin{equation}
\bar{P\_s} = \frac{1}{T}\int\_0^T \left<f(t)\right>^2 dt \quad [W]
\end{equation}
In the example of a voltage signal over a \\(1\Omega\\) resistor this average power level would be equal to the power dissipated in the resistor by a DC voltage with a value of:
\begin{equation}
V\_{\text{rms}} = \sqrt{\frac{1}{T}\int\_0^T \left<f(t)\right>^2 dt}
\end{equation}
The term "rms" refers to Root Mean Square, named from the action of taking the root of the mean value of the squared function.
The RMS value is a well known term used to characterize the "useful" value of the energy supply with a signal by comparing it with an equivalent DC voltage that would cause the same power in a resistive load.
<div class="exampl">
<div></div>
For a sinusoidal signal \\(V(t) = V\_p \sin(\omega t)\\), the equivalent DC voltage becomes:
\begin{equation}
\begin{aligned}
V\_{\text{rms}} &= \sqrt{\frac{1}{T} \int\_0^T \left< V\_p\sin(\omega t) \right>^2 dt} \\\\\\
&= \dots \\\\\\
&= \frac{V\_p}{\sqrt{2}} \quad [V]
\end{aligned}
\end{equation}
</div>
#### Use of Complex Numbers {#use-of-complex-numbers}
@ -125,9 +202,56 @@ Year
#### Energy Propagation in Waves {#energy-propagation-in-waves}
The energy in a traveling wave is transferred to another place by a consecutive process called _propagation_ at a velocity, which is called propagation velocity or _phase velocity_ \\(v\_p\\) [m/s], a spatial vector with a magnitude, called propagation speed \\(c\_p\\) [m/s].
When observing a continuous sinusoidal wave motion on a stationary position, the observed value, like displacement or pressure, will appear to vary with a certain **temporal** frequency \\(f\\) [Hz] with period \\(T\\) [s], which is determined by the source of the wave.
With a certain propagation speed \\(c\_p\\), the temporal frequency \\(f\\) will also correspond to a **spatial** variation of the observed value along the propagation direction at a stationary moment in time.
This spatial frequency is called the _wavenumber_ \\(\nu\\) [1/m], and equals the number of periods of the wave per meter.
Its inverse, the spatial period length called _wavelength_ \\(\lambda\\) [m] is more common.
The relation between the above defined terms is:
\begin{align}
\lambda &= \frac{1}{\nu} = c\_p T = \frac{c\_p}{f} \quad [m] \\\\\\
v\_p &= \frac{f}{\nu} \quad [m/s]
\end{align}
##### Mechanical Waves {#mechanical-waves}
The propagation speed value of a mechanical wave is mostly determined by the density and elasticity of the medium.
The wave propagation through an elastic material can be qualitatively explained with the help of a simplified lumped element model, consisting of a chain of springs and bodies as shown in Figure [2](#org06ad50b).
<a id="org06ad50b"></a>
{{< figure src="/ox-hugo/schmidt20_mechanical_wave.svg" caption="Figure 2: Lumped element model of one wavelength of a mechanical wave." >}}
To explain the principle of energy transfer, the longitudinal wave is taken as example.
When a movement of mass \\(m\_1\\) is introduced in the propagation direction of the chain, this will first cause a compression of the elastic coupling \\(k\_1\\).
The resulting compression force is transferred to mass \\(m\_2\\), which accelerates resulting in its own movement and causing in its turn a compression of \\(k\_2\\).
This process is repeated over the total chain until the original movement reaches \\(m\_n\\).
With this mechanism the kinetic energy from mass \\(m\_1\\) is converted into potential energy in \\(k\_1\\), which in turn is transferred into kinetic energy of \\(m\_2\\), and so on.
<div class="important">
<div></div>
This phenomenon of transfer of energy in an elastic body is important in mechatronic systems because driving forces are also transported through the body as a wave and as a consequence will experience a delay between the actuator and the sensor when they are located separately.
</div>
The propagation speed \\(c\_p\\) is determined by the density \\(\rho\_m\\) and the elasticity of the medium, expressed by the Young's modulus \\(Y\\) for a wave running in one direction in a solid rod and bulk modulus \\(B\\) for a wave running in a volume and equals:
\begin{equation}
\text{1-D: } c\_p = \sqrt{\frac{Y}{\rho\_m}}, \quad \text{3-D: } c\_p = \sqrt{\frac{B}{\rho\_m}} \quad [m/s]
\end{equation}
<div class="exampl">
<div></div>
The propagation speed in stainless steel varies between 3500 m/s for transversal waves and 5500 m/s for longitudinal waves.
With for instance half a meter of steel this gives a delay of about 0.1ms, resulting in a phase delay of 36 degrees at 1kHz, which can be significant from a control point of view.
</div>
##### Wave Equation {#wave-equation}
@ -149,26 +273,65 @@ Year
##### Triangle Waveform {#triangle-waveform}
{{< figure src="/ox-hugo/schmidt20_fourier_triangle.svg" >}}
##### Sawtooth Waveform {#sawtooth-waveform}
{{< figure src="/ox-hugo/schmidt20_fourier_sawtooth.svg" >}}
##### Square Waveform {#square-waveform}
{{< figure src="/ox-hugo/schmidt20_fourier_square.svg" >}}
##### Non-Continuous Alternating Signals {#non-continuous-alternating-signals}
{{< figure src="/ox-hugo/schmidt20_window_functions.svg" >}}
### Dynamic System Analysis and Modelling {#dynamic-system-analysis-and-modelling}
#### Laplace-Transform {#laplace-transform}
The Laplace transform can be used to solve differential equations of motion, which could describe the position of an object in the time-domain, by solutions in the frequency domain in the form of a _transfer-function_ with the Laplace operator \\(s = \sigma + j\omega\\).
##### Poles and Zeros {#poles-and-zeros}
The Laplace operator \\(s = \sigma + j\omega\\) is a complex number that can graphically be represented in a two dimensional plot called the _Laplace-plane_ with the value of \\(\sigma\\) on the horizontal real axis and \\(j\omega\\) on the vertical imaginary axis.
In case \\(f(t)\\) is a function of the time variable \\(t\\), then the Laplace-transformed function \\(F(s) = \mathcal{L}\\{f(t)\\}\\) is described as a function of the Laplace operator \\(s\\) in the following way:
##### Order of a Dynamic System {#order-of-a-dynamic-system}
\begin{equation}
\boxed{ F(s) = \mathcal{L}\\{f(t)\\} = \int\_0^\infty e^{-st}f(t)dt }
\end{equation}
The Laplace transform converts a differential of a variable \\(x(t)\\) over time into the following function:
\begin{equation}
\mathcal{L}\left\\{ \frac{dx(t)}{dt} \right\\} = s x(s) - x(0)
\end{equation}
In practice, the initial value \\(x(0)\\) of \\(x(t)\\) at \\(t=0\\) is neglected for the dynamic analysis of mechatronic systems as the frequency response functions are based on the continuous presence of the input signal of the system.
The Laplace transform applied to an integration action gives the following function:
\begin{equation}
\mathcal{L}\left\\{ \int\_0^{t^\prime} x(t) dt \right\\} = \frac{x(s)}{s}
\end{equation}
The Laplace plane is used when examining the stability of a dynamic system, determined by the location of the poles and zeros of the dynamic transfer function of the system after transforming its equations of motion.
A transfer function is generally a function with polynomial terms of \\(s\\) in the numerator and the denominator.
A zero is defined as the value of \\(s\\) in the transfer function at which the numerator equals zeros.
A pole is defined as the value of \\(s\\) in the transfer function at which the denominator equals zeros, in that case the total transfer function becomes infinite.
Any real physical systems always have more poles than zeros, because of the fact that no real physical system can respond to an infinite frequency.
The order of a dynamic system can be defined as:
- the number of energy containers like mass, spring
- the number of state variables
- the number of poles
#### Dynamic Responses in the time-domain {#dynamic-responses-in-the-time-domain}
@ -182,6 +345,8 @@ Year
##### Impulse Response and Pole Location {#impulse-response-and-pole-location}
{{< figure src="/ox-hugo/schmidt20_impulse_response_location.svg" >}}
#### Dynamic Responses in the frequency-domain {#dynamic-responses-in-the-frequency-domain}
@ -197,9 +362,57 @@ Year
##### Bode Plot {#bode-plot}
{{< figure src="/ox-hugo/schmidt20_bode_plot.svg" >}}
Instead of using absolute numbers with the magnitude scale, often the scale is divided in decibels.
The unit "Bel" corresponds to the log of the ratio of powers, and therefore the term "deci-bel" corresponds to:
\begin{equation}
10 \log\frac{P\_1}{P\_2} \quad [dB]
\end{equation}
As the signals are proportional to the square root of power, we obtain that:
\begin{equation}
20 \log\frac{V\_1}{V\_2} \quad [dB]
\end{equation}
In terms of decibel, the slope in the Bode plot becomes equal to a certain number of dB per frequency ratio.
The values are given in Table [1](#table--tab:relation-slope-decade) for a decade (representing a factor ten between the frequencies), and in Table [2](#table--tab:relation-slope-octave) for an octave (factor two between the frequencies).
<a id="table--tab:relation-slope-decade"></a>
<div class="table-caption">
<span class="table-number"><a href="#table--tab:relation-slope-decade">Table 1</a></span>:
Relation between the order of the slope of a bode plot and the magnitude ration in dB, amplitude ratio and power ration, per <b>decade</b> (\(f_1 = 10 f_2\))
</div>
| Slope | dB | Amplitude | Power |
|-------|-----|---------------|---------------|
| -2 | -40 | \\(10^{-2}\\) | \\(10^{-4}\\) |
| -1 | -20 | 0.1 | \\(10^{-2}\\) |
| 0 | 0 | 1 | 1 |
| 1 | 20 | 10 | \\(10^{2}\\) |
| 2 | 40 | \\(10^2\\) | \\(10^{4}\\) |
<a id="table--tab:relation-slope-octave"></a>
<div class="table-caption">
<span class="table-number"><a href="#table--tab:relation-slope-octave">Table 2</a></span>:
Relation between the order of the slope of a bode plot and the magnitude ration in dB, amplitude ratio and power ration, per <b>octave</b> (\(f_1 = 2 f_2\))
</div>
| Slope | dB | Amplitude | Power |
|-------|-----|-----------|--------|
| -2 | -12 | 0.25 | 0.0625 |
| -1 | -6 | 0.5 | 0.25 |
| 0 | 0 | 1 | 1 |
| 1 | 6 | 2 | 4 |
| 2 | 12 | 4 | 16 |
##### Nyquist Plot {#nyquist-plot}
{{< figure src="/ox-hugo/schmidt20_nyquist_plot.svg" >}}
##### Limitation to LTI Systems {#limitation-to-lti-systems}
@ -397,15 +610,15 @@ Finally it can be concluded, that these insights help in designing actively cont
### A Walk around the Control Loop {#a-walk-around-the-control-loop}
Figure [2](#orgc78b355) shows a basic control loop of a positioning system.
Figure [3](#orgd6fb11a) shows a basic control loop of a positioning system.
First, the A/D and D/A converters are used to translate analog signals into time-discrete digital signals and vice versa.
Secondly, the impact locations of several disturbances are shown, which play a large role in determining what reqwuirements the controller needs to fulfil.
The core of the control system is the _plant_, which is the physical system that needs to be controlled.
<a id="table--tab:walk-control-loop"></a>
<div class="table-caption">
<span class="table-number"><a href="#table--tab:walk-control-loop">Table 1</a></span>:
Symbols used in Figure <a href="#orgc78b355">2</a>
<span class="table-number"><a href="#table--tab:walk-control-loop">Table 3</a></span>:
Symbols used in Figure <a href="#orgd6fb11a">10</a>
</div>
| Symbol | Meaning | Unit |
@ -419,16 +632,16 @@ The core of the control system is the _plant_, which is the physical system that
| \\(y\\) | Measured output motion | [m] |
| \\(y\_m\\) | Measurement value | [m] |
<a id="orgc78b355"></a>
<a id="orgd6fb11a"></a>
{{< figure src="/ox-hugo/schmidt20_walk_control_loop.svg" caption="Figure 2: Block diagram of a motion control system, including feedforward and feedback control." >}}
{{< figure src="/ox-hugo/schmidt20_walk_control_loop.svg" caption="Figure 3: Block diagram of a motion control system, including feedforward and feedback control." >}}
The plant combines the mechanical structure, amplifiers and actuators, as they all deal with energy conversion in close interaction (Figure [3](#orge91544d)).
The plant combines the mechanical structure, amplifiers and actuators, as they all deal with energy conversion in close interaction (Figure [4](#orgb4ccf73)).
They interact in both directions in such a way that each element not only determines the input of the next element, but also influences the previous element by its dynamic load.
<a id="orge91544d"></a>
<a id="orgb4ccf73"></a>
{{< figure src="/ox-hugo/schmidt20_energy_actuator_system.svg" caption="Figure 3: The energy converting part of a mechatronic system consists of a the amplifier, the actuator and the mechanical structure." >}}
{{< figure src="/ox-hugo/schmidt20_energy_actuator_system.svg" caption="Figure 4: The energy converting part of a mechatronic system consists of a the amplifier, the actuator and the mechanical structure." >}}
#### Poles and Zeros in Motion Control {#poles-and-zeros-in-motion-control}
@ -457,7 +670,7 @@ Fortunately the effect is mostly so small that it can be neglected.
#### Overview Feedforward Control {#overview-feedforward-control}
Figure [4](#org0284035) shows the typical basic configuration for feedforward control, which is also called _open-loop control_ as it is equal to a situation where the measured output is not connected to the input for feedback.
Figure [5](#orgd52bda9) shows the typical basic configuration for feedforward control, which is also called _open-loop control_ as it is equal to a situation where the measured output is not connected to the input for feedback.
The reference signal \\(r\\) [m] is applied to the controller, which as a reference transfer function \\(C\_{ff}(s)\\) in [N/m].
The output \\(u\\) in [N] of the controller is connected to the input of the motion system, which has a transfer function \\(G(s)\\) in [m/N] giving the output \\(x\\) in [m].
@ -469,9 +682,12 @@ If one would like to achieve perfect control, which means that there is no diffe
G\_{t,ff}(s) = \frac{x}{r} = C\_{ff}(s)G(s) = 1 \quad \Longrightarrow \quad C\_{ff}(s) = G^{-1}(s)
\end{equation}
<a id="org0284035"></a>
<a id="orgd52bda9"></a>
{{< figure src="/ox-hugo/schmidt20_feedforward_control_diagram.svg" caption="Figure 4: Block diagram of a feedforward controller motion system with one input and output (SISO)." >}}
{{< figure src="/ox-hugo/schmidt20_feedforward_control_diagram.svg" caption="Figure 5: Block diagram of a feedforward controller motion system with one input and output (SISO)." >}}
<div class="important">
<div></div>
Feedforward control is a very useful and preferred first step in the control of a complex dynamic motion system as it provides the following advantages:
@ -481,6 +697,11 @@ Feedforward control is a very useful and preferred first step in the control of
- **No introduction of instability**: the poles of the controlled system are not changed by feedforward control. Therefore no instability can be introduced.
- **No feeding back of sensor noise**: in precision motion systems, positioning noise is a critical point that always has to be considered in the control design. The lack of a sensor avoid insertion of the measurement noise in the system.
</div>
<div class="important">
<div></div>
The drawbacks and limitations of feedforward control are:
- **Limitation to inverted low-pass minimum-phase characteristic**: it is not possible nor wise to create a controller with a very high gain at very high frequencies. Inverting unstable zeros for a non-minimum phase system would create an unstable controller.
@ -488,12 +709,14 @@ The drawbacks and limitations of feedforward control are:
- **No compensation of model uncertainties**: Variations in the system dynamics, such as shifting of the resonance frequency or variation of the damping, are not monitored and therefore not accounted for in feedforward control.
- **Can only compensate for known disturbances**: Disturbances of the motion system can only be compensated if they can be measured.
</div>
#### Overview Feedback Control {#overview-feedback-control}
In feedback control the actuator status of the motion system is monitored by a sensor and the controller generates a control action based on the difference between the desired motion (reference signal) and the actuator system status (sensor signal).
The block diagram of Figure [5](#orgf739dfa) shows a SISO feedback loop for a motion system without the A/D and D/A converters.
The block diagram of Figure [6](#org39408cb) shows a SISO feedback loop for a motion system without the A/D and D/A converters.
The output \\(x\\) in [m] is the total motion of the plant on all its parts and details, while \\(y\\) is the measured motion with a measured value \\(y\_m\\) measured on a selected location in the plant.
This measured is compared with \\(r\_f\\), which is the reference \\(r\\) after filtering.
The result of this comparison is used as input for the feedback controller.
@ -505,9 +728,9 @@ The transfer function of any input to any output in a closed-loop feedback contr
</div>
<a id="orgf739dfa"></a>
<a id="org39408cb"></a>
{{< figure src="/ox-hugo/schmidt20_feedback_control_diagram.svg" caption="Figure 5: Block diagram of a SISO feedback controlled motion system." >}}
{{< figure src="/ox-hugo/schmidt20_feedback_control_diagram.svg" caption="Figure 6: Block diagram of a SISO feedback controlled motion system." >}}
In control design, one has the freedom to choose \\(F(s)\\) and particularly \\(C\_{fb}(s)\\) such that the total transfer function fulfills the desired specifications.
Feedback control allows to directly place the system poles at values that are more useful for the operation of the motion system that their natural locations.
@ -517,12 +740,20 @@ The input filter does not contribute to this important aspect of feedback.
It is mainly used to present unwanted signals from entering the system.
This can be signals that drive the system into its "incapability" region where the system can no longer perform as required due to limitations in the hardware.
<div class="important">
<div></div>
Feedback is an addition to feedforward control with the following benefits:
- **Stabilization of unstable systems**: As feedback control enables to determine the place of the closed-loop poles of the controlled system, unstable poles can be stabilised.
- **Reduction of the effect of disturbances**: Disturbances of the controlled motion system are observed in the sensor signal, and therefore the feedback controller can compensate for them.
- **Handling of uncertainties**: Feedback controlled systems can also be designed for _robustness_, which means that the stability and performance requirements are guaranteed even for parameter variations of the controlled mechatronic system.
</div>
<div class="important">
<div></div>
Also, some pitfalls have to be dealt with:
- **A sensor is required**: The feedback loop is closed, based on the information from a sensor. Therefore, feedback control can be only as good as the quality of the sensor signal allows. In precision positioning systems accurate sensors are required with high resolution and fast response, which are very costly. The measurement and sensing system often takes a substantial part of the total systems budget.
@ -531,12 +762,14 @@ Also, some pitfalls have to be dealt with:
- **Can introduce instability**: Just as feedback control can stabilize an unstable system, it can also destabilize a stable plant.
- **Can increase errors**: With higher order systems feedback will reduce errors in the frequency band where the loop-gain is larger than one and increase errors just outside that band.
</div>
#### Summary {#summary}
<a id="table--tab:feedback-feedforward-summary"></a>
<div class="table-caption">
<span class="table-number"><a href="#table--tab:feedback-feedforward-summary">Table 2</a></span>:
<span class="table-number"><a href="#table--tab:feedback-feedforward-summary">Table 4</a></span>:
Summary of Feedback and Feedforward control
</div>
@ -560,11 +793,11 @@ Also, some pitfalls have to be dealt with:
#### Model-Based Feedforward Control {#model-based-feedforward-control}
In the following an example of a model-based feedforward controller is introduced.
The measured frequency-response of the scanning unit taken as as an example is shown in Figure [6](#org70c7ce4).
The measured frequency-response of the scanning unit taken as as an example is shown in Figure [7](#org7477ca7).
<a id="org70c7ce4"></a>
<a id="org7477ca7"></a>
{{< figure src="/ox-hugo/schmidt20_bode_plot_scanning.svg" caption="Figure 6: Bode plot of a piezoelectric-actuator based scanning unit for nanometer resolution positioning. It shows the measured response (solid line) and the second order model, which is fitted for the low-frewquency system behaviour (dashed line)." >}}
{{< figure src="/ox-hugo/schmidt20_bode_plot_scanning.svg" caption="Figure 7: Bode plot of a piezoelectric-actuator based scanning unit for nanometer resolution positioning. It shows the measured response (solid line) and the second order model, which is fitted for the low-frewquency system behaviour (dashed line)." >}}
A mathematical model of a seconder-order mass-spring system with a force input is fitted to this measured response:
@ -599,20 +832,18 @@ C\_{ff}(s) = \frac{s^2 + 2 \xi\_f \omega\_0 s + \omega\_0^2}{(s + \omega\_0)(s^2
Then this controller is connected in series with the scanning unit, the anti-resonance of the controller and the resonance of the piezo-scanner cancel each other out:
\begin{equation}
\begin{align}
G\_{t,ff}(s) &= G(s)G\_{ff}(s) \\\\\\
&= \frac{C\_f}{s^2 + 2 \xi\_f \omega\_0 s + \omega\_0^2} \frac{s^2 + 2 \xi\_f \omega\_0 s + \omega\_0^2}{(s + \omega\_0){s^2 + 2 \omega\_0 s + \omega\_0^2}} \\\\\\
&= \frac{C\_f}{(s + \omega\_0){s^2 + 2 \omega\_0 s + \omega\_0^2}}
\end{align}
\end{equation}
The bode plot of the resulting dynamics is shown in Figure [7](#org6f65baa).
The bode plot of the resulting dynamics is shown in Figure [8](#org6e59765).
The controlled system has low-pass characteristics, rolling of at the scanner's natural frequency.
<a id="org6f65baa"></a>
<a id="org6e59765"></a>
{{< figure src="/ox-hugo/schmidt20_bode_plot_feedfoward_example.svg" caption="Figure 7: Bode plot of the feedforward-controlled scanning unit" >}}
{{< figure src="/ox-hugo/schmidt20_bode_plot_feedfoward_example.svg" caption="Figure 8: Bode plot of the feedforward-controlled scanning unit" >}}
#### Input-Shaping {#input-shaping}
@ -628,11 +859,11 @@ The oscillation caused by each individual step are 180 degrees out of phase and
This method is clearly very different form pole-zero cancellation.
In the frequency domain, these sampled adaptations to the input create a frequency spectrum with a multiple of notch filters at the harmonic of the frequency where these adaptations are applied.
Applying input-shaping to the triangular scanning signal results in the introduction of a plateau instead of the sharp peak, where the width of the plateau corresponds to half the period of the scanner's resonance as can be seen in Figure [8](#org243dcf9).
Applying input-shaping to the triangular scanning signal results in the introduction of a plateau instead of the sharp peak, where the width of the plateau corresponds to half the period of the scanner's resonance as can be seen in Figure [9](#org92e74b3).
<a id="org243dcf9"></a>
<a id="org92e74b3"></a>
{{< figure src="/ox-hugo/schmidt20_input_shaping_example.svg" caption="Figure 8: Input-shaping control of the triangular scanning signal in a scanning probe microscope." >}}
{{< figure src="/ox-hugo/schmidt20_input_shaping_example.svg" caption="Figure 9: Input-shaping control of the triangular scanning signal in a scanning probe microscope." >}}
#### Adaptive Feedforward Control {#adaptive-feedforward-control}
@ -658,13 +889,13 @@ The limitations of the actuators and electronics in a controlled motion system a
Of at least the levels of Jerk and preferable also Snap should be limited.
The standard method to cope with these limitations involves shaping the input of a mechatronic motion system by means of _trajectory profile generation_ or _path-planning_.
Figure [9](#org1bf0f60) shows a fourth order trajectory profile of a displacement, which means that all derivatives including the fourth derivative are defined in the path planning.
Figure [10](#orgcb6134e) shows a fourth order trajectory profile of a displacement, which means that all derivatives including the fourth derivative are defined in the path planning.
A third order trajectory would show a square profile for the jerk indicating an infinite Snap and the round of the acceleration would be gone.
A second order trajectory would show a square acceleration profile with infinite Jerk and sharp edges on the velocity.
<a id="org1bf0f60"></a>
<a id="orgcb6134e"></a>
{{< figure src="/ox-hugo/schmidt20_trajectory_profile.svg" caption="Figure 9: Figure caption" >}}
{{< figure src="/ox-hugo/schmidt20_trajectory_profile.svg" caption="Figure 10: Figure caption" >}}
### Feedback Control {#feedback-control}
@ -682,28 +913,29 @@ Feedback control is more complex and critical to design than feedforward control
In general, a feedback controlled motion system is to perform a certain predetermined motion task defined by the reference input \\(r\\), while reducing the effects of other inputs like external vibrations and noise from the electronics.
All these input signals, whether desired of undesired, are treated by the feedback loop as disturbances and it is the sensitivity of the desired output signal to all input signals that determine the performance of the feedback controller.
<a id="orgdddc940"></a>
<a id="org2c5d10f"></a>
{{< figure src="/ox-hugo/schmidt20_feedback_full_simplified.svg" caption="Figure 10: Full and simplified representation of a feedback loop in order to determine the influence of the reference signal and most important disturbance sources on real motion output of the plant \\(x\\), the feedback controller output \\(u\\) and the measured motion output \\(y\\). \\(y\_m = y\\) when the measurement system is set at unity gain and the sensor disturbance is included in the output disturbance." >}}
{{< figure src="/ox-hugo/schmidt20_feedback_full_simplified.svg" caption="Figure 11: Full and simplified representation of a feedback loop in order to determine the influence of the reference signal and most important disturbance sources on real motion output of the plant \\(x\\), the feedback controller output \\(u\\) and the measured motion output \\(y\\). \\(y\_m = y\\) when the measurement system is set at unity gain and the sensor disturbance is included in the output disturbance." >}}
Several standard sensitivity functions have been defined to quantify the performance of feedback controlled dynamic systems.
There are derived from a simplified version of the generic feedback loop as shown in Figure [10](#orgdddc940).
There are derived from a simplified version of the generic feedback loop as shown in Figure [11](#org2c5d10f).
The first simplification is made by approximating the measurement system to have a unity-gain transfer function.
For further simplification the sensor disturbance in the measurement system is included in the output disturbance \\(n\\), thereby defining the output of the system \\(y\\) as the measured output.
With this simplified model, the transfer functions of the different inputs of the system to three relevant output variables in the loop are written down in a set of equations.
Six different transfer functions are obtained and summarized in Table [3](#table--tab:gang-of-six).
Six different transfer functions are obtained and summarized in equation \eqref{eq:gang_of_six}.
<a id="table--tab:gang-of-six"></a>
<div class="table-caption">
<span class="table-number"><a href="#table--tab:gang-of-six">Table 3</a></span>:
Gang of six
</div>
\begin{equation} \label{eq:gang\_of\_six}
\begin{aligned}
\frac{x}{r} &= \frac{y}{r} = \frac{GCF}{1 + GC} \\\\\\
-\frac{x}{n} &= -\frac{u}{d} = \frac{GC}{1 + GC} \\\\\\
\frac{x}{d} &= \frac{y}{d} = \frac{G}{1 + GC} \\\\\\
\frac{u}{r} &= \frac{CF}{1 + GC} \\\\\\
\frac{u}{n} &= \frac{C}{1 + GC} \\\\\\
\frac{y}{n} &= \frac{1}{1 + GC}
\end{aligned}
\end{equation}
| \\(\frac{x}{r} = \frac{y}{r} = \frac{GCF}{1 + GC}\\) | \\(-\frac{x}{n} = -\frac{u}{d} = \frac{GC}{1 + GC}\\) | \\(\frac{x}{d} = \frac{y}{d} = \frac{G}{1 + GC}\\) |
|------------------------------------------------------|-------------------------------------------------------|----------------------------------------------------|
| \\(\frac{u}{r} = \frac{CF}{1 + GC}\\) | \\(\frac{u}{n} = \frac{C}{1 + GC}\\) | \\(\frac{y}{n} = \frac{1}{1 + GC}\\) |
In case no input filter is applied \\(F\\) is equal to one and the set of six equations is reduced to a set of four equations as shown in Table [4](#table--tab:gang-of-four).
In case no input filter is applied \\(F\\) is equal to one and the set of six equations is reduced to a set of four equations as shown in equation \eqref{eq:gang_of_four}.
This short set of equations also corresponds to the situation without a reference signal.
The most important transfer function is named the _Sensitivity Function_ (no unit):
@ -732,15 +964,14 @@ represents the ability of the system to follow a given reference position signal
For motion systems, the complementary sensitivity function is less important, because using model-based feedforward control for handling known inputs, feedback should only be applied for correction of unknown factors caused by disturbing inputs.
For that reason the most relevant motion system performance criteria are the Sensitivity \\(S(s)\\) and the Process Sensitivity \\(GS(s)\\).
<a id="table--tab:gang-of-four"></a>
<div class="table-caption">
<span class="table-number"><a href="#table--tab:gang-of-four">Table 4</a></span>:
Gang of four
</div>
| \\(\frac{x}{r} =\frac{y}{r} = -\frac{x}{n} = -\frac{u}{d} = \frac{GC}{1 + GC}\\) | \\(\frac{x}{d} = \frac{y}{d} = \frac{G}{1 + GC}\\) |
|-----------------------------------------------------------------------------------|----------------------------------------------------|
| \\(\frac{u}{r} = \frac{u}{n} = \frac{C}{1 + GC}\\) | \\(\frac{y}{n} = \frac{1}{1 + GC}\\) |
\begin{equation} \label{eq:gang\_of\_four}
\boxed{\begin{aligned}
\frac{x}{r} &= \frac{y}{r} = -\frac{x}{n} = -\frac{u}{d} = \frac{GC}{1 + GC} \\\\\\
\frac{x}{d} &= \frac{y}{d} = \frac{G}{1 + GC} \\\\\\
\frac{u}{r} &= \frac{u}{n} = \frac{C}{1 + GC} \\\\\\
\frac{y}{n} &= \frac{1}{1 + GC}
\end{aligned}}
\end{equation}
A common factor in all the sensitivity functions is the _Feedback-loop Transfer Function_:
@ -768,17 +999,17 @@ To achieve sufficient robustness against instability in closed-loop feedback con
The condition for robustness of closed-loop stability is that the total phase-lag of the **total feedback-loop**, consisting of the feedback controller in series with the mechatronic system, must be less than 180 degrees in the frequency region of the _unity-gain cross-over frequency_.
The Nyquist plot of the feedback loop, like the example shown in Figure [11](#org2768f88), is most appropriate to analyze the robustness on stability of a feedback system.
The Nyquist plot of the feedback loop, like the example shown in Figure [12](#org5b472b1), is most appropriate to analyze the robustness on stability of a feedback system.
It is an analysis tool that shows the frequency response of the **feedback-loop** combining magnitude and phase in one plot.
In this figure, two graphs are shown, designed for a different purpose.
The first graph from the left shows margin circles related to the capability of the closed-loop feedback controlled system to follow a reference according to the complementary sensitivity.
The second graph shows a margin circle related to the capability of the closed-loop feedback controlled system to suppress disturbances according to the sensitivity function.
<a id="org2768f88"></a>
<a id="org5b472b1"></a>
{{< figure src="/ox-hugo/schmidt20_nyquist_plot_stable.svg" caption="Figure 11: Nyquist plot of the feedback-loop response of a stable feedback controlled motion system. Stability is guaranteed as the \\(-1\\) point is kept at the left hand side of the feedback loop repsonse line upon passing with increased frequency, even though the phase-lag is more than 180 degrees at low frequencies." >}}
{{< figure src="/ox-hugo/schmidt20_nyquist_plot_stable.svg" caption="Figure 12: Nyquist plot of the feedback-loop response of a stable feedback controlled motion system. Stability is guaranteed as the \\(-1\\) point is kept at the left hand side of the feedback loop repsonse line upon passing with increased frequency, even though the phase-lag is more than 180 degrees at low frequencies." >}}
Three values are shown in Figure [11](#org2768f88) related to the robustness of the closed-loop feedback system:
Three values are shown in Figure [12](#org5b472b1) related to the robustness of the closed-loop feedback system:
- **The gain margin** determines by which factor the feedback loop gain additionally can increase before the closed-loop goes unstable.
- **The phase margin** determines how much additional phase-lab at the unity-gain cross-over frequency is acceptable before the closed-loop system becomes unstable.
@ -791,14 +1022,14 @@ Higher margins corresponds to a higher level of damping.
The Nyquist plot has one significant disadvantage as it does not show directly the frequency along the plot.
For that reason many designers prefer to use the Bode plot.
Fortunately it is also possible to indicate the phase and gain margin in the Bode plot as is shown in Figure [12](#org065335c).
Fortunately it is also possible to indicate the phase and gain margin in the Bode plot as is shown in Figure [13](#orgb35ccc2).
In many not too complicated cases, these two margins are sufficient to tune a feedback motion controller.
In more complicated control systems, it remains useful to also use the Nyquist plot as it also gives the Modulus margin.
<a id="org065335c"></a>
<a id="orgb35ccc2"></a>
{{< figure src="/ox-hugo/schmidt20_phase_gain_margin_bode.svg" caption="Figure 12: The gain and phase margin in the Bode plot" >}}
{{< figure src="/ox-hugo/schmidt20_phase_gain_margin_bode.svg" caption="Figure 13: The gain and phase margin in the Bode plot" >}}
### PID Feedback Control {#pid-feedback-control}
@ -919,11 +1150,11 @@ However, analogue controllers have three important disadvantages:
The digital implementation of filters overcome these problems as well as allows more complex algorithm such as adaptive control, real-time optimization, nonlinear control and learning control methods.
In Figure [13](#org144efa1) two elements were introduced, the _analogue-to-digital converter_ (ADC) and the _digital-to-analogue converter_ (DAC), which together transfer the signals between the analogue and the digital domain.
In Figure [14](#orgadda653) two elements were introduced, the _analogue-to-digital converter_ (ADC) and the _digital-to-analogue converter_ (DAC), which together transfer the signals between the analogue and the digital domain.
<a id="org144efa1"></a>
<a id="orgadda653"></a>
{{< figure src="/ox-hugo/schmidt20_digital_implementation.svg" caption="Figure 13: Overview of a digital implementation of a feedback controller, emphasising the analog-to-digital and digital-to-analog converters with their required analogue filters" >}}
{{< figure src="/ox-hugo/schmidt20_digital_implementation.svg" caption="Figure 14: Overview of a digital implementation of a feedback controller, emphasising the analog-to-digital and digital-to-analog converters with their required analogue filters" >}}
Anti-aliasing filter is needed at the input of the ADC to limit the frequency range at the input to less than half the sampling frequency, according to the Nyquist-Shannon sampling theorem.
@ -943,7 +1174,7 @@ Fixed point arithmetic has been favored in the past, because of the less complex
A main drawback is, that the developer must pay attention to truncation, overflow, underflow and round-off errors that occur during mathematical operations.
Fixed points numbers are equally spaced over the whole range, separated by the gap which is denoted by the least significant bit.
The two's complement is the most used format for representing positive and negative numbers.
For representing a fixed point fractional number of two's complement notation, the so called \\(Q\_{m,n}\\) format is often used (see Figure [14](#orgda6fa80)).
For representing a fixed point fractional number of two's complement notation, the so called \\(Q\_{m,n}\\) format is often used (see Figure [15](#org43c66f4)).
\\(m\\) denotes the number of integer bits and \\(n\\) denotes the number of fractional bits.
\\(m+n+1=N\\) bits are necessary to store a signed \\(Q\_{m,n}\\) number.
If the binary representation is given, the decimal value can be calculated to:
@ -952,11 +1183,11 @@ If the binary representation is given, the decimal value can be calculated to:
x = \frac{1}{2^n} \left( -2^{N-1 }b\_{N-1} + \sum\_{i=0}^{N-2} 2^i b\_i \right)
\end{equation}
where \\(b\\) indicate the bit position, starting with \\(b\_0\\) from the right in Figure [14](#orgda6fa80).
where \\(b\\) indicate the bit position, starting with \\(b\_0\\) from the right in Figure [15](#org43c66f4).
<a id="orgda6fa80"></a>
<a id="org43c66f4"></a>
{{< figure src="/ox-hugo/schmidt20_digital_number_representation.svg" caption="Figure 14: Example of a \\(Q\_{m.n}\\) fixed point number representation and a single precision floating point number" >}}
{{< figure src="/ox-hugo/schmidt20_digital_number_representation.svg" caption="Figure 15: Example of a \\(Q\_{m.n}\\) fixed point number representation and a single precision floating point number" >}}
Floating point arithmetic has a higher dynamic range than fixed point arithmetic, given by the largest and smallest number that can be represented, has a higher precision due to the smaller gaps between adjacent numbers, less quantization noise, and it is easier to handle in terms of programming.
A floating point number is represented by a multiplication of a _mantissa_ \\(M\\) with a _base_ \\(b\\) to the power of the _exponent_ \\(q\\):
@ -976,41 +1207,41 @@ x = -1^i M 2^{E-127}
The term \\(E\\) in the exponent is stored as a positive number ranging from \\(0 \le E < 256\\) with 8 bits.
An offset of \\(-127\\) is added in order to allow very small to very large numbers.
The decimal value is normalized, meaning that only one nonzero digit is noted at the left of the decimal point.
The storage register is divided into three groups, as shown in Figure [14](#orgda6fa80).
The storage register is divided into three groups, as shown in Figure [15](#org43c66f4).
1 bit represents the sign, the exponent term \\(E\\) is represented by 8 bits, and the mantissa is stored in 23 bits.
#### Digital Filter Theory {#digital-filter-theory}
<a id="org9922abe"></a>
<a id="orga7dafc8"></a>
{{< figure src="/ox-hugo/schmidt20_s_z_planes.svg" caption="Figure 15: Corresponding points and area in s and z planes" >}}
{{< figure src="/ox-hugo/schmidt20_s_z_planes.svg" caption="Figure 16: Corresponding points and area in s and z planes" >}}
#### Finite Impulse Response (FIR) Filter {#finite-impulse-response--fir--filter}
<a id="org4d4c293"></a>
<a id="orgec5f41f"></a>
{{< figure src="/ox-hugo/schmidt20_transversal_filter_structure.svg" caption="Figure 16: Transversal filter structure of a FIR filter. The term \\(z^{-1}\\) each represent a sampling period which means that \\(b\_0\\) is the gain of the last sample, \\(b\_1\\) is the gain of the precious sample etcetera." >}}
{{< figure src="/ox-hugo/schmidt20_transversal_filter_structure.svg" caption="Figure 17: Transversal filter structure of a FIR filter. The term \\(z^{-1}\\) each represent a sampling period which means that \\(b\_0\\) is the gain of the last sample, \\(b\_1\\) is the gain of the precious sample etcetera." >}}
<a id="orgbd6bb94"></a>
<a id="orgd8b516c"></a>
{{< figure src="/ox-hugo/schmidt20_optimized_fir_filter_structure.svg" caption="Figure 17: Optimized FIR filter structure with symmetric filter coefficients" >}}
{{< figure src="/ox-hugo/schmidt20_optimized_fir_filter_structure.svg" caption="Figure 18: Optimized FIR filter structure with symmetric filter coefficients" >}}
<a id="org670458c"></a>
<a id="orgaebdf57"></a>
{{< figure src="/ox-hugo/schmidt20_dir_filter_cascaded_sos.svg" caption="Figure 18: Higher-order FIR filter realization with cascade SOS filter structures" >}}
{{< figure src="/ox-hugo/schmidt20_dir_filter_cascaded_sos.svg" caption="Figure 19: Higher-order FIR filter realization with cascade SOS filter structures" >}}
#### Infinite Impulse Response (IIR) Filter {#infinite-impulse-response--iir--filter}
<a id="orgdfc31d4"></a>
<a id="orgb650cf3"></a>
{{< figure src="/ox-hugo/schmidt20_irr_structure.svg" caption="Figure 19: (a:) IIR structure in DF-1 realization and (b:) IIR structure in DF-2 realization" >}}
{{< figure src="/ox-hugo/schmidt20_irr_structure.svg" caption="Figure 20: (a:) IIR structure in DF-1 realization and (b:) IIR structure in DF-2 realization" >}}
<a id="orgb617097"></a>
<a id="orgb8e19b3"></a>
{{< figure src="/ox-hugo/schmidt20_irr_sos_structure.svg" caption="Figure 20: IIR SOS structure in DF-2 realization" >}}
{{< figure src="/ox-hugo/schmidt20_irr_sos_structure.svg" caption="Figure 21: IIR SOS structure in DF-2 realization" >}}
#### Converting Continuous to Discrete-Time Filters {#converting-continuous-to-discrete-time-filters}
@ -1697,6 +1928,8 @@ Motion control is essential for Precision Mechatronic Systems and consists of tw
#### Power Spectral Density and Cumulative Power {#power-spectral-density-and-cumulative-power}
{{< figure src="/ox-hugo/schmidt20_psd_cps.svg" >}}
#### Do not use the Cumulative Amplitude Spectrum! {#do-not-use-the-cumulative-amplitude-spectrum}
@ -1727,6 +1960,12 @@ Motion control is essential for Precision Mechatronic Systems and consists of tw
#### Electronic Interconnection of Sensitive Signals {#electronic-interconnection-of-sensitive-signals}
{{< figure src="/ox-hugo/schmidt20_signal_interference.svg" >}}
{{< figure src="/ox-hugo/schmidt20_cable_topology.svg" >}}
{{< figure src="/ox-hugo/schmidt20_electrostatic_shielding.svg" >}}
##### Magnetic Disturbances {#magnetic-disturbances}
@ -1736,6 +1975,8 @@ Motion control is essential for Precision Mechatronic Systems and consists of tw
##### Ground Loops {#ground-loops}
{{< figure src="/ox-hugo/schmidt20_ground_loops.svg" >}}
### Signal Conditioning {#signal-conditioning}
@ -1757,12 +1998,16 @@ Motion control is essential for Precision Mechatronic Systems and consists of tw
#### Schmitt Trigger {#schmitt-trigger}
{{< figure src="/ox-hugo/schmidt20_schmitt_trigger.svg" >}}
#### Digital Representation of Measurement Data {#digital-representation-of-measurement-data}
##### Gray Code {#gray-code}
{{< figure src="/ox-hugo/schmidt20_gray_code.svg" >}}
##### Sampling of Analogue Values {#sampling-of-analogue-values}
@ -1990,4 +2235,4 @@ Motion control is essential for Precision Mechatronic Systems and consists of tw
## Bibliography {#bibliography}
<a id="org343c570"></a>Schmidt, R Munnig, Georg Schitter, and Adrian Rankers. 2020. _The Design of High Performance Mechatronics - Third Revised Edition_. Ios Press.
<a id="orge3bc57b"></a>Schmidt, R Munnig, Georg Schitter, and Adrian Rankers. 2020. _The Design of High Performance Mechatronics - Third Revised Edition_. Ios Press.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 554 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 557 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 486 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 501 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 552 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 583 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.0 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 285 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 460 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 374 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 465 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 713 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 423 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 516 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 526 KiB