AttitudeEstimator¶
giant.stellar_opnav.estimators
:
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
andStellarClass
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
, andweights
attributes have been set.See the
DavenportQMethod
class for an example of how to make a working attitude estimatorThe 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
.
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
.
A boolean flag specifying whether to apply weights to the camera–database pairs in the estimation
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
andbase_frame_directions
.
The solved for rotation that best aligns the
base_frame_directions
andtarget_frame_directions
after callingestimate()
.This rotation should go from the base frame to the target frame frame.
The post-fit covariance from the attitude estimation as a 4x4 array
Summary of Methods
This method solves for the rotation matrix that best aligns the unit vectors in |