inertialAttitudeUkf#

Executive Summary#

This module filters incoming attitude and rate measurements along with reaction wheel data in order to get the best possible inertial attitude estimate. The filter used is an unscented Kalman filter using the Modified Rodrigues Parameters (MRPs) as a non-singular attitude measure. Attitude measurements (e.g. from star trackers) can be added from multiple sources via addAttitudeInput, and rate measurements are read through a dedicated input message. The rate measurements are packed in an STAttMsgPayload but may originate from either star tracker measurements or gyroscope measurements.

More information on can be found in the PDF Description

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

navAttitudeOutputMsg

NavAttMsgPayload

navigation output message

inertialFilterOutputMsg

FilterMsgPayload

output filter data message

attitudeResidualMsg

FilterResidualsMsgPayload

output residual data message for attitude measurements

rateResidualMsg

FilterResidualsMsgPayload

output residual data message for rate measurements

vehicleConfigMsg

VehicleConfigMsgPayload

spacecraft vehicle configuration input message

rwArrayConfigMsg

RWArrayConfigMsgPayload

reaction wheel parameter input message. Can be an empty message if no RW are included.

rwSpeedMsg

RWSpeedMsgPayload

reaction wheel speed input message. Can be an empty message if no RW are included.

rateDataInMsg

STAttMsgPayload

rate measurement input message packed in an STAttMsgPayload; rates may come from either star tracker measurements or a gyroscope

Class InertialAttitudeUkf#

class InertialAttitudeUkf : public SRukfInterface#

Inertial Attitude filter which reads Star Tracker measurements and gyro measurements.

Public Functions

void setRateNoise(const Eigen::Matrix3d &rateNoise)#

Set the rate measurement noise matrix

Parameters:

Eigen::Matrix3d – rateNoise

Returns:

void

Eigen::Matrix3d getRateNoise() const#

Get the rate measurement noise matrix

Returns:

Eigen::Matrix3d rateNoise

void addAttitudeInput(const AttitudeMessage &attitudeMeasurement)#

Add a star tracker to the filter solution using the attitudeMessage class

Returns:

attitudeMessage attitude

Eigen::Matrix3d getAttitudeNoise(int attitudeMeasurementNumber) const#

Get the star tracker measurement noise matrix for a particular number (indexed at 0)

Parameters:

int – attitudeMeasNumber

Returns:

Eigen::Matrix3d attitudeMeasNoise