Update Content - 2021-09-29

This commit is contained in:
Thomas Dehaeze 2021-09-29 16:00:48 +02:00
parent 4e7b0ab57f
commit ae409a6dfe
20 changed files with 842 additions and 158 deletions

View File

@ -5,10 +5,10 @@ draft = false
+++
Tags
: [Decoupled Control](decoupled_control.md)
: [Decoupled Control]({{<relref "decoupled_control.md#" >}})
Reference
: ([Chen and McInroy 2004](#org8b1e370))
: ([Chen and McInroy 2004](#orgbe5d3d7))
Author(s)
: Chen, Y., & McInroy, J.
@ -20,4 +20,4 @@ Year
## Bibliography {#bibliography}
<a id="org8b1e370"></a>Chen, Y., and J.E. McInroy. 2004. “Decoupled Control of Flexure-Jointed Hexapods Using Estimated Joint-Space Mass-Inertia Matrix.” _IEEE Transactions on Control Systems Technology_ 12 (3):41321. <https://doi.org/10.1109/tcst.2004.824339>.
<a id="orgbe5d3d7"></a>Chen, Y., and J.E. McInroy. 2004. “Decoupled Control of Flexure-Jointed Hexapods Using Estimated Joint-Space Mass-Inertia Matrix.” _IEEE Transactions on Control Systems Technology_ 12 (3):41321. <https://doi.org/10.1109/tcst.2004.824339>.

View File

@ -1,25 +0,0 @@
+++
title = "Simultaneous vibration isolation and pointing control of flexure jointed hexapods"
author = ["Thomas Dehaeze"]
draft = false
+++
Tags
: [Stewart Platforms]({{< relref "stewart_platforms" >}}), [Vibration Isolation]({{< relref "vibration_isolation" >}})
Reference
: ([Li, Hamann, and McInroy 2001](#orgd01725e))
Author(s)
: Li, X., Hamann, J. C., & McInroy, J. E.
Year
: 2001
- if the hexapod is designed such that the payload mass/inertia matrix (\\(M\_x\\)) and \\(J^T J\\) are diagonal, the dynamics from \\(u\\) to \\(y\\) are decoupled.
## Bibliography {#bibliography}
<a id="orgd01725e"></a>Li, Xiaochun, Jerry C. Hamann, and John E. McInroy. 2001. “Simultaneous Vibration Isolation and Pointing Control of Flexure Jointed Hexapods.” In _Smart Structures and Materials 2001: Smart Structures and Integrated Systems_, nil. <https://doi.org/10.1117/12.436521>.

View File

@ -0,0 +1,23 @@
+++
title = "Six-axis vibration isolation system using soft actuators and multiple sensors"
author = ["Thomas Dehaeze"]
draft = true
+++
Tags
:
Reference
: ([Thayer et al. 2002](#org7584b4b))
Author(s)
: Thayer, D., Campbell, M., Vagners, J., & Flotow, A. v.
Year
: 2002
## Bibliography {#bibliography}
<a id="org7584b4b"></a>Thayer, Doug, Mark Campbell, Juris Vagners, and Andrew von Flotow. 2002. “Six-Axis Vibration Isolation System Using Soft Actuators and Multiple Sensors.” _Journal of Spacecraft and Rockets_ 39 (2):20612. <https://doi.org/10.2514/2.3821>.

View File

@ -0,0 +1,293 @@
+++
title = "Simultaneous, fault-tolerant vibration isolation and pointing control of flexure jointed hexapods"
author = ["Thomas Dehaeze"]
draft = false
+++
Tags
: [Stewart Platforms]({{<relref "stewart_platforms.md#" >}}), [Vibration Isolation]({{<relref "vibration_isolation.md#" >}}), [Cubic Architecture]({{<relref "cubic_architecture.md#" >}}), [Flexible Joints]({{<relref "flexible_joints.md#" >}}), [Multivariable Control]({{<relref "multivariable_control.md#" >}})
Reference
: ([Li 2001](#org7277b25))
Author(s)
: Li, X.
Year
: 2001
## Introduction {#introduction}
### Flexure Jointed Hexapods {#flexure-jointed-hexapods}
A general flexible jointed hexapod is shown in Figure [1](#org858f898).
<a id="org858f898"></a>
{{< figure src="/ox-hugo/li01_flexure_hexapod_model.png" caption="Figure 1: A flexure jointed hexapod. {P} is a cartesian coordinate frame located at, and rigidly attached to the payload's center of mass. {B} is the frame attached to the base, and {U} is a universal inertial frame of reference" >}}
Flexure jointed hexapods have been developed to meet two needs illustrated in Figure [2](#orgda07839).
<a id="orgda07839"></a>
{{< figure src="/ox-hugo/li01_quet_dirty_box.png" caption="Figure 2: (left) Vibration machinery must be isolated from a precision bus. (right) A precision paylaod must be manipulated in the presence of base vibrations and/or exogenous forces." >}}
Since only small movements are considered in flexure jointed hexapod, the Jacobian matrix, which relates changes in the Cartesian pose to changes in the strut lengths, can be considered constant.
Thus a static kinematic decoupling algorithm can be implemented for both vibration isolation and pointed controls on flexible jointed hexapods.
On the other hand, the flexures add some complexity to the hexapod dynamics.
Although the flexure joints do eliminate friction and backlash, they add spring dynamics and severely limit the workspace.
Moreover, base and/or payload vibrations become significant contributors to the motion.
The University of Wyoming hexapods (example in Figure [3](#orgccc775c)) are:
- Cubic (mutually orthogonal)
- Flexure Jointed
<a id="orgccc775c"></a>
{{< figure src="/ox-hugo/li01_stewart_platform.png" caption="Figure 3: Flexure jointed Stewart platform used for analysis and control" >}}
The objectives of the hexapods are:
- Precise pointing in two axes (sub micro-radians)
- simultaneously, providing both passive and active vibration isolation in six axes
### Jacobian matrix, Dynamic model, and decoupling algorithms {#jacobian-matrix-dynamic-model-and-decoupling-algorithms}
#### Jacobian Matrix {#jacobian-matrix}
The Jacobian matrix \\(J\\) relates changes in the cartesian pose \\(\mathcal{X}\\) to changes in the strut lengths \\(l\\):
\begin{equation}
\delta l = J \delta \mathcal{X}
\end{equation}
where \\(\mathcal{X}\\) is a 6x1 vector of payload plate translations and rotations
\begin{equation}
\mathcal{X} = \begin{bmatrix}
p\_x & p\_y & p\_z & \theta\_x & \theta\_y & \theta\_z
\end{bmatrix}
\end{equation}
\\(J\\) is given by:
\begin{equation}
J = \begin{bmatrix}
{}^B\hat{u}\_1^T & [({}^B\_PR^P p\_1) \times {}^B\hat{u}\_1]^T \\\\\\
\vdots & \vdots \\\\\\
{}^B\hat{u}\_6^T & [({}^B\_PR^P p\_6) \times {}^B\hat{u}\_6]^T
\end{bmatrix}
\end{equation}
where (see Figure [1](#org858f898)) \\(p\_i\\) denotes the payload attachment point of strut \\(i\\), the prescripts denote the frame of reference, and \\(\hat{u}\_i\\) denotes a unit vector along strut \\(i\\).
To make the dynamic model as simple as possible, the origin of {P} is located at the payload's center of mass.
Thus all \\({}^Pp\_i\\) are found with respect to the center of mass.
#### Dynamic model of flexure jointed hexapods {#dynamic-model-of-flexure-jointed-hexapods}
The dynamics of a flexure jointed hexapod can be written in joint space:
\begin{equation}
\begin{split}
& \left( J^{-T} {}^B\_PR^P M\_x {}^B\_PR^T J^{-1} + M\_s \right) \ddot{l} + B \dot{l} + K (l - l\_r) = \\\\\\
&\quad f\_m - \left( M\_s + J^{-T} {}^B\_PR^P M\_x {}^U\_PR^T J\_c J\_b^{-1} \right) \ddot{q}\_u + J^{-T} {}^U\_BR\_T(\mathcal{F}\_e + \mathcal{G} + \mathcal{C})
\end{split}
\end{equation}
### Test {#test}
**Jacobian Analysis**:
\\[ \delta \mathcal{L} = J \delta \mathcal{X} \\]
The origin of \\(\\{P\\}\\) is taken as the center of mass of the payload.
**Decoupling**:
If we refine the (force) inputs and (displacement) outputs as shown in Figure [4](#org7721136) or in Figure [5](#orgdc42940), we obtain a decoupled plant provided that:
1. the payload mass/inertia matrix must be diagonal (the CoM is coincident with the origin of frame \\(\\{P\\}\\))
2. the geometry of the hexapod and the attachment of the payload to the hexapod must be carefully chosen
> For instance, if the hexapod has a mutually orthogonal geometry (cubic configuration), the payload's center of mass must coincide with the center of the cube formed by the orthogonal struts.
<a id="org7721136"></a>
{{< figure src="/ox-hugo/li01_decoupling_conf.png" caption="Figure 4: Decoupling the dynamics of the Stewart Platform using the Jacobians" >}}
<a id="orgdc42940"></a>
{{< figure src="/ox-hugo/li01_decoupling_conf_bis.png" caption="Figure 5: Decoupling the dynamics of the Stewart Platform using the Jacobians" >}}
## Simultaneous Vibration Isolation and Pointing Control {#simultaneous-vibration-isolation-and-pointing-control}
Basic idea:
- acceleration feedback is used to provide high-frequency vibration isolation
- cartesian pointing feedback can be used to provide low-frequency pointing
The compensation is divided in frequency because:
- pointing sensors often have low bandwidth
- acceleration sensors often have a poor low frequency response
The control bandwidth is divided as follows:
- low-frequency disturbances as attenuated and tracking is accomplished by feedback from low bandwidth pointing sensors
- mid-frequency disturbances are attenuated by feedback from band-pass sensors like accelerometer or load cells
- high-frequency disturbances are attenuated by passive isolation techniques
### Vibration Isolation {#vibration-isolation}
The system is decoupled into six independent SISO subsystems using the architecture shown in Figure [6](#org0dd19dc).
<a id="org0dd19dc"></a>
{{< figure src="/ox-hugo/li01_vibration_isolation_control.png" caption="Figure 6: Figure caption" >}}
One of the subsystem plant transfer function is shown in Figure [6](#org0dd19dc)
<a id="org6a21353"></a>
{{< figure src="/ox-hugo/li01_vibration_control_plant.png" caption="Figure 7: Plant transfer function of one of the SISO subsystem for Vibration Control" >}}
Each compensator is designed using simple loop-shaping techniques.
The unity control bandwidth of the isolation loop is designed to be from **5Hz to 50Hz**.
> Despite a reasonably good match between the modeled and the measured transfer functions, the model based decoupling algorithm does not produce the expected decoupling.
> Only about 20 dB separation is achieve between the diagonal and off-diagonal responses.
### Pointing Control {#pointing-control}
A block diagram of the pointing control system is shown in Figure [8](#orgb338488).
<a id="orgb338488"></a>
{{< figure src="/ox-hugo/li01_pointing_control.png" caption="Figure 8: Figure caption" >}}
The plant is decoupled into two independent SISO subsystems.
The compensators are design with inverse-dynamics methods.
The unity control bandwidth of the pointing loop is designed to be from **0Hz to 20Hz**.
A feedforward control is added as shown in Figure [9](#orgb372596).
<a id="orgb372596"></a>
{{< figure src="/ox-hugo/li01_feedforward_control.png" caption="Figure 9: Feedforward control" >}}
### Simultaneous Control {#simultaneous-control}
The simultaneous vibration isolation and pointing control is approached in two ways:
1. design and implement the vibration isolation control first, identify the pointing plant when the isolation loops are closed, then implement the pointing compensators
2. the reverse design order
Figure [10](#orgbafcf4b) shows a parallel control structure where \\(G\_1(s)\\) is the dynamics from input force to output strut length.
<a id="orgbafcf4b"></a>
{{< figure src="/ox-hugo/li01_parallel_control.png" caption="Figure 10: A parallel scheme" >}}
The transfer function matrix for the pointing loop after the vibration isolation is closed is still decoupled. The same happens when closing the pointing loop first and looking at the transfer function matrix of the vibration isolation.
The effect of the isolation loop on the pointing loop is large around the natural frequency of the plant as shown in Figure [11](#org2a20ab8).
<a id="org2a20ab8"></a>
{{< figure src="/ox-hugo/li01_effect_isolation_loop_closed.png" caption="Figure 11: \\(\theta\_x/\theta\_{x\_d}\\) transfer function with the isolation loop closed (simulation)" >}}
The effect of pointing control on the isolation plant has not much effect.
> The interaction between loops may affect the transfer functions of the **first** closed loop, and thus affect its relative stability.
The dynamic interaction effect:
- only happens in the unity bandwidth of the loop transmission of the first closed loop.
- affect the closed loop transmission of the loop first closed (see Figures [12](#orgc137ea3) and [13](#orgc06274a))
As shown in Figure [12](#orgc137ea3), the peak resonance of the pointing loop increase after the isolation loop is closed.
The resonances happen at both crossovers of the isolation loop (15Hz and 50Hz) and they may show of loss of robustness.
<a id="orgc137ea3"></a>
{{< figure src="/ox-hugo/li01_closed_loop_pointing.png" caption="Figure 12: Closed-loop transfer functions \\(\theta\_y/\theta\_{y\_d}\\) of the pointing loop before and after the vibration isolation loop is closed" >}}
The same happens when first closing the vibration isolation loop and after the pointing loop (Figure [13](#orgc06274a)).
The first peak resonance of the vibration isolation loop at 15Hz is increased when closing the pointing loop.
<a id="orgc06274a"></a>
{{< figure src="/ox-hugo/li01_closed_loop_vibration.png" caption="Figure 13: Closed-loop transfer functions of the vibration isolation loop before and after the pointing control loop is closed" >}}
> The isolation loop adds a second resonance peak at its high-frequency crossover in the pointing closed-loop transfer function, which may cause instability.
> Thus, it is recommended to design and implement the isolation control system first, and then identify the pointing plant with the isolation loop closed.
### Experimental results {#experimental-results}
Two hexapods are stacked (Figure [14](#org2a11277)):
- the bottom hexapod is used to generate disturbances matching candidate applications
- the top hexapod provide simultaneous vibration isolation and pointing control
<a id="org2a11277"></a>
{{< figure src="/ox-hugo/li01_test_bench.png" caption="Figure 14: Stacked Hexapods" >}}
Using the vibration isolation control alone, no attenuation is achieved below 1Hz as shown in figure [15](#org5933a45).
<a id="org5933a45"></a>
{{< figure src="/ox-hugo/li01_vibration_isolation_control_results.png" caption="Figure 15: Vibration isolation control: open-loop (solid) vs. closed-loop (dashed)" >}}
The simultaneous control is of dual use:
- it provide simultaneous pointing and isolation control
- it can also be used to expand the bandwidth of the isolation control to low frequencies because the pointing loops suppress pointing errors due to both base vibrations and tracking
The results of simultaneous control is shown in Figure [16](#org996a848) where the bandwidth of the isolation control is expanded to very low frequency.
<a id="org996a848"></a>
{{< figure src="/ox-hugo/li01_simultaneous_control_results.png" caption="Figure 16: Simultaneous control: open-loop (solid) vs. closed-loop (dashed)" >}}
## Future research areas {#future-research-areas}
Proposed future research areas include:
- **Include base dynamics in the control**:
The base dynamics is here neglected since the movements of the base are very small.
The base dynamics could be measured by mounting accelerometers at the bottom of each strut or by using force sensors.
It then could be included in the feedforward path.
- **Robust control and MIMO design**
- **New decoupling method**:
The proposed decoupling algorithm do not produce the expected decoupling, despite a reasonably good match between the modeled and the measured transfer functions.
Incomplete decoupling increases the difficulty in designing the controller.
New decoupling methods are needed.
These methods must be static in order to be implemented practically on precision hexapods
- **Identification**:
Many advanced control methods require a more accurate model or identified plant.
A closed-loop identification method is propose to solve some problems with the current identification methods used.
- **Other possible sensors**:
Many sensors can be used to expand the utility of the Stewart platform:
- **3-axis load cells** to investigate the Coriolis and centripetal terms and new decoupling methods
- **LVDT** to provide differential position of the hexapod payload with respect to the base
- **Geophones** to provide payload and base velocity information
## Bibliography {#bibliography}
<a id="org7277b25"></a>Li, Xiaochun. 2001. “Simultaneous, Fault-Tolerant Vibration Isolation and Pointing Control of Flexure Jointed Hexapods.” University of Wyoming.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB