Update Content - 2021-08-27

This commit is contained in:
2021-08-27 16:00:01 +02:00
parent 04ffabab5c
commit 85ae685ee2
14 changed files with 501 additions and 218 deletions

View File

@@ -1,194 +0,0 @@
+++
title = "Multivariable control systems: an engineering approach"
author = ["Thomas Dehaeze"]
draft = true
+++
Tags
: [Multivariable Control](multivariable_control.md)
Reference
: ([Albertos and Antonio 2004](#orga6ef935))
Author(s)
: Albertos, P., & Antonio, S.
Year
: 2004
## [Decentralized Control](decentralized_control.md) and Decoupled Control {#decentralized-control--decentralized-control-dot-md--and-decoupled-control}
### Introduction {#introduction}
Decentralized control is decomposed into two steps:
1. decoupled the plant into several subsystems
2. control the subsystems
The initial effort of decoupling the system results in subsequent easier design, implementation and tuning.
Decentralized control tries to control multivariable plants by a suitable decomposition into SISO control loops.
If the process has strong coupling or conditioning problems, centralized control may be required.
It however requires the availability of a precise model.
Two approaches can be used to control a coupled system with SISO techniques:
- **decentralized control** tries to divide the plant and design _independent_ controllers for each subsystems.
Two alternative arise:
- neglect the coupling
- carry out a _decoupling_ operation by "canceling" coupling by transforming the system into a diagonal or triangular structure bia a transformation matrix
- **cascade control**
### Mutli-Loop Control, Pairing Selection {#mutli-loop-control-pairing-selection}
The strategy called _multi-loop control_ consists of first proper input/output pairing, and then design of several SISO controllers.
In this way, a complex control problem is divided into several simpler ones.
The multi-loop control may not work in strongly coupled systems.
Therefore, a methodology the access the degree of interaction between the loops is needed.
#### [Relative Gain Array](relative_gain_array.md) {#relative-gain-array--relative-gain-array-dot-md}
The Relative Gain Array (RGA) \\(\Lambda(s)\\) is defined as:
\begin{equation}
\Lambda(s) = G(s) \times (G(s)^T)^{-1}
\end{equation}
The RGA is scaling-independent and controller-independent.
These coefficients can be interpreted as the ratio between the open-loop SISO static gain and the gain with "perfect" control on the rest of the loops.
For demanding control specifications, the values of \\(\Lambda\\) car be drawn as a function of frequency.
In this case, at frequencies important for control stability robustness (around the peak of the sensitivity transfer function), if \\(\Lambda(j\omega)\\) approaches the identity matrix, stability problems are avoided in multi-loop control.
### Decoupling {#decoupling}
In cases when multi-loop control is not effective in reaching the desired specifications, a possible strategy for tackling the MIMO control could be to transform the transfer function matrix into a diagonal dominant one.
This strategy is called **decoupling**.
[Decoupled Control](decoupled_control.md) can be achieved in two ways:
- feedforward cancellation of the cross-coupling terms
- based on state measurements, via a feedback law
#### Feedforward Decoupling {#feedforward-decoupling}
A pre-compensator (Figure [1](#org7023330)) can be added to transform the open-loop characteristics into a new one as chosen by the designer.
This decoupler can be taken as the inverse of the plant provided it does not include RHP-zeros.
<a id="org7023330"></a>
{{< figure src="/ox-hugo/albertos04_pre_compensator_decoupling.png" caption="Figure 1: Decoupler pre-compensator" >}}
**Approximate decoupling**:
To design low-bandwidth loops, insertion of the inverse DC-gain before the loop ensures decoupling at least at steady-state.
If further bandwidth extension is desired, an approximation of \\(G^{-1}\\) valid in low frequencies can be used.
Although at first glance, decoupling seems an appealing idea, there are some drawbacks:
- as decoupling is achieved via the coordination of sensors and actuators to achieve an "apparent" diagonal behavior, the failure of one the actuators may heavily affects all loops.
- a decoupling design (inverse-based controller) may not be desirable for all disturbance-rejection tasks.
- many MIMO non-minimum phase systems, when feedforward decoupled, increase the RHP-zero multiplicity so performance limitations due to its presence are exacerbated.
- decoupling may be very sensitive to modeling errors, specially for ill-conditionned plants
- feedback decoupling needs full state measurements
#### SVD Decoupling {#svd-decoupling}
A matrix \\(M\\) can be expressed, using the [Singular Value Decomposition](singular_value_decomposition.md) as:
\begin{equation}
M = U \Sigma V^T
\end{equation}
where \\(U\\) and \\(V\\) are orthogonal matrices and \\(\Sigma\\) is diagonal.
The SVD can be used to obtain decoupled equations between linear combinations of sensors and linear combinations of actuators.
In this way, although losing part of its intuitive sense, a decoupled design can be carried out even for non-square plants.
If sensors are multiplied by \\(U^T\\) and control actions multiplied by \\(V\\), as in Figure [2](#org2de6de7), then the loop, in the transformed variables, is decoupled, so a diagonal controller \\(K\_D\\) can be used.
Usually, the sensor and actuator transformations are obtained using the DC gain, or a real approximation of \\(G(j\omega)\\), where \\(\omega\\) is around the desired closed-loop bandwidth.
<a id="org2de6de7"></a>
{{< figure src="/ox-hugo/albertos04_svd_decoupling.png" caption="Figure 2: SVD decoupling: \\(K\_D\\) is a diagonal controller designed for \\(\Sigma\\)" >}}
The transformed sensor-actuator pair corresponding to the maximum singular value is the direction with biggest "gain" on the plant, that is, the combination of variables being "easiest to control".
In ill-conditioned plants, the ratio between the biggest and lower singular value is large (for reference, greater than 20).
They are very sensitive to input uncertainty as some "input directions" have much bigger gain than other ones.
SVD decoupling produces the most suitable combinations for independent "multi-loop" control in the transformed variables, so its performance may be better than RGA-based design (at the expense of losing physical interpretability).
If some of the vectors in \\(V\\) (input directions) have a significant component on a particular input, and the corresponding output direction is also significantly pointing to a particular output, that combination is a good candidate for an independent multi-loop control.
### Conclusions {#conclusions}
In this chapter, the control of systems with multiple inputs and outputs is discussed using SISO-based tools, either directly or after some multivariable decoupling transformations.
Multi-loop strategies, if suitable, may present th advantages of fault tolerance, as well as simplicity.
However, in some cases, tuning may be difficult and coupling may severely limit their performance.
Decoupling is based on mathematical transformations of the system models into diagonal form.
Feedforward decoupling can be used in many cases.
Feedback decoupling achieves its objective if state is measurable and system is minimum-phase.
However, decoupling may be very sensitive to modelling errors and it is not the optimal strategy for disturbance rejection.
Cascade control is widely used in industry to improve the behaviour of basic SISO loops via the addition of extra sensors and actuators.
However, ease of tuning requires that different time constants are involved in different subsystems.
In general, addition of extra sensors and actuators in a SISO or MIMO loop, will improve achievable performance and/or tolerance to modelling errors.
The level of improvement must be traded off against the cost of additional instrumentation.
## Implementation and Other Issues {#implementation-and-other-issues}
There are two main categories for the implementation of MIMO control:
- Decentralized, Decoupled, Cascade
- Centralized, optimization based
A fundamental reason to use cascade and decentralized control in most practical applications is because they require less modelling effort.
Other advantages of cascade and decentralized control are:
- its behaviour can be easily understood
- standard equipment can be used (PID controllers, etc.)
- their decoupled behavior enables easier tuning with model-free strategies
- decentralized implementation tends to be more fault-tolerant, as individual loops will try to keep their set-points even in the case some other components have failed.
### [Anti-Windup Control](anti_windup_control.md) {#anti-windup-control--anti-windup-control-dot-md}
In practice, it is possible that an actuator saturate.
In such case, the feedback path is broken, and this has several implications:
- unstable processes: the process output might go out of control
- multi-loop and centralized control: even with stable plants, opening a feedback path may cause the overall loop to become unstable
The wind-up problem can appear with integral action regulators: during significative step changes in the set point, the integral of the error keeps accumulation and when reaching the desired set-point the accumulated integral action produces a significant overshoot increment.
In SISO PID regulators, anti-windup schemes are implemented by either stopping integration if the actuator is saturated or by implementing the following control law:
\begin{equation}
u = K(r - y) - K T\_D \frac{dy}{dt} + \int K T\_i^{-1} (r - y) + T\_t^{-1} (u\_m - u) dt \label{eq:antiwindup\_pid}
\end{equation}
where \\(u\\) is the calculated control action and \\(u\_m\\) is the actual control action applied to the plant.
In non-saturated behaviour, \\(u=u\_m\\) and the equation is the ordinary PID.
In saturation, \\(u\_m\\) is a constant and the resulting equations drive \\(u\\) down towards \\(u\_m\\) dynamically, with time constant \\(T\_T\\).
### [Bumpless Transfer](bumpless_transfer.md) {#bumpless-transfer--bumpless-transfer-dot-md}
When switching on the regulator, significant transient behavior can be seen and the controller may saturate the actuators.
The solution is similar to that of the wind-up phenomenon: the regulator should be always on, carrying out calculations by using \eqref{eq:antiwindup_pid}.
## Bibliography {#bibliography}
<a id="orga6ef935"></a>Albertos, P., and S. Antonio. 2004. _Multivariable Control Systems: An Engineering Approach_. Advanced Textbooks in Control and Signal Processing. Springer-Verlag. <https://doi.org/10.1007/b97506>.

View File

@@ -1,5 +0,0 @@
+++
title = "Dynamic decoupling of robot manipulators"
author = ["Thomas Dehaeze"]
draft = false
+++

View File

@@ -3,14 +3,14 @@ title = "Design, modeling and control of nanopositioning systems"
author = ["Thomas Dehaeze"]
description = "Talks about various topics related to nano-positioning systems."
keywords = ["Control", "Metrology", "Flexible Joints"]
draft = false
draft = true
+++
Tags
: [Piezoelectric Actuators]({{< relref "piezoelectric_actuators" >}}), [Flexible Joints]({{< relref "flexible_joints" >}})
: [Piezoelectric Actuators](piezoelectric_actuators.md), [Flexible Joints](flexible_joints.md)
Reference
: ([Fleming and Leang 2014](#org9f0983e))
: ([Fleming and Leang 2014](#orgc8028e0))
Author(s)
: Fleming, A. J., & Leang, K. K.
@@ -783,11 +783,11 @@ Year
### Amplifier and Piezo electrical models {#amplifier-and-piezo-electrical-models}
<a id="orgc11b95b"></a>
<a id="orgded1d91"></a>
{{< figure src="/ox-hugo/fleming14_amplifier_model.png" caption="Figure 1: A voltage source \\(V\_s\\) driving a piezoelectric load. The actuator is modeled by a capacitance \\(C\_p\\) and strain-dependent voltage source \\(V\_p\\). The resistance \\(R\_s\\) is the output impedance and \\(L\\) the cable inductance." >}}
Consider the electrical circuit shown in Figure [1](#orgc11b95b) where a voltage source is connected to a piezoelectric actuator.
Consider the electrical circuit shown in Figure [1](#orgded1d91) where a voltage source is connected to a piezoelectric actuator.
The actuator is modeled as a capacitance \\(C\_p\\) in series with a strain-dependent voltage source \\(V\_p\\).
The resistance \\(R\_s\\) and inductance \\(L\\) are the source impedance and the cable inductance respectively.
@@ -911,4 +911,4 @@ The bandwidth limitations of standard piezoelectric drives were identified as:
## Bibliography {#bibliography}
<a id="org9f0983e"></a>Fleming, Andrew J., and Kam K. Leang. 2014. _Design, Modeling and Control of Nanopositioning Systems_. Advances in Industrial Control. Springer International Publishing. <https://doi.org/10.1007/978-3-319-06617-2>.
<a id="orgc8028e0"></a>Fleming, Andrew J., and Kam K. Leang. 2014. _Design, Modeling and Control of Nanopositioning Systems_. Advances in Industrial Control. Springer International Publishing. <https://doi.org/10.1007/978-3-319-06617-2>.

View File

@@ -1,26 +0,0 @@
+++
title = "Mechatronics and robotics: new trends and challenges"
author = ["Thomas Dehaeze"]
draft = false
+++
Tags
:
Reference
: ([Indri and Oboe 2020](#orge6b9fea))
Author(s)
: Indri, M., & Oboe, R.
Year
: 2020
- [ ] Read Chapter 4
## Bibliography {#bibliography}
<a id="orge6b9fea"></a>Indri, Marina, and Roberto Oboe. 2020. _Mechatronics and Robotics: New Trends and Challenges_. CRC Press.

View File

@@ -1,111 +0,0 @@
+++
title = "Advanced Motion Control Design"
author = ["Thomas Dehaeze"]
draft = false
+++
Tags
:
Reference
: ([Levine 2011](#org5f2e773)), chapter 27
Author(s)
: Levine, W. S.
Year
: 2011
## Introduction {#introduction}
The industrial state of the art control of motion systems can be summarized as follows.
Most systems, by design, are either decoupled, or can be decoupled using static input-output transformations.
Hence, most motion systems and their motion software architecture use SISO control design methods and solutions.
Feedback design is mostly done in the frequency domain, using [Loop-Shaping](loop_shaping.md) techniques.
A typical motion controller has a PID structure, with a low pass at high frequencies and one or two notch filters to compensate flexible dynamics.
In addition to the feedback controller, a feedforward controller is applied with acceleration, velocity from the reference signal.
The setpoint itself is a result of a setpoint generator with jerk limitation profiles (see [Trajectory Generation](trajectory_generation.md)).
If the requirements increase, the dynamic coupling between the various DOFs can no longer be neglected and more advanced MIMO control is required.
<div class="important">
<div></div>
Step by step procedure:
1. Interaction Analysis
2. Decoupling
3. Independent SISO design
4. Sequential SISO design
5. Norm-based MIMO design
</div>
<div class="definition">
<div></div>
Centralized control
: the transfer function matrix of the controller is allowed to have any structure
Decentralized control
: diagonal controller transfer function, but constant decoupling manipulations of inputs and outputs are allowed
Independent decentralized control
: a single loop is designed without taking into account the effect of earlier or later designed loops
Sequential decentralized control
: a single loop is designed with taking into account the effect of all earlier closed loops
</div>
## Motion Systems {#motion-systems}
Here, we focus on the control of linear time invariant electromechanical motion systems that have the same number of actuators and sensors as Rigid Body modes.
The dynamics of such systems are often dominated by the mechanics, such that:
\begin{equation}
G\_p(s) = \sum\_{i=1}^{N\_{rb}} \frac{c\_i b\_i^T}{s^2} + \sum\_{i=N\_{rb} + 1}^{N} \frac{c\_ib\_i^T}{s^2 + 2 \xi\_i \omega\_i s + \omega\_i^2}
\end{equation}
with \\(N\_{rb}\\) is the number of rigid body modes.
The vectors \\(c\_i,b\_i\\) span the directions of the ith mode shapes.
If the resonance frequencies \\(\omega\_i\\) are high enough, the plant can be approximately decoupled using static input/output transformations \\(T\_u,T\_y\\) so that:
\begin{equation}
G\_{yu} = T\_y G\_p(s) T\_u = \frac{1}{s^2} \begin{bmatrix}
m & 0 & & \dots & & 0 \\\\\\
0 & m & & & & \\\\\\
& & m & \ddots & & \vdots \\\\\\
\vdots & & \ddots & I\_x & & \\\\\\
& & & & I\_y & 0 \\\\\\
0 & & \dots & & 0 & I\_z
\end{bmatrix} + G\_{\text{flex}}(s)
\end{equation}
## Feedback Control Design {#feedback-control-design}
### [Loop-Shaping](loop_shaping.md) - The SISO case {#loop-shaping--loop-shaping-dot-md--the-siso-case}
The key idea of loopshaping is the modification of the controller such that the open-loop is made according to specifications.
The reason this works well is that the controller inters linearly into the open-loop transfer function \\(L(s) = G(s)K(s)\\).
However, in practice all specifications are of course given in terms of the final system performance, that is, as closed-loop specifications.
So we should convert the closed-loop specifications into specifications on the open-loop.
Let us assume we know the spectral contents of the disturbance.
Take as an example the simple case of a disturbance being a sinusoid of known amplitude and frequency.
If we know the specifications on the error amplitude, we can derive the requirement on the process sensitivity at that frequency.
Since at low frequency the sensitivity can be approximated as the inverse of the open-loop, we can translate this into a specification of the open-loop at that frequency.
Because we know that the slope of the open-loop of a well tuned motion system will be between -2 and -1, we can estimate the required crossover frequency.
### Loop-Shaping - The MIMO case {#loop-shaping-the-mimo-case}
## Bibliography {#bibliography}
<a id="org5f2e773"></a>Levine, W. S. 2011. _Control System Applications_. The Control Handbook. Boca Raton: CRC Press.

View File

@@ -1,23 +0,0 @@
+++
title = "System identification : a frequency domain approach"
author = ["Thomas Dehaeze"]
draft = false
+++
Tags
: [System Identification](system_identification.md)
Reference
: ([Pintelon and Schoukens 2012](#org88596ad))
Author(s)
: Pintelon, R., & Schoukens, J.
Year
: 2012
## Bibliography {#bibliography}
<a id="org88596ad"></a>Pintelon, Rik, and Johan Schoukens. 2012. _System Identification : a Frequency Domain Approach_. Hoboken, N.J. Piscataway, NJ: Wiley IEEE Press. <https://doi.org/10.1002/9781118287422>.

View File

@@ -1,7 +1,7 @@
+++
title = "Mastering system identification in 100 exercises"
author = ["Thomas Dehaeze"]
draft = false
draft = true
+++
Tags
@@ -9,7 +9,7 @@ Tags
Reference
: ([Schoukens, Pintelon, and Rolain 2012](#org4021f9f))
: ([Schoukens, Pintelon, and Rolain 2012](#org1193e9b))
Author(s)
: Schoukens, J., Pintelon, R., & Rolain, Y.
@@ -20,4 +20,4 @@ Year
## Bibliography {#bibliography}
<a id="org4021f9f"></a>Schoukens, Johan, Rik Pintelon, and Yves Rolain. 2012. _Mastering System Identification in 100 Exercises_. John Wiley & Sons.
<a id="org1193e9b"></a>Schoukens, Johan, Rik Pintelon, and Yves Rolain. 2012. _Mastering System Identification in 100 Exercises_. John Wiley & Sons.