AttitudeEstimator

giant.stellar_opnav.estimators:

class giant.stellar_opnav.estimators.AttitudeEstimator[source]

This abstract base class (ABC) serves as a template for creating an attitude estimator that GIANT can use.

While it is not required to subclass this ABC in user created estimators, it is encouraged as it will ensure that the appropriate methods and attributes are created to ensure a seamless integration. In particular, the following attributes should be implemented:

Attributes

These attributes will be accessed directly for reading or writing by the GIANT StarID and StellarClass classes (that is, they won’t be specified during initialization). In addition, the following method should be implemented with no arguments:

Methods

This method will only be called after the target_frame_directions, base_frame_directions, weighted_estimation, and weights attributes have been set.

See the DavenportQMethod class for an example of how to make a working attitude estimator

target_frame_directions

The unit vectors in the target frame as a 3xn array (\(\mathbf{a}_i\)).

Each column should represent the pair of the corresponding column in base_frame_directions.

base_frame_directions

The unit vectors in the base frame as a 3xn array (\(\mathbf{b}_i\)).

Each column should represent the pair of the corresponding column in target_frame_directions.

weighted_estimation

A boolean flag specifying whether to apply weights to the camera–database pairs in the estimation

weights

A length n array of the weights to apply if weighted_estimation is True. (\(w_i\))

Each element should represent the pair of the corresponding column in target_frame_directions and base_frame_directions.

rotation

The solved for rotation that best aligns the base_frame_directions and target_frame_directions after calling estimate().

This rotation should go from the base frame to the target frame frame.

abstract property post_fit_covariance: ndarray

The post-fit covariance from the attitude estimation as a 4x4 array

Summary of Methods

estimate

This method solves for the rotation matrix that best aligns the unit vectors in base_frame_directions with the unit vectors in target_frame_directions and stores the results in rotation attribute.