digital-brain/content/book/albertos04_multiv_contr_system.md

146 lines
7.3 KiB
Markdown
Raw Normal View History

2020-04-20 18:58:10 +02:00
+++
title = "Multivariable control systems: an engineering approach"
author = ["Thomas Dehaeze"]
2021-05-30 19:15:14 +02:00
draft = true
2020-04-20 18:58:10 +02:00
+++
Tags
2021-08-23 16:00:33 +02:00
: [Multivariable Control](multivariable_control.md)
2020-04-20 18:58:10 +02:00
Reference
2021-08-23 16:00:33 +02:00
: ([Albertos and Antonio 2004](#org22a156f))
2020-04-20 18:58:10 +02:00
Author(s)
: Albertos, P., & Antonio, S.
Year
: 2004
2021-08-23 16:00:33 +02:00
## [Decentralized Control](decentralized_control.md) and Decoupled Control {#decentralized-control--decentralized-control-dot-md--and-decoupled-control}
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
Decentralized control is decomposed into two steps:
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
1. decoupled the plant into several subsystems
2. control the subsystems
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
The initial effort of decoupling the system results in subsequent easier design, implementation and tuning.
2021-05-02 20:37:00 +02:00
### 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**.
2021-08-23 16:00:33 +02:00
[Decoupled Control](decoupled_control.md) can be achieved in two ways:
2021-05-02 20:37:00 +02:00
- feedforward cancellation of the cross-coupling terms
- based on state measurements, via a feedback law
#### Feedforward Decoupling {#feedforward-decoupling}
A pre-compensator 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.
**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.
#### Feedback Decoupling {#feedback-decoupling}
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}
2021-08-23 16:00:33 +02:00
A matrix \\(M\\) can be expressed, using the [Singular Value Decomposition](singular_value_decomposition.md) as:
2021-05-02 20:37:00 +02:00
\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.
2021-08-23 16:00:33 +02:00
If sensors are multiplied by \\(U^T\\) and control actions multiplied by \\(V\\), as in Figure [1](#orgbba6502), then the loop, in the transformed variables, is decoupled, so a diagonal controller \\(K\_D\\) can be used.
2021-05-02 20:37:00 +02:00
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.
2021-08-23 16:00:33 +02:00
<a id="orgbba6502"></a>
2021-05-02 20:37:00 +02:00
{{< figure src="/ox-hugo/albertos04_svd_decoupling.png" caption="Figure 1: 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.
## Fundamentals of Centralised Closed-loop Control {#fundamentals-of-centralised-closed-loop-control}
## Optimisation-based Control {#optimisation-based-control}
## Designing for Robustness {#designing-for-robustness}
## Implementation and Other Issues {#implementation-and-other-issues}
2021-08-23 16:00:33 +02:00
There are two main categories for the implementation of MIMO control:
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
- Decentralized, Decoupled, Cascade
- Centralized, optimization based
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
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:
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
- 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.
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
### [Anti-Windup Control](anti_windup_control.md) {#anti-windup-control--anti-windup-control-dot-md}
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
In practice, it is possible that an actuator saturate.
In such case, the feedback path is broken, and this has several implications:
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
- 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
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
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:
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
\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}
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
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\\).
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
### [Bumpless Transfer](bumpless_transfer.md) {#bumpless-transfer--bumpless-transfer-dot-md}
2021-05-02 20:37:00 +02:00
2021-08-23 16:00:33 +02:00
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}.
2021-05-02 20:37:00 +02:00
## Bibliography {#bibliography}
2021-08-23 16:00:33 +02:00
<a id="org22a156f"></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>.