eulerRotation#
Executive Summary#
This module guidance modules creates constant Euler angle rate rotations about a primary axis to create dynamic reference frames.
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 |
name of the output message containing the Reference |
attRefInMsg |
AttRefMsgPayload |
name of the guidance reference input message |
desiredAttInMsg |
AttStateMsgPayload |
(optional) name of the incoming message containing the desired Euler angle set |
User Guide#
The initial orientation of the dynamic reference frame is set through the module variable angleSet
. This is a
3-2-1 Euler angle sequence.
To set the desired constant 3-2-1 Euler angel rates, set the module variable angleRates
.
Class EulerRotation#
-
class EulerRotation : public SysModel#
Top level structure for the sub-module routines.
Public Functions
-
void reset(uint64_t callTime) override#
This resets the module to original states.
- Parameters:
callTime – The clock time at which the function was called (nanoseconds)
- Returns:
void
-
void updateState(uint64_t callTime) override#
This method takes the input attitude reference frame, and and superimposes the dynamic euler angle scanning motion on top of this.
- Parameters:
callTime – The clock time at which the function was called (nanoseconds)
- Returns:
void
-
void checkRasterCommands()#
This function checks if there is a new commanded raster maneuver message available.
- Parameters:
this – The configuration data associated with the mrpRotation module
- Returns:
void
-
void computeTimeStep(uint64_t callTime)#
This function computes control update time.
- Parameters:
callTime – The clock time at which the function was called (nanoseconds)
- Returns:
void
-
void computeEulerRotationReference(double sigma_R0N[3], double omega_R0N_N[3], double domega_R0N_N[3], AttRefMsgPayload *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.
- Parameters:
this – The configuration data associated with the mrpRotation module
sigma_R0N – The input reference attitude using MRPs
omega_R0N_N – The input reference frame angular rate vector
domega_R0N_N – The input reference frame angular acceleration vector
attRefOut – The output message copy
- Returns:
void
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
-
Message<AttRefMsgPayload> attRefOutMsg#
The name of the output message containing the Reference.
-
ReadFunctor<AttRefMsgPayload> attRefInMsg#
The name of the guidance reference input message.
-
ReadFunctor<AttStateMsgPayload> desiredAttInMsg#
The name of the incoming message containing the desired EA set.
-
BSKLogger bskLogger = {}#
BSK Logging.
-
void reset(uint64_t callTime) override#