Module: thrusterPlatformState
Executive Summary
This module simulates receives the measured tip and tilt angles of the thruster platform, together with the thruster configuration information expressed in platform-frame coordinates. The purpose of this module is to output the thruster configuration information in body-frame coordinates, at any instant in time, given the measured platform states (tip-and-tilt angles).
Message Connection Descriptions
The following table lists all the module input and output messages. The module msg variable name 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 |
---|---|---|
thrusterConfigFInMsg |
Input thruster configuration message containing the thrust direction vector and magnitude in platform frame coordinates. The entry |
|
hingedRigidBody1InMsg |
Input message containing the current tip angle and tip rate of the platform frame \(\mathcal{F}\) with respect to the mount frame \(\mathcal{M}\). |
|
hingedRigidBody2InMsg |
Input message containing the current tilt angle and tilt rate of the platform frame \(\mathcal{F}\) with respect to the mount frame \(\mathcal{M}\). |
|
thrusterConfigBOutMsg |
Output thruster configuration message containing the thrust direction vector and magnitude in body frame coordinates, as a function of tip and tilt angles. The entry |
Detailed Module Description
This module reads the tip and tilt angles from the Module: spinningBodyTwoDOFStateEffector that simulates the platform. These angles allow to define the direction cosine matrix \([\mathcal{FM}]\) that describes the rotation between the platform frame \(\mathcal{F}\) with respect to the mount frame \(\mathcal{M}\). Accounting for the known offsets between the two frames, as well as the offset between the thruster application point and the origin of the frame \(\mathcal{F}\), this module outputs the thrust direction vector in body-frame coordinates \({}^\mathcal{B}\hat{t}\) and the position of the thrust application point with respect to the origin of the body frame \({}^\mathcal{B}r_{T/B}\).
A more detailed description of the thruster-platform assembly can be found in R. Calaon, L. Kiner, C. Allard and H. Schaub, “Momentum Management of a Spacecraft equipped with a Dual-Gimballed Electric Thruster” and in Module: thrusterPlatformReference.
User Guide
The required module configuration is:
platformState = thrusterPlatformState.thrusterPlatformState()
platformState.ModelTag = "platformState"
platformState.sigma_MB = sigma_MB
platformState.r_BM_M = r_BM_M
platformState.r_FM_F = r_FM_F
scSim.AddModelToTaskAddModelToTask(simTaskName, platformState)
The module is configurable with the following parameters:
Parameter |
Default |
Description |
---|---|---|
|
[0, 0, 0] |
relative rotation between body-fixed frames \(\mathcal{M}\) and \(\mathcal{B}\) |
|
[0, 0, 0] |
relative position of point \(B\) with respect to point \(M\), in \(\mathcal{M}\)-frame coordinates |
|
[0, 0, 0] |
relative position of point \(F\) with respect to point \(M\), in \(\mathcal{F}\)-frame coordinates |
Functions
-
void SelfInit_thrusterPlatformState(thrusterPlatformStateConfig *configData, int64_t moduleID)
This method initializes the output messages for this module.
- Parameters:
configData – The configuration data associated with this module
moduleID – The module identifier
- Returns:
void
-
void Reset_thrusterPlatformState(thrusterPlatformStateConfig *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 module
callTime – [ns] time the method is called
moduleID – The module identifier
- Returns:
void
-
void Update_thrusterPlatformState(thrusterPlatformStateConfig *configData, uint64_t callTime, int64_t moduleID)
This method updates the platformAngles message based on the updated information about the system center of mass
- Parameters:
configData – The configuration data associated with the module
callTime – The clock time at which the function was called (nanoseconds)
moduleID – The module identifier
- Returns:
void
-
struct thrusterPlatformStateConfig
- #include <thrusterPlatformState.h>
Top level structure for the sub-module routines.
Public Members
-
double sigma_MB[3]
orientation of the M frame w.r.t. the B frame
-
double r_BM_M[3]
position of B frame origin w.r.t. M frame origin, in M frame coordinates
-
double r_FM_F[3]
position of F frame origin w.r.t. M frame origin, in F frame coordinates
-
double K
momentum dumping time constant [1/s]
-
THRConfigMsg_C thrusterConfigFInMsg
input thruster configuration msg
-
HingedRigidBodyMsg_C hingedRigidBody1InMsg
output msg containing theta1 reference and thetaDot1 reference
-
HingedRigidBodyMsg_C hingedRigidBody2InMsg
output msg containing theta2 reference and thetaDot2 reference
-
THRConfigMsg_C thrusterConfigBOutMsg
output msg containing the thruster configuration infor in B-frame
-
BSKLogger *bskLogger
BSK Logging.
-
double sigma_MB[3]