Class MechanizationStandard

Inheritance Relationships

Base Type

Class Documentation

class MechanizationStandard : public navtk::inertial::Mechanization

Class that performs IMU mechanization in the NED/WGS84 frames.

Public Functions

virtual ~MechanizationStandard() = default
virtual not_null<std::shared_ptr<InertialPosVelAtt>> mechanize(const Vector3 &dv_s, const Vector3 &dth_s, double dt, const not_null<std::shared_ptr<InertialPosVelAtt>> pva, const not_null<std::shared_ptr<InertialPosVelAtt>> old_pva, const MechanizationOptions &mech_options, AidingAltData *aiding_alt_data) override

Perform a single mechanization of delta velocity and delta rotation measurements using NED-frame-referenced attitude and velocity and WGS84 polar coordinates.

Essentially a re-implementation of the mechanization_standard function that uses internal state and minimal Matrix/Vector operations to be more performant.

Parameters
  • dv_s – Vector3 of delta velocity measurements in the inertial sensor frame, m/s.

  • dth_s – Vector3 of delta rotations in the inertial sensor frame, rad.

  • dt – Time over which dv_s and dth_s were collected (and thus time to mechanize over), seconds.

  • pva – Position, velocity and attitude data at the start of the mechanization interval.

  • old_pva – Position, velocity, and attitude data from the start of the previous mechanization interval.

  • mech_optionsMechanization options to use.

  • aiding_alt_data – Container holding an external altitude measurement in m HAE, the accumulated error resulting from the aiding the altitude in the inertial’s mechanization, and additional options for the aiding algorithm.

Returns

Non-null shared_ptr to a StandardPosVelAtt instance that contains the post-mechanization PVA values.