237 lines
10 KiB
Markdown
237 lines
10 KiB
Markdown
+++
|
||
title = "Advanced Motion Control Design"
|
||
author = ["Thomas Dehaeze"]
|
||
draft = false
|
||
+++
|
||
|
||
Tags
|
||
:
|
||
|
||
|
||
Reference
|
||
: ([Steinbuch et al. 2011](#org16dd9d1))
|
||
|
||
Author(s)
|
||
: Steinbuch, M., Merry, R., Boerlage, M., Ronde, M., & Molengraft, M.
|
||
|
||
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="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 enters 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.
|
||
|
||
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}
|
||
|
||
In MIMO systems, it is much less trivial to apply loopshaping.
|
||
The stability is determined by the closed-loop polynomial, \\(\det(I + L(s))\\), and the characteristic loci (eigenvalues of the FRF \\(L(j\omega)\\) in the complex plane) can be used for this graphically.
|
||
A system with N inputs and N outputs has N characteristic loci.
|
||
|
||
If each eigen value locus does not encircle the point (-1,0), the MIMO system is closed-loop stable.
|
||
The shaping of these eigenvalue loci is not straightforward if the plant has large off-diagonal elements.
|
||
In that case, a single element of the controller will affect more eigenvalue loci.
|
||
|
||
The strong non-intuitive aspect of MIMO loopshaping and the fact that SISO loopshaping is used often, are major obstacles in application of modern design tools in industrial motion systems.
|
||
|
||
<div class="important">
|
||
<div></div>
|
||
|
||
For that reason, the step-by-step approach is proposed:
|
||
|
||
1. Interaction Analysis
|
||
2. Decoupling Transformations
|
||
3. Independent SISO design
|
||
4. Sequential SISO design
|
||
5. Norm-based MIMO design
|
||
|
||
</div>
|
||
|
||
|
||
#### Interaction Analysis {#interaction-analysis}
|
||
|
||
The goal of the interaction analysis is to identify two-sided interactions in the plant dynamics.
|
||
Two measured for plant interactions can be used:
|
||
|
||
- Relative Gain Array (RGA) per frequency
|
||
|
||
<div class="definition">
|
||
<div></div>
|
||
|
||
The frequency dependent relative gain array is calculated as:
|
||
|
||
\begin{equation}
|
||
\text{RGA}(G(j\omega)) = G(j\omega) \times (G(j\omega)^{-1})^{T}
|
||
\end{equation}
|
||
|
||
where \\(\times\\) denotes element wise multiplication.
|
||
|
||
</div>
|
||
- Structure Singular Value (SSV) of interaction as multiplicative output uncertainty
|
||
|
||
<div class="definition">
|
||
<div></div>
|
||
|
||
The structured singular value interaction measure is the following condition:
|
||
|
||
\begin{equation}
|
||
\mu\_D(E\_T(j\omega)) < \frac{1}{2}, \forall \omega
|
||
\end{equation}
|
||
|
||
with \\(E\_T(j\omega) = G\_{nd}(j\omega) G\_d^{-1}(j\omega)\\), \\(\mu\_D\\) is the structured singular value, with respect to the diagonal structure of the feedback controller.
|
||
\\(G\_d(s)\\) are the diagonal terms of the transfer function matrix, and \\(G\_{nd}(s) = G(s) - G\_d(s)\\).
|
||
|
||
If a diagonal transfer function matrix is used, controllers gains must be small at frequencies where this condition is not met.
|
||
|
||
</div>
|
||
|
||
|
||
#### Decoupling Transformations {#decoupling-transformations}
|
||
|
||
A common method to reduce plant interaction is to redefine the input and output of the plant.
|
||
One can combine several inputs or outputs to control the system in more decoupled coordinates.
|
||
For motion systems most of these transformations are found on the basis of _kinematic models_.
|
||
Herein, combinations of the actuators are defined so that actuator variables act in independent (orthogonal) directions at the center of gravity.
|
||
Likewise, combinations of the sensors are defined so that each translation and rotation of the center of gravity can be measured independently.
|
||
This is basically the inversion of a kinematic model of the plant.
|
||
|
||
As motion systems are often designed to be light and stiff, kinematic decoupling is often sufficient to achieve acceptable decoupling at the crossover frequency.
|
||
|
||
|
||
#### Independent SISO design {#independent-siso-design}
|
||
|
||
For systems where interaction is low, or the decoupling is almost successful, one can design a _diagonal_ controller by closing each control loop independently.
|
||
The residual interaction can be accounted for in the analysis.
|
||
|
||
For this, we make use of the following decomposition:
|
||
|
||
\begin{equation}
|
||
\det(I + GK) = \det(I + E\_T T\_d) \det(I + G\_d K)
|
||
\end{equation}
|
||
|
||
with \\(T\_d = G\_d K (I + G\_d K)^{-1}\\).
|
||
\\(G\_d(s)\\) is defined to be only the diagonal terms of the plant transfer function matrix.
|
||
The effect of the non-diagonal terms of the plant \\(G\_{nd}(s) = G(s) - G\_d(s)\\) is accounted for in \\(E\_T(s)\\).
|
||
|
||
<div class="important">
|
||
<div></div>
|
||
|
||
Then the MIMO closed-loop stability assessment can be slit up in two assessments:
|
||
|
||
- the first for stability of N non-interacting loops, namely \\(\det(I + G\_d(s)K(s))\\)
|
||
- the second for stability of \\(\det(I + E\_T(s)T\_d(s))\\)
|
||
|
||
</div>
|
||
|
||
If \\(G(s)\\) and \\(T\_d(s)\\) are stable, one can use the _small gain theorem_ to find a sufficient condition of stability of \\(\det(I + E\_TT\_d)\\) as
|
||
|
||
\begin{equation}
|
||
\rho(E\_T(j\omega) T\_d(j\omega)) < 1, \forall \omega
|
||
\end{equation}
|
||
|
||
where \\(\rho\\) is the spectral radius.
|
||
|
||
Due to the fact that a sufficient condition is used, independent loop closing usually leads to conservative designs.
|
||
|
||
|
||
#### Sequential SISO design {#sequential-siso-design}
|
||
|
||
If the interaction is larger, the sequential loop closing method is appropriate.
|
||
The controller is still a diagonal transfer function matrix, but each control designs are now dependent.
|
||
In principle, one starts with the open-loop FRF of the MIMO Plant.
|
||
Then one loop is closed using SISO loopshaping.
|
||
The controller is taken into the plant description, and a new FRF is obtained with one input and output less.
|
||
Then, the next loop is designed and so on.
|
||
|
||
The multivariable system is nominally closed-loop stable if in each design step the system is closed-loop stable.
|
||
However, the robustness margins in each design step do not guarantee robust stability of the final multivariable system.
|
||
|
||
Drawbacks of sequential design are:
|
||
|
||
- the ordering of the design steps may have great impact on the achievable performance.
|
||
There is no general approach to determine the best sequence.
|
||
- there are no guarantees that robustness margins in earlier loops are preserved.
|
||
- as each design step usually considers only a single output, the responses in earlier designed loops may degrade.
|
||
|
||
|
||
#### Norm-based MIMO design {#norm-based-mimo-design}
|
||
|
||
If sequential SISO design is not successful, the next step is to start norm-based control design.
|
||
This method requires a parametric model and weighting filters to express the control problem in terms of an operator norm like \\(H\_2\\) or \\(H\_\infty\\).
|
||
|
||
Parametric models are usually build up step-by-step, first considering the unmodeled dynamics as (unstructured) uncertainty.
|
||
|
||
|
||
## Bibliography {#bibliography}
|
||
|
||
<a id="org16dd9d1"></a>Steinbuch, Maarten, Roel Merry, Matthijs Boerlage, Michael Ronde, and Marinus Molengraft. 2011. “Advanced Motion Control Design.” In _Control System Applications_, 651–76. CRC Press.
|