Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

Attitude Equations of Motion
[Attitude Toolkit]


Functions

Vector AttituteDynamics_QuaternionAngVel (const ssfTime &_time, const Vector &_integratingState, Orbit *_Orbit, Attitude *_Attitude, const Matrix &_parameters, const Functor &_torqueFuncPtr)
 Attitude Dynamics equation using Quaternions and Angular Velocities as the state variables.


Function Documentation

Vector AttituteDynamics_QuaternionAngVel const ssfTime _time,
const Vector _integratingState,
Orbit _Orbit,
Attitude _Attitude,
const Matrix _parameters,
const Functor _torqueFuncPtr
[static]
 

Attitude Dynamics equation using Quaternions and Angular Velocities as the state variables.

The rotation of a rigid body is described by the kinematic equations of motion and the kinetic equations of motion. As discussed above, the kinematics specifically model the current attitude of the body with respect to time. The dynamics are characterized by the absolute angular velocity vector, $$.

Each attitude representation has a set of equations that describe its time rate of change due to the dynamics of the rigid body.

The propagation of the Quaternion kinematics is defined as:

\[ \dot {\bar{\bf q}} = {Q}\left(\bar{\bf q}\right){\bf \omega} \]

\[ = \frac{1}{2}\begin{bmatrix} {{\bf{q}}^{\times} + q_4 {\bf 1}} \\ { - {\bf{q}}^T } \\ \end{bmatrix} {\bf \omega} \]

The differential equations for the angular velocity in the body frame are based on Euler's equation:

\[ \bf{I}\dot{\bf \omega} = \bf{g} - \omega \times \bf{I}\omega \]

where $\textbf{I}$ is the spacecraft moment of inertia matrix, $\omega$ is the body angular velocity, and $\textbf{g}$ are the spacecraft torques.

This equation can be verified for an axis-symmetric body under torques about the 1,2 axes as follows:

\[ \omega_{1} = \omega_{01}\cos{\omega_{p}t} + \omega_{02}\sin{\omega_{p}t} + \frac{1}{I_{T}}\int^{t}_{0}{[g_{1}(\tau)\cos{(\omega_{p}(t-\tau))}+g_{2}(\tau)\sin{(\omega_{p}(t-\tau))}]d\tau} \]

\[ \omega_{2} = -\omega_{01}\sin{\omega_{p}t} + \omega_{02}\cos{\omega_{p}t} + \frac{1}{I_{T}}\int^{t}_{0}{[-g_{1}(\tau)\sin{(\omega_{p}(t-\tau))}+g_{2}(\tau)\cos{(\omega_{p}(t-\tau))}]d\tau} \]

\[ \omega_{3} = \omega_{03} \]

Parameters:
_time current time (in seconds)
_state vector of states, $\left[\bar{\bf q},\bf{\omega}\right]^{T}$ (-, radians/second)
_pOrbit pointer to the current Orbit instance
_pAttitude pointer to the current Attitude instance
_parameters additional parameters for integration $\left[MOI(3\times3); MOI^{-1}(3\times3)\right]$
_torqueFuncPtr pointer to the torque calculating function
Returns:
This attitude dynamics RHS returns the 7-element vector of time derivatives of state $\left[\dot{\bar{\mathbf q}},\dot{\mathbf \omega}\right]^{T}$

Definition at line 99 of file QuaternionAngVelDynamics.h.

References _, CAMmatrixBase::inverse(), O_SESSAME::Matrix, O_SESSAME::skew(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

Referenced by Controller::ReferenceModelSC().


Generated on Wed Sep 5 12:54:46 2007 for DSACSS Operational Code by  doxygen 1.3.9.1