Module: eulerRotation¶
This module guidance modules creates constant Euler angle rate rotations about a primary axis to create dynamic reference frames.
Functions
-
void
SelfInit_eulerRotation
(eulerRotationConfig *configData, int64_t moduleID)¶ This method initializes the configData for eulerRotation model. It creates the module output message.
- Return
void
- Parameters
configData
: The configuration data associated with the null space controlmoduleID
: The ID associated with the configData
-
void
CrossInit_eulerRotation
(eulerRotationConfig *configData, int64_t moduleID)¶ This method performs the second stage of initialization for the module interface. It subscribes to the input reference frame message, and an optional desired attitude scanning message.
- Return
void
- Parameters
configData
: The configuration data associated with the null space controlmoduleID
: The ID associated with the configData
-
void
Reset_eulerRotation
(eulerRotationConfig *configData, uint64_t callTime, int64_t moduleID)¶ This resets the module to original states.
- Return
void
- Parameters
configData
: The configuration data associated with the null space controlcallTime
: The clock time at which the function was called (nanoseconds)moduleID
: The ID associated with the configData
-
void
Update_eulerRotation
(eulerRotationConfig *configData, uint64_t callTime, int64_t moduleID)¶ This method takes the input attitude reference frame, and and superimposes the dynamic euler angle scanning motion on top of this.
- Return
void
- Parameters
configData
: The configuration data associated with the mrpRotation modulecallTime
: The clock time at which the function was called (nanoseconds)moduleID
: The ID associated with the configData
-
void
checkRasterCommands
(eulerRotationConfig *configData)¶ This function checks if there is a new commanded raster maneuver message available.
- Return
void
- Parameters
configData
: The configuration data associated with the mrpRotation module
-
void
computeTimeStep
(eulerRotationConfig *configData, uint64_t callTime)¶ This function computes control update time.
- Return
void
- Parameters
configData
: The configuration data associated with the mrpRotation modulecallTime
: The clock time at which the function was called (nanoseconds)
-
void
computeEuler321_Binv_derivative
(double angleSet[3], double angleRates[3], double B_inv_deriv[3][3])¶ This function computes the analytical derivative of the B_inv matrix for the 3-2-1 Euler Angle set.
- Return
void
- Parameters
configData
: The configuration data associated with the mrpRotation moduleangleSet[3]
: 321 Euler anglesangleRates[3]
: The 321 Euler angle ratesB_inv_deriv
: the inv(B) matrix for 321 Euler angles
-
void
computeEulerRotationReference
(eulerRotationConfig *configData, double sigma_R0N[3], double omega_R0N_N[3], double domega_R0N_N[3], AttRefFswMsg *attRefOut)¶ This function computes the reference (Euler angle attitude set, angular velocity and angular acceleration) associated with a rotation defined in terms of an initial euler angle set and a constant euler angle rate.
- Return
void
- Parameters
configData
: The configuration data associated with the mrpRotation modulesigma_R0N[3]
: The input reference attitude using MRPsomega_R0N_N[3]
: The input reference frame angular rate vectordomega_R0N_N[3]
: The input reference frame angular acceleration vectorattRefOut
: The output message copy
-
struct
eulerRotationConfig
¶ - #include <eulerRotation.h>
Top level structure for the sub-module routines.
Public Members
-
double
angleSet
[3]¶ [-] current euler angle 321 set R/R0 with respect to the input reference
-
double
angleRates
[3]¶ [rad/s] euler angle 321 rates
-
double
cmdSet
[3]¶ [] msg commanded initial Euler angle 321 set with respect to input reference
-
double
cmdRates
[3]¶ [rad/s] msg commanded constant 321 Euler angle rates
-
double
priorCmdSet
[3]¶ [] prior commanded 321 Euler angle set
-
double
priorCmdRates
[3]¶ [rad/s] prior commanded 321 Euler angle rates
-
uint64_t
priorTime
¶ [ns] last time the guidance module is called
-
double
dt
¶ [s] integration time-step
-
char
attRefOutMsgName
[MAX_STAT_MSG_LENGTH
]¶ The name of the output message containing the Reference.
-
int32_t
attRefOutMsgID
¶ [-] ID for the outgoing Reference message
-
char
attRefInMsgName
[MAX_STAT_MSG_LENGTH
]¶ The name of the guidance reference Input message.
-
int32_t
attRefInMsgID
¶ [-] ID for the incoming guidance reference message
-
char
desiredAttInMsgName
[MAX_STAT_MSG_LENGTH
]¶ The name of the incoming message containing the desired EA set.
-
int32_t
desiredAttInMsgID
¶ [-] ID for the incoming EA set message
-
double