inertial3DSpin#
Executive Summary#
Module to compute the Inertial-3D spinning pointing navigation solution. This spin can be relative to an inertial frame or relative to an input reference frame message.
Message Connection Descriptions#
The following table lists all the module input and output messages. The module msg connection is set by the user from python. The msg type contains a link to the message structure definition, while the description provides information on what this message is used for.
Msg Variable Name |
Msg Type |
Description |
---|---|---|
attRefOutMsg |
AttRefMsgPayload |
attitude reference output message |
attRefInMsg |
AttRefMsgPayload |
(optional) attitude reference input message, if not connected then a zeroed input reference state is set |
Module Description#
This module generates an attitude reference frame state output message where the reference frame is rotating at a constant angular velocity vector relative to the input frame \(R_0\). If the input attitude frame message is not connected, then a zero’d input message is assumed.
The input reference frame \(R_0\) (user defined input message or default zero’d message) contains the state information in the form \(\pmb\sigma_{R_0/N}\), \(\pmb\omega_{R_0/N}\) and \(\dot{\pmb\omega}_{R_0/N}\). The constant spin vector is constant with respect to \(R_0\) and given by \({}^{R_0}{\pmb\omega}_{R/R0}\).
The angular velocity of the of the output reference frame \(R\) is then given by
As the spin vector \({}^{R_0}{\pmb\omega}_{R/R0}\) is constant with respect to \(R_0\), then the output frame angular acceleration is
Finally, the output frame MRP orientation is computed using
where
with \(\sigma_{R/N} = |\pmb\sigma_{R/N}|\).
User Guide#
The only parameter that must be set is omega_RR0_R0
representing the \(R_0\)-constant spin axis
\({}^{R_0}{\pmb\omega}_{R/R0}\).
Class Inertial3DSpin#
-
class Inertial3DSpin : public SysModel#
module configuration structure definition.
Public Functions
-
void reset(uint64_t callTime) override#
This method performs a complete reset of the module. Local module variables that retain time varying states between function calls are reset to their default values.
- Parameters:
callTime – The clock time at which the function was called (nanoseconds)
- Returns:
void
-
void updateState(uint64_t callTime) override#
This method performs all the main computations of the module
- Parameters:
callTime – The clock time at which the function was called (nanoseconds)
- Returns:
void
Public Members
-
double sigma_RN[3]#
MPR of reference frame relative to inertial N frame
-
double omega_RR0_R0[3]#
[r/s] constant angular velocity spin vector of the spinning R frame relative to the input frame R0
-
uint64_t priorTime#
[ns] last time the guidance module is called
-
Message<AttRefMsgPayload> attRefOutMsg#
reference attitude output message
-
ReadFunctor<AttRefMsgPayload> attRefInMsg#
(optional) reference attitude input message
-
AttRefMsgPayload attRefOutBuffer#
[-] structure for the output data
-
BSKLogger bskLogger = {}#
BSK Logging.
-
void reset(uint64_t callTime) override#