Table of Contents

Dynamics: Hinged Rigid Body

Description

A hinged rigid body is a rigid planar panel, which attaches to the spacecraft body through a one-degree-of-freedom hinge. The hinge allows for dynamic motion of the panel, modelled using a linear spring term and a linear damping term. An applied torque can also be added to simulate an active actuator such as a motor or latch.

Example Use Cases

  • Deployable solar panel. Use to simulate the dynamics of a spacecraft during solar panel deployment. The panel may be initially positioned against the spacecraft for launch, and then actuated out away from the spacecraft body
  • Rotating solar panel. Use to rotate a deployed solar panel axially to point at the Sun.

Back Substitution Method

To integrate the contribution of spacecraft components into the total system dynamics in a modular way, the simulation system uses a back substitution method described in[1], where a satellites equations of motion (EOMs) are expressed using the following matrix representation:

\[ \begin{bmatrix} [A] & [B]\\ [C] & [D] \end{bmatrix} \begin{bmatrix} \ddot{\textbf{r}}_{B/N}\\ \dot{{\omega}}_{\cal B/N} \end{bmatrix} = \begin{bmatrix} \textbf{ v}_{\text{trans}}\\ \textbf{v}_{\text{rot}} \end{bmatrix} \]

The spacecraft body, as well as each additional component that affects the spacecraft dynamics, make contributions to matrices \([A]\), \([B]\), \([C]\), \([D]\) and vectors \(\textbf{v}_{\mathrm{trans}}\) and \(\textbf{v}_{\mathrm{rot}}\).

Substituting the contributions of the spacecraft body, the spacecraft equations of motion can be written as follows:

\[ \Big(m_{\text{sc}} [I_{3\times3}] +\sum_{i=1}^{N}[A_{\mathrm{contr},i}]\Big)\ddot{\textbf{ r}}_{B/N}+\Big(-m_{\text{sc}} [\tilde{\textbf{r}}_{Cm/B}] +\sum_{i=1}^{N}[B_{\mathrm{contr},i}]\Big) \dot{\omega}_{\cal B/N} \\ = \textbf{F}_{\mathrm{ext}} - 2 m_{\text{sc}} [\tilde{\omega}_{\cal B/N}] \dot{r}_{Cm/B} -m_{\text{sc}} [\tilde{\omega}_{\cal B/N}][\tilde{\omega}_{\cal B/N}]\textbf{r}_{Cm/B} +\sum_{i=1}^{N}\textbf{v}_{\mathrm{trans,contr},i} \]
\[ \Big[m_{\text{sc}}[\tilde{\textbf{r}}_{Cm/B}] +\sum\limits_{i=1}^{N}[C_{\mathrm{contr},i}]\Big]\ddot{\textbf{r}}_{B/N}+\Big[[I_{\text{sc},B}]+\sum\limits_{i=1}^{N}[D_{\mathrm{contr},i}]\Big]\dot{\omega}_{\cal B/N} \\ = -[{\tilde{\omega}}_{\cal B/N}] [I_{\text{sc},B}] \omega_{\cal B/N} - \dot{[I_{\text{sc},B}]} \omega_{\cal B/N} + \textbf{L}_{ext} +\sum\limits_{i=1}^{N}\textbf{v}_{\mathrm{rot,contr},i} \]

Here:

  • \([A_{\mathrm{contr},i}]\), \([B_{\mathrm{contr},i}]\), \([C_{\mathrm{contr},i}]\), \([D_{\mathrm{contr},i}]\), \(\textbf{v}_{\mathrm{trans,contr},i}\) and \(\textbf{v}_{\mathrm{rot,contr},i}\) are the contributions of component \(i\) to the terms in the back-substitution equations of motion
  • \(m_{sc}\) is the total mass of the spacecraft.
  • \([I_{3\times3}]\) is a 3x3 identity matrix.
  • \([I_{sc,B}]\) is the spacecraft’s total moment of inertia in the body frame \(\mathcal{B}\).
  • \(\dot{[I_{sc,B}]}\) is the rate of change spacecraft’s total moment of inertia in the body frame \(\mathcal{B}\).
  • \(\ddot{r}_{B/N}\) is the acceleration of the spacecraft body frame \(\mathcal{B}\) with with respect to the inertial frame \(\mathcal{N}\).
  • \({r}_{Cm/B}\) is the vector that describes the offset between the body frame \(\mathcal{B}\) and the spacecraft total center of mass.
  • \(\dot{r}_{Cm/B}\) is the rate of change of the total spacecraft center of mass in the body frame \(\mathcal{B}\).
  • \(\omega_{B/N}\) is the angular velocity of the spacecraft body frame \(\mathcal{B}\) with respect to the inertial frame \(\mathcal{N}\).
  • \(\dot{\omega}_{B/N}\) is the angular acceleration of the spacecraft body frame \(\mathcal{B}\) with respect to the inertial frame \(\mathcal{N}\).
  • \(\mathbf{F}_{ext}\) are external forces being applied to the body in the body frame \(\mathcal{B}\).
  • \(\mathbf{L}_{ext}\) are external torques being applied to the body in the body frame \(\mathcal{B}\).

Note: \([\tilde{x}]\) is the skew-symmetric matrix representation of a cross product operation.

The goal is to structure a components EOM contributions into this form to determine its contributions to \([A]\), \([B]\), \([C]\), \([D]\), \(\textbf{v}_\mathrm{trans}\) and \(\textbf{v}_\mathrm{rot}\), which can be super-imposed to propagate the spacecraft state forwards.

Contributions for the Hinged Rigid Body

The EOMs are as developed in [2], resulting in the following contributions:

\[ \begin{aligned} {\left[A_{\text {contr }}\right] } & =m_{\text {sp }_i} d_i \hat{s}_{i, 3} \boldsymbol{a}_{\theta_i}^T \\ {\left[B_{\text {contr }}\right] } & =m_{\text {sp }_i} d_i \hat{s}_{i, 3} \boldsymbol{b}_{\theta_i}^T \\ {\left[C_{\text {contr }}\right] } & =\left(I_{s_{i, 2}} \hat{s}_{i, 2}+m_{\text {sp }_i} d_i\left[\tilde{\boldsymbol{r}}_{S_{c, i} / B}\right] \hat{s}_{i, 3}\right) \boldsymbol{a}_{\theta_i}^T \\ {\left[D_{\text {contr }}\right] } & =\left(I_{s_{i, 2}} \hat{s}_{i, 2}+m_{\text {sp }_i} d_i\left[\tilde{\boldsymbol{r}}_{S_{c, i} / B}\right] \hat{s}_{i, 3}\right) \boldsymbol{b}_{\theta_i}^T \\ \boldsymbol{v}_{\text {trans }, \text { contr }} & =-\left(m_{\text {sp }_i} d_i \dot{\theta}_i^2 \hat{s}_{i, 1}+m_{\text {sp }_i} d_i c_{\theta_i} \hat{s}_{i, 3}\right) \\ \boldsymbol{v}_{\text {rot, }\text { contr }} & =-\left\{\left(\dot{\theta}_i\left[\tilde{\boldsymbol{\omega}}_{\mathcal{B} / \mathcal{N}}\right]+c_{\theta_i}\left[I_{3 \times 3}\right]\right)\left(I_{s_{i, 2}} \hat{s}_{i, 2}+m_{\text {sp }_i} d_i\left[\tilde{\boldsymbol{r}}_{S_{c, i} / B}\right] \hat{s}_{i, 3}\right)+m_{\text {sp }_i} d_i \dot{\theta}_i^2\left[\tilde{\boldsymbol{r}}_{S_{c, i} / B}\right] \hat{s}_{i, 1}\right\} \end{aligned} \]

with the following definitions:

\[ \begin{aligned} \boldsymbol{a}_{\theta_i} & =-\frac{m_{\mathbf{s p}_i} d_i}{\left(I_{s_{i, 2}}+m_{\mathbf{s p}_i} d_i^2\right)} \hat{\boldsymbol{s}}_{i, 3} \\ \boldsymbol{b}_{\theta_i} & =-\frac{1}{\left(I_{s_{i, 2}}+m_{\mathbf{s p}_i} d_i^2\right)}\left[\left(I_{s_{i, 2}}+m_{\mathbf{s p}_i} d_i^2\right) \hat{s}_{i, 2}+m_{\mathbf{s p}_i} d_i\left[\tilde{\boldsymbol{r}}_{H_i / B}\right] \hat{s}_{i, 3}\right] \\ \boldsymbol{c}_{\theta_i} & = \frac{1}{\left(I_{s_{i, 2}}+m_{\mathbf{s p}_i} d_i^2\right)}\left(u_i-k_i\theta_i-c_i\dot{\theta}_i+\hat{s}_{i,2}\cdot{\tau}_{\mathrm{ext},H_i}+\left(I_{s_{i,3}}-I_{s_{i,1}}+m_{\mathbf{sp}_i}d_i^2\right)\omega_{s_{i,3}}\omega_{s_{i,1}}-m_{\mathrm{sp}_i} d_i \hat{\boldsymbol{s}}_{i, 3}^T\left[\tilde{\boldsymbol{\omega}}_{\mathcal{B} / \mathcal{N}}\right]\left[\tilde{\boldsymbol{\omega}}_{\mathcal{B} / \mathcal{N}}\right] \boldsymbol{r}_{H_i / B}\right) \end{aligned} \]

Here:

  • \(d_i\) is the length of the moment arm from the hinge to the panel center of mass, measured along \(\hat{s}_{i,1}\)

Since the model introduces another dynamic variable \(\theta_i\), we obtain an additional equation of motion:

\[ \ddot{\theta}_i=\boldsymbol{a}_{\theta_i}^T \ddot{\boldsymbol{r}}_{B / N}+\boldsymbol{b}_{\theta_i}^T \dot{\omega}_{\mathcal{B} / \mathcal{N}}+\boldsymbol{c}_{\theta_i} \]

Assumptions/Limitations

  • The hinged rigid body must have a diagonal inertia tensor with respect to the \(S_i\) frame as seen in Figure 1
  • Hinge dynamics is modelled as a linear spring and linear damping term. There is no maximum or minimum deflection; there is no maximum or minimum torque. If the spring is not stiff enough the hinged rigid body will unrealistically travel through bounds such as running into the spacecraft body.
  • An arbitrary number of panels can be added to the spacecraft, but the model cannot support attaching hinged rigid bodies to other hinged rigid bodies.

References

[1] Hanspeter Schaub and John L. Junkins. Analytical Mechanics of Space Systems. AIAA Education Series, Reston, VA, 3rd edition, 2014.

[2] C. Allard, Hanspeter Schaub, and Scott Piggott. General hinged solar panel dynamics approximating first-order spacecraft flexing. In AAS Guidance and Control Conference, Breckenridge, CO, Feb. 5–10 2016. Paper No. AAS-16-156.