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 |
THRConfigMsgPayload |
Input thruster configuration message containing the thrust direction vector and magnitude in platform frame coordinates. The entry |
hingedRigidBody1InMsg |
HingedRigidBodyMsgPayload |
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 |
HingedRigidBodyMsgPayload |
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 |
THRConfigMsgPayload |
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 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 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 |
Class ThrusterPlatformState#
-
class ThrusterPlatformState : public SysModel#
Top level structure for the sub-module routines.
Public Functions
-
void reset(uint64_t callTime) override#
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:
callTime – [ns] time the method is called
- Returns:
void
-
void updateState(uint64_t callTime) override#
This method updates the platformAngles message based on the updated information about the system center of mass
- Parameters:
callTime – The clock time at which the function was called (nanoseconds)
- Returns:
void
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]
-
ReadFunctor<THRConfigMsgPayload> thrusterConfigFInMsg#
input thruster configuration msg
-
ReadFunctor<HingedRigidBodyMsgPayload> hingedRigidBody1InMsg#
output msg containing theta1 reference and thetaDot1 reference
-
ReadFunctor<HingedRigidBodyMsgPayload> hingedRigidBody2InMsg#
output msg containing theta2 reference and thetaDot2 reference
-
Message<THRConfigMsgPayload> thrusterConfigBOutMsg#
output msg containing the thruster configuration infor in B-frame
-
BSKLogger bskLogger = {}#
BSK Logging.
-
void reset(uint64_t callTime) override#