digital-brain/content/article/mcinroy99_dynam.md

171 lines
7.9 KiB
Markdown
Raw Normal View History

2020-06-03 22:43:54 +02:00
+++
title = "Dynamic modeling of flexure jointed hexapods for control purposes"
2022-03-15 16:40:48 +01:00
author = ["Dehaeze Thomas"]
2020-06-03 22:43:54 +02:00
draft = false
+++
Tags
2022-03-15 16:40:48 +01:00
: [Stewart Platforms]({{< relref "stewart_platforms.md" >}}), [Flexible Joints]({{< relref "flexible_joints.md" >}})
2020-06-03 22:43:54 +02:00
Reference
2022-03-15 16:40:48 +01:00
: (<a href="#citeproc_bib_item_1">McInroy 1999</a>)
2020-06-03 22:43:54 +02:00
Author(s)
: McInroy, J.
Year
: 1999
2022-03-15 16:40:48 +01:00
This conference paper has been further published in a journal as a short note (<a href="#citeproc_bib_item_2">McInroy 2002</a>).
2020-06-03 22:43:54 +02:00
## Abstract {#abstract}
> This paper presents a new dynamic model suitable for control of flexure jointed hexapods (FJH).
>
> Novel contributions include:
>
> 1. Base acceleration inputs are included
> 2. The dynamic model is experimentally verified
> 3. The model is developed so that it is suitable for control
> 4. A decoupled force control is derived
## Strut Dynamics {#strut-dynamics}
The actuators for FJHs can be divided into two categories:
1. soft (voice coil), which employs a spring flexure mount
2. hard (piezoceramic or magnetostrictive), which employs a compressive load spring.
2022-03-15 16:40:48 +01:00
<a id="figure--fig:mcinroy99-general-hexapod"></a>
2020-06-03 22:43:54 +02:00
2022-03-15 16:40:48 +01:00
{{< figure src="/ox-hugo/mcinroy99_general_hexapod.png" caption="<span class=\"figure-number\">Figure 1: </span>A general Stewart Platform" >}}
2020-06-03 22:43:54 +02:00
2022-03-15 16:40:48 +01:00
Since both actuator types employ force production in parallel with a spring, they can both be modeled as shown in Figure [2](#figure--fig:mcinroy99-strut-model).
2020-06-03 22:43:54 +02:00
In order to provide low frequency passive vibration isolation, the hard actuators are sometimes placed in series with additional passive springs.
2022-03-15 16:40:48 +01:00
<a id="figure--fig:mcinroy99-strut-model"></a>
2020-06-03 22:43:54 +02:00
2022-03-15 16:40:48 +01:00
{{< figure src="/ox-hugo/mcinroy99_strut_model.png" caption="<span class=\"figure-number\">Figure 2: </span>The dynamics of the i'th strut. A parallel spring, damper and actuator drives the moving mass of the strut and a payload" >}}
2020-06-03 22:43:54 +02:00
<a id="table--tab:mcinroy99-strut-model"></a>
<div class="table-caption">
<span class="table-number"><a href="#table--tab:mcinroy99-strut-model">Table 1</a></span>:
2022-03-15 16:40:48 +01:00
Definition of quantities on Figure <a href="#org84f1a50">2</a>
2020-06-03 22:43:54 +02:00
</div>
| **Symbol** | **Meaning** |
|------------------------------|--------------------------------------------|
| \\(m\_i\\) | moving strut mass |
| \\(k\_i\\) | spring constant |
| \\(b\_i\\) | damping constant |
| \\(f\_m\\) | force the actuator applies |
| \\(f\_{p\_i}\\) | forced exerted by the payload |
| \\(p\_i\\) | three dimensional position of the top |
| \\(q\_i\\) | three dimensional position of the bottom |
| \\(l\_i\\) | strut length |
| \\(l\_{r\_i}\\) | relaxed strut length |
| \\(v\_i = p\_i - q\_i\\) | vector pointing from the bottom to the top |
| \\(\hat{u}\_i = v\_i/l\_i\\) | unit direction of the strut |
2022-03-15 16:40:48 +01:00
It is here supposed that \\(f\_{p\_i}\\) is predominantly in the strut direction (explained in (<a href="#citeproc_bib_item_2">McInroy 2002</a>)).
2020-06-03 22:43:54 +02:00
This is a good approximation unless the spherical joints and extremely stiff or massive, of high inertia struts are used.
This allows to reduce considerably the complexity of the model.
2022-03-15 16:40:48 +01:00
From Figure [2](#figure--fig:mcinroy99-strut-model) (b), forces along the strut direction are summed to yield (projected along the strut direction, hence the \\(\hat{u}\_i^T\\) term):
2020-06-03 22:43:54 +02:00
\begin{equation}
m\_i \hat{u}\_i^T \ddot{p}\_i = f\_{m\_i} - f\_{p\_i} - m\_i \hat{u}\_i^Tg - k\_i(l\_i - l\_{r\_i}) - b\_i \dot{l}\_i
\end{equation}
The acceleration \\(\hat{u}\_i^T \ddot{p}\_i\\) can be written as:
\\[ \hat{u}\_i^T \ddot{p}\_i = \ddot{l}\_i + \hat{u}\_i^T \ddot{q}\_i - \dot{\hat{u}}\_i^T \dot{v}\_i \\]
- [ ] Not sure how the last term is obtained
Separating strut and base accelerations, and putting all six strut equations in a single vector yields:
\begin{equation}
f\_p = f\_m - M\_s \ddot{l} - B \dot{l} - K(l - l\_r) - M\_s \ddot{q}\_u - M\_s g\_u + M\_s v\_2 \label{eq:strut\_dynamics\_vec}
\end{equation}
where:
- \\(\ddot{q}\_u = \left[ \hat{u}\_1^T \ddot{q}\_1 \ \dots \ \hat{u}\_6^T \ddot{q}\_6 \right]^T\\) notes the vector of base accelerations in the strut directions
- \\(g\_u\\) denotes the vector of gravity accelerations in the strut directions
- \\(Ms = \diag([m\_1\ \dots \ m\_6])\\), \\(f\_p = [f\_{p\_1}\ \dots \ f\_{p\_6}]^T\\)
- \\(v\_2 = [ \dot{\hat{u}}\_1^T \dot{v}\_1 \ \dots \ \dot{\hat{u}}\_6^T \dot{v}\_6 ]^T\\)
## Payload Dynamics {#payload-dynamics}
The payload is modeled as a rigid body:
\begin{equation}
\underbrace{\begin{bmatrix}
2022-03-15 16:40:48 +01:00
m I\_3 & 0\_{3\times 3} \\\\
2020-06-03 22:43:54 +02:00
0\_{3\times 3} & {}^cI
\end{bmatrix}}\_{M\_x} \ddot{\mathcal{X}} + \underbrace{\begin{bmatrix}
2022-03-15 16:40:48 +01:00
0\_{3 \times 1} \\\ \omega \times {}^cI\omega
2020-06-03 22:43:54 +02:00
\end{bmatrix}}\_{c(\omega)} = \mathcal{F} \label{eq:payload\_dynamics}
\end{equation}
where:
- \\(\ddot{\mathcal{X}}\\) is the \\(6 \times 1\\) generalized acceleration of the payload's center of mass
- \\(\omega\\) is the \\(3 \times 1\\) payload's angular velocity vector
- \\(\mathcal{F}\\) is the \\(6 \times 1\\) generalized force exerted on the payload
- \\(M\_x\\) is the combined mass/inertia matrix of the payload, written in the payload frame {P}
- \\(c(\omega)\\) represents the shown vector of Coriolis and centripetal terms
Note \\(\dot{\mathcal{X}} = [\dot{p}^T\ \omega^T]^T\\) denotes the time derivative of the payload's combined position and orientation (or pose) with respect to a universal frame of reference {U}.
First, consider the **generalized force due to struts**.
Denoting this force as \\(\mathcal{F}\_s\\), it can be calculated form the strut forces as:
\begin{equation}
\mathcal{F}\_s = {}^UJ^T f\_p = {}^U\_BR J^T f\_p
\end{equation}
where \\(J\\) is the manipulator Jacobian and \\({}^U\_BR\\) is the rotation matrix from {B} to {U}.
The total generalized force acting on the payload is the sum of the strut, exogenous, and gravity forces:
\begin{equation}
2022-03-15 16:40:48 +01:00
\mathcal{F} = {}^UJ^T f\_p + \mathcal{F}\_e - \begin{bmatrix} mg \\\ 0\_{3\times 1} \end{bmatrix} \label{eq:generalized\_force}
2020-06-03 22:43:54 +02:00
\end{equation}
where:
- \\(\mathcal{F}\_e\\) represents a vector of exogenous generalized forces applied at the center of mass
- \\(g\\) is the gravity vector
2022-03-15 16:40:48 +01:00
By combining <eq:strut_dynamics_vec>, <eq:payload_dynamics> and <eq:generalized_force>, a single equation describing the dynamics of a flexure jointed hexapod can be found:
2020-06-03 22:43:54 +02:00
\begin{aligned}
2022-03-15 16:40:48 +01:00
& {}^UJ^T [ f\_m - M\_s \ddot{l} - B \dot{l} - K(l - l\_r) - M\_s \ddot{q}\_u\\\\
& - M\_s g\_u + M\_s v\_2] + \mathcal{F}\_e - \begin{bmatrix} mg \\\ 0\_{3\times 1} \end{bmatrix} = M\_x \ddot{\mathcal{X}} + c(\omega)
2020-06-03 22:43:54 +02:00
\end{aligned}
Joint (\\(l\\)) and Cartesian (\\(\mathcal{X}\\)) terms are still mixed.
In the next section, a connection between the two will be found to complete the formulation
## Relationships between joint and cartesian space {#relationships-between-joint-and-cartesian-space}
## Joint Space Dynamics {#joint-space-dynamics}
## Control Example {#control-example}
## Bibliography {#bibliography}
2020-06-03 22:43:54 +02:00
2022-03-15 16:40:48 +01:00
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>McInroy, J.E. 1999. “Dynamic Modeling of Flexure Jointed Hexapods for Control Purposes.” In <i>Proceedings of the 1999 Ieee International Conference on Control Applications (Cat. No.99ch36328)</i>, nil. doi:<a href="https://doi.org/10.1109/cca.1999.806694">10.1109/cca.1999.806694</a>.</div>
<div class="csl-entry"><a id="citeproc_bib_item_2"></a>———. 2002. “Modeling and Design of Flexure Jointed Stewart Platforms for Control Purposes.” <i>Ieee/Asme Transactions on Mechatronics</i> 7 (1): 9599. doi:<a href="https://doi.org/10.1109/3516.990892">10.1109/3516.990892</a>.</div>
</div>