attRefCorrection#

Executive Summary#

This module reads in the attitude reference message and adjusts it by a fixed rotation. This allows a general body-fixed frame \(B\) to align with this corrected reference frame \(R\).

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.

Module I/O Messages#

Msg Variable Name

Msg Type

Description

attRefInMsg

AttRefMsgPayload

attitude reference input message

attRefOutMsg

AttRefMsgPayload

corrected attitude reference input message

Detailed Module Description#

This module is an attitude reference message feed-through module where a fixed orientation offset can be applied to the output attitude \(\sigma_{R/N}\). In not all cases do we wish to drive a body-fixed frame \(\mathcal B\) to a reference frame \(\mathcal R\). Therefore, we introduce a fixed offset \(\sigma_{R/R0}\) and add this to the input \(\sigma_{R0/N}\). This resulted in a corrected reference frame to control the \(\mathcal B\) to.

\[[RN] = [R R0][R0 N]\]

This relationship can be found by using the addition of two mrps using the rigid body kinematics library, which is what the algorithm uses internally.

User Guide#

The only variable that is set with this module is the sigma_RR0 MRP to rotate from the original reference frame to corrected reference frame.

Class AttRefCorrection#

class AttRefCorrection : public SysModel#

This module reads in the attitude reference message and adjusts it by a fixed rotation. This allows a general body-fixed frame B to align with this corrected reference frame.

Public Functions

void reset(uint64_t callTime) final#

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. Check if required input messages are connected.

Parameters:

callTime – [ns] time the method is called

Returns:

void

void updateState(uint64_t callTime) final#

Corrects the reference attitude message by a fixed rotation

Parameters:

callTime – The clock time at which the function was called (nanoseconds)

Returns:

void

void setSigmaRR0(const Eigen::Vector3d &sigma)#

Setter method for the current MRP attitude coordinate set with respect to the input reference

Parameters:

sigmaRR0 – [-] current MRP attitude coordinate set with respect to the input reference

Returns:

void

const Eigen::Vector3d getSigmaRR0() const#

Getter method for the current MRP attitude coordinate set with respect to the input reference

Returns:

const Eigen::Vector3d

Public Members

ReadFunctor<AttRefMsgPayload> attRefInMsg#

attitude reference input message

Message<AttRefMsgPayload> attRefOutMsg#

corrected attitude reference input message