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.
Msg Variable Name |
Msg Type |
Description |
|---|---|---|
navAttitudeOutputMsg |
navigation output message |
|
inertialFilterOutputMsg |
output filter data message |
|
attitudeResidualMsg |
output residual data message for attitude measurements |
|
rateResidualMsg |
output residual data message for rate measurements |
|
vehicleConfigMsg |
spacecraft vehicle configuration input message |
|
rwArrayConfigMsg |
reaction wheel parameter input message. Can be an empty message if no RW are included. |
|
rwSpeedMsg |
reaction wheel speed input message. Can be an empty message if no RW are included. |
|
rateDataInMsg |
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
-
void setRateNoise(const Eigen::Matrix3d &rateNoise)#