Update Content - 2021-09-03
This commit is contained in:
		| @@ -1,236 +0,0 @@ | ||||
| +++ | ||||
| title = "Advanced Motion Control Design" | ||||
| author = ["Thomas Dehaeze"] | ||||
| draft = false | ||||
| +++ | ||||
|  | ||||
| Tags | ||||
| : | ||||
|  | ||||
|  | ||||
| Reference | ||||
| : ([Levine 2011](#orgb7728f4)), 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="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="orgb7728f4"></a>Levine, W. S. 2011. _Control System Applications_. The Control Handbook. Boca Raton: CRC Press. | ||||
		Reference in New Issue
	
	Block a user