digital-brain/content/article/mcinroy99_dynam.md

7.5 KiB
Raw Blame History

+++ title = "Dynamic modeling of flexure jointed hexapods for control purposes" author = ["Thomas Dehaeze"] draft = false +++

Tags
[Stewart Platforms]({{< relref "stewart_platforms" >}}), [Flexible Joints]({{< relref "flexible_joints" >}})
Reference
(McInroy 1999)
Author(s)
McInroy, J.
Year
1999

This conference paper has been further published in a journal as a short note (McInroy 2002).

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

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.

{{< figure src="/ox-hugo/mcinroy99_general_hexapod.png" caption="Figure 1: A general Stewart Platform" >}}

Since both actuator types employ force production in parallel with a spring, they can both be modeled as shown in Figure 2.

In order to provide low frequency passive vibration isolation, the hard actuators are sometimes placed in series with additional passive springs.

{{< figure src="/ox-hugo/mcinroy99_strut_model.png" caption="Figure 2: The dynamics of the i'th strut. A parallel spring, damper and actuator drives the moving mass of the strut and a payload" >}}

Table 1: Definition of quantities on Figure 2
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

It is here supposed that \(f_{p_i}\) is predominantly in the strut direction (explained in (McInroy 2002)). 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.

From Figure 2 (b), forces along the strut direction are summed to yield (projected along the strut direction, hence the \(\hat{u}_i^T\) term):

\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

The payload is modeled as a rigid body:

\begin{equation} \underbrace{\begin{bmatrix} m I_3 & 0_{3\times 3} \\\ 0_{3\times 3} & {}^cI \end{bmatrix}}_{M_x} \ddot{\mathcal{X}} + \underbrace{\begin{bmatrix} 0_{3 \times 1} \ \omega \times {}^cI\omega \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} \mathcal{F} = {}^UJ^T f_p + \mathcal{F}_e - \begin{bmatrix} mg \ 0_{3\times 1} \end{bmatrix} \label{eq:generalized_force} \end{equation}

where:

  • \(\mathcal{F}_e\) represents a vector of exogenous generalized forces applied at the center of mass
  • \(g\) is the gravity vector

By combining \eqref{eq:strut_dynamics_vec}, \eqref{eq:payload_dynamics} and \eqref{eq:generalized_force}, a single equation describing the dynamics of a flexure jointed hexapod can be found:

\begin{aligned} & {}^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) \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

Joint Space Dynamics

Control Example

Bibliography

McInroy, J.E. 1999. “Dynamic Modeling of Flexure Jointed Hexapods for Control Purposes.” In Proceedings of the 1999 IEEE International Conference on Control Applications (Cat. No.99CH36328), nil. https://doi.org/10.1109/cca.1999.806694.

———. 2002. “Modeling and Design of Flexure Jointed Stewart Platforms for Control Purposes.” IEEE/ASME Transactions on Mechatronics 7 (1):9599. https://doi.org/10.1109/3516.990892.