Class AlignBase
Defined in File AlignBase.hpp
Inheritance Relationships
Derived Types
public navtk::inertial::CoarseDynamicAlignment(Class CoarseDynamicAlignment)public navtk::inertial::ManualAlignment(Class ManualAlignment)public navtk::inertial::StaticAlignment(Class StaticAlignment)
Class Documentation
Base class for IMU alignment algorithms.
Subclassed by navtk::inertial::CoarseDynamicAlignment, navtk::inertial::ManualAlignment, navtk::inertial::StaticAlignment
Public Types
The possible states of the return value of get_computed_alignment().
Values:
We are attempting to align the inertial.
The requires_dynamic() function should be checked to determine if the aligning algorithm requires movement to align.
A coarse alignment has been calculated, and the alignment is being tested and/or adjusted before setting the inertial.
We have a good INS alignment which can be used to initialize an inertial class and INS error state block.
Supported filtering::StateBlock types for returned covariance size/units.
Values:
Position, velocity, attitude and sensor biases.
Position, velocity, attitude, sensor biases and scale factors.
Public Functions
Base constructor which sets
supports_staticandsupports_dynamic- Parameters
supports_static – Indicates the alignment algorithm supports static data
supports_dynamic – Indicates the alignment algorithm supports dynamic data
model – Model for IMU measurements used in alignment, typically used in calculating covariance of alignment solution.
Copy constructor for AlignBase.
Performs a shallow copy of
otherexcept forcomputed_alignmentwhich is deep copied.- Parameters
other – AlignBase object to copy.
Copy assignment operator for AlignBase.
Performs a shallow copy of
otherexcept forcomputed_alignmentwhich is deep copied.- Parameters
other – AlignBase object to copy.
- Returns
Copy of
other.
Default move assignment operator for AlignBase.
- Parameters
other – AlignBase object to move.
- Returns
Reference to the moved
other.
Supply new data to alignment estimation algorithm.
Behavior may vary based on current
alignment_status.- Parameters
message – Pointer to aspn_xtensor::AspnBase.
- Returns
Current alignment status following message processing.
Allows caller to determine if alignment requires movement.
- Throws
std::runtime_error – if class has not been flagged for supporting static or dynamic and the error mode is ErrorMode::DIE.
- Returns
trueif movement required for alignment.
Determine the current alignment status.
- Returns
Current alignment status.
Get the computed alignment if one has been calculated.
- Returns
A pair with a bool representing validity of the attached solution, along with a copy of the computed alignment if one has been calculated.
Get the computed position, velocity and attitude covariance matrix if one has been calculated.
- Parameters
format – Format for the covariance block. Covariance, if able to be generated, will be of the correct size and units for the requested block type.
- Returns
A pair with a bool representing validity of the attached matrix, and an NxN covariance matrix where N is the number of states requested in
format.
Get any estimated inertial sensor errors.
- Returns
A pair with a bool representing validity of the attached ImuErrors, and the current estimates of the IMU errors.
- Returns
Indicates whether the alignment strategy requires stationary data, motion, or doesn’t care.
Protected Functions
Extract the initial bias covariance etc.from model and generate a covariance block.
Does not include PVA terms (cov block will just be sensor errors, for example CovarianceFormat::PINSON15NEDBLOCK format will be 6x6)
- Parameters
format – Partial covariance type to return.
- Returns
Covariance, initialized from model.
Protected Attributes
Current alignment status.
Current available alignment.
Buffer for IMU data.
Buffer for position data.
Flag indicating the alignment algorithm supports static data.
Flag indicating the alignment algorithm supports dynamic data.
IMU model for incoming measurements.