195 lines
10 KiB
Markdown
195 lines
10 KiB
Markdown
+++
|
|
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>.
|