99 lines
5.6 KiB
Markdown
99 lines
5.6 KiB
Markdown
+++
|
|
title = "Decoupled Control"
|
|
author = ["Dehaeze Thomas"]
|
|
draft = false
|
|
category = "Control Theory"
|
|
subcategory = "Multivariable Analysis"
|
|
+++
|
|
|
|
Tags
|
|
: [Multivariable Control]({{< relref "multivariable_control.md" >}})
|
|
|
|
|
|
## Decoupling Control of Parallel Kinematics Robots {#decoupling-control-of-parallel-kinematics-robots}
|
|
|
|
Consider a rigid body (mass matrix \\(\bm{M}\\), stiffness matrix \\(\bm{K}\\)) suspended by actuators, with their forces \\(\bm{\tau}\\) and the change of length of the struts \\(\bm{\mathcal{L}}\\).
|
|
The Jacobian matrix \\(\bm{J}\\) relates the pose \\(\bm{\mathcal{X}}\\) of the body to the strut lengths, \\(\bm{\mathcal{L}} = \bm{J} \bm{\mathcal{X}}\\), and the actuator forces to the wrench \\(\bm{\mathcal{F}}\\) applied on the body, \\(\bm{\mathcal{F}} = \bm{J}^{\intercal} \bm{\tau}\\).
|
|
|
|
The transfer function in the actuator frame is:
|
|
|
|
\begin{equation}
|
|
\bm{G}\_{\\{\mathcal{L}\\}}(s) = \frac{\bm{\mathcal{L}}}{\bm{\tau}} = \bm{J} \left( \bm{M} s^2 + \bm{C} s + \bm{K} \right)^{-1} \bm{J}^{\intercal}
|
|
\end{equation}
|
|
|
|
Depending on the frequency range, the dynamics is dominated by the stiffness (low frequency) or the inertia (high frequency).
|
|
The best frame to decouple the system is not the same in the two cases.
|
|
|
|
|
|
### Control at the Center Of Mass {#control-at-the-center-of-mass}
|
|
|
|
For soft systems (for instance voice coil based), it makes sense to work at the Center of Mass (CoM).
|
|
Above the "suspension modes", the dynamics is dominated by inertia.
|
|
Therefore, the transfer function from forces and torques applied at the CoM to the translation and rotation of the suspended mass evaluated at the CoM is decoupled.
|
|
It is equal to the inverse of the mass matrix (diagonal when evaluated at the CoM) times \\(1/s^2\\):
|
|
|
|
\begin{equation}
|
|
\bm{G}\_{\\{CoM\\}}(s) = \frac{\bm{\mathcal{X}}\_{\\{CoM\\}}}{\bm{\mathcal{F}}\_{\\{CoM\\}}} \approx \frac{1}{s^2} \bm{M}^{-1}
|
|
\end{equation}
|
|
|
|
To work at the CoM, the plant is pre- and post-multiplied by the Jacobian matrices as shown in Figure [Figure 1](#figure--fig:detail-control-decoupling-control-jacobian):
|
|
|
|
\begin{equation}
|
|
\bm{G}\_{\\{CoM\\}}(s) = \bm{J}\_{\\{CoM\\}}^{-1} \\, \bm{G}\_{\\{\mathcal{L}\\}}(s) \\, \bm{J}\_{\\{CoM\\}}^{-\intercal}
|
|
\end{equation}
|
|
|
|
<a id="figure--fig:detail-control-decoupling-control-jacobian"></a>
|
|
|
|
{{< figure src="/ox-hugo/detail_control_decoupling_control_jacobian.png" caption="<span class='figure-number'>Figure 1: </span>Plant with inputs \\(\bm{\tau}\\) and outputs \\(\bm{\mathcal{L}}\\), and the Jacobian matrices used to work with forces and displacements at the CoM" >}}
|
|
|
|
The animations below show a 3DoF suspended body above its suspension modes (1 Hz), when a force or a torque is applied at the CoM.
|
|
The three actuator forces are computed with \\(\bm{\tau} = \bm{J}\_{\\{CoM\\}}^{-\intercal} \bm{\mathcal{F}}\_{\\{CoM\\}}\\) (the darker the actuator, the larger its force).
|
|
|
|
**Force along \\(x\\) applied at the CoM**: the body only translates along \\(x\\).
|
|
|
|
<a id="figure--fig:decoupled-control-com-Fx"></a>
|
|
|
|
{{< figure src="/ox-hugo/decoupled_control_com_Fx.gif" caption="<span class='figure-number'>Figure 2: </span>Force along \\(x\\) applied at the CoM (1 Hz): pure translation" >}}
|
|
|
|
**Torque about \\(z\\) applied at the CoM**: the body only rotates around its CoM.
|
|
|
|
<a id="figure--fig:decoupled-control-com-Mz"></a>
|
|
|
|
{{< figure src="/ox-hugo/decoupled_control_com_Mz.gif" caption="<span class='figure-number'>Figure 3: </span>Torque about \\(z\\) applied at the CoM (1 Hz): pure rotation" >}}
|
|
|
|
|
|
### Control in the Actuator Frame {#control-in-the-actuator-frame}
|
|
|
|
For stiff parallel systems, the dynamics from \\(\bm{\tau}\\) to \\(\bm{\mathcal{L}}\\) is well decoupled at low frequency (well below the first resonance frequency).
|
|
At low frequency, the dynamics is dominated by the stiffness: with \\(\bm{K} = \bm{J}^{\intercal} \mathcal{K} \bm{J}\\), \\(\mathcal{k}\\) being the diagonal matrix of the actuator stiffnesses, the transfer function from \\(\bm{\tau}\\) to \\(\bm{\mathcal{L}}\\) is diagonal:
|
|
|
|
\begin{equation}
|
|
\bm{G}\_{\\{\mathcal{L}\\}}(0) = \bm{J} \bm{K}^{-1} \bm{J}^{\intercal} = \mathcal{K}^{-1}
|
|
\end{equation}
|
|
|
|
Each actuator then only changes the length of its own strut.
|
|
The control can be designed independently for each actuator, using the length of the strut as the sensor.
|
|
|
|
Below the suspension modes, actuating one actuator moves the body, but the lengths of the two other struts do not change.
|
|
Therefore, the plant in the frame of the actuators is decoupled.
|
|
|
|
<a id="figure--fig:decoupled-control-low-freq-act-1"></a>
|
|
|
|
{{< figure src="/ox-hugo/decoupled_control_low_freq_act_1.gif" caption="<span class='figure-number'>Figure 4: </span>Left actuator at 0.1 Hz (below the suspension modes): only the strut of the actuated direction changes length" >}}
|
|
|
|
<a id="figure--fig:decoupled-control-low-freq-act-2"></a>
|
|
|
|
{{< figure src="/ox-hugo/decoupled_control_low_freq_act_2.gif" caption="<span class='figure-number'>Figure 5: </span>Bottom left actuator at 0.1 Hz (below the suspension modes): only the strut of the actuated direction changes length" >}}
|
|
|
|
At higher frequency, the inertia becomes important and the system is coupled: using only the first actuator also excites the other directions and the other struts change length.
|
|
|
|
<a id="figure--fig:decoupled-control-high-freq-act-1"></a>
|
|
|
|
{{< figure src="/ox-hugo/decoupled_control_high_freq_act_1.gif" caption="<span class='figure-number'>Figure 6: </span>Left actuator at 1 Hz (above the suspension modes): the system is coupled, the body translates and rotates" >}}
|
|
|
|
|
|
## Bibliography {#bibliography}
|
|
|
|
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
|
|
</div>
|