Module: rateServoFullNonlinear
Executive Summary
This module implements a nonlinear rate servo control uses the attiude steering message and determine the ADCS control torque vector.
The module
PDF Description
contains further information on this module’s function,
how to run it, as well as testing.
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 |
---|---|---|
cmdTorqueOutMsg |
commanded torque output message |
|
guidInMsg |
attitude guidance input message |
|
vehConfigInMsg |
vehicle configuration input message |
|
rwSpeedsInMsg |
(optional) RW speed input message |
|
rwAvailInMsg |
(optional) RW availability input message |
|
rwParamsInMsg |
(optional) RW configuration parameter input message |
|
rateSteeringInMsg |
commanded rate input message |
Functions
-
void SelfInit_rateServoFullNonlinear(rateServoFullNonlinearConfig *configData, int64_t moduleID)
selfInit method
- Parameters:
configData – The configuration data associated with this module
moduleID – The module identifier
- Returns:
void
-
void Update_rateServoFullNonlinear(rateServoFullNonlinearConfig *configData, uint64_t callTime, int64_t moduleID)
This method takes and rate errors relative to the Reference frame, as well as the reference frame angular rates and acceleration, and computes the required control torque Lr.
- Parameters:
configData – The configuration data associated with the servo rate control
callTime – The clock time at which the function was called (nanoseconds)
moduleID – The module identifier
- Returns:
void
-
void Reset_rateServoFullNonlinear(rateServoFullNonlinearConfig *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.
- Parameters:
configData – The configuration data associated with the servo rate control
callTime – The clock time at which the function was called (nanoseconds)
moduleID – The module identifier
- Returns:
void
-
struct rateServoFullNonlinearConfig
- #include <rateServoFullNonlinear.h>
The configuration structure for the rateServoFullNonlinear module.
Public Members
-
double P
[N*m*s] Rate error feedback gain applied
-
double Ki
[N*m] Integration feedback error on rate error
-
double knownTorquePntB_B[3]
[N*m] known external torque in body frame vector components
-
double integralLimit
[N*m] Integration limit to avoid wind-up issue
-
uint64_t priorTime
[ns] Last time the attitude control is called
-
double z[3]
[rad] integral state of delta_omega
-
double ISCPntB_B[9]
[kg m^2] Spacecraft Inertia
-
RWArrayConfigMsgPayload rwConfigParams
[-] struct to store message containing RW config parameters in body B frame
-
CmdTorqueBodyMsg_C cmdTorqueOutMsg
commanded torque output message
-
AttGuidMsg_C guidInMsg
attitude guidance input message
-
VehicleConfigMsg_C vehConfigInMsg
vehicle configuration input message
-
RWSpeedMsg_C rwSpeedsInMsg
(optional) RW speed input message
-
RWAvailabilityMsg_C rwAvailInMsg
(optional) RW availability input message
-
RWArrayConfigMsg_C rwParamsInMsg
(optional) RW configuration parameter input message
-
RateCmdMsg_C rateSteeringInMsg
commanded rate input message
-
BSKLogger *bskLogger
BSK Logging.
-
double P