Module: MRP_Steering¶
This module implements a kinematic MRP steering control whose command output is a desired body rate vector.
The module
PDF Description
contains further information on this module’s function, how to run it, as well as testing.
Functions
-
void
SelfInit_MRP_Steering
(MRP_SteeringConfig *configData, int64_t moduleID)¶ This method sets up the module output message of type RateCmdFswMsg.
- Return
void
- Parameters
configData
: The configuration data associated with this module
-
void
CrossInit_MRP_Steering
(MRP_SteeringConfig *configData, int64_t moduleID)¶ This method performs the second stage of initialization for this module. Its primary function is to link the input messages that were created elsewhere.
- Return
void
- Parameters
configData
: The configuration data associated with this module
-
void
Update_MRP_Steering
(MRP_SteeringConfig *configData, uint64_t callTime, int64_t moduleID)¶ This method takes the attitude and rate errors relative to the Reference frame, as well as the reference frame angular rates and acceleration
- Return
void
- Parameters
configData
: The configuration data associated with the MRP Steering attitude controlcallTime
: The clock time at which the function was called (nanoseconds)
-
void
Reset_MRP_Steering
(MRP_SteeringConfig *configData, uint64_t callTime, int64_t moduleID)¶ 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.
- Return
void
- Parameters
configData
: The configuration data associated with the MRP steering control
-
void
MRPSteeringLaw
(MRP_SteeringConfig *configData, double sigma_BR[3], double omega_ast[3], double omega_ast_p[3])¶ This method computes the MRP Steering law. A commanded body rate is returned given the MRP attitude error measure of the body relative to a reference frame. The function returns the commanded body rate, as well as the body frame derivative of this rate command.
- Return
void
- Parameters
configData
: The configuration data associated with this modulesigma_BR
: MRP attitude error of B relative to Romega_ast
: Commanded body ratesomega_ast_p
: Body frame derivative of the commanded body rates
-
struct
MRP_SteeringConfig
¶ - #include <MRP_Steering.h>
Data structure for the MRP feedback attitude control routine.
Public Members
-
double
K1
¶ [rad/sec] Proportional gain applied to MRP errors
-
double
K3
¶ [rad/sec] Cubic gain applied to MRP error in steering saturation function
-
double
omega_max
¶ [rad/sec] Maximum rate command of steering control
-
uint32_t
ignoreOuterLoopFeedforward
¶ [] Boolean flag indicating if outer feedforward term should be included
-
char
outputDataName
[MAX_STAT_MSG_LENGTH
]¶ The name of the output message.
-
int32_t
outputMsgID
¶ [] ID for the outgoing body accel requests
-
char
inputGuidName
[MAX_STAT_MSG_LENGTH
]¶ The name of the Input message.
-
int32_t
inputGuidID
¶ [] ID for the incoming guidance errors
-
double