Program Listing for File StaticWahbaAlignment.hpp

Return to documentation for file (src/navtk/inertial/StaticWahbaAlignment.hpp)

#pragma once

#include <navtk/inertial/StaticAlignment.hpp>

namespace navtk {
namespace inertial {

class StaticWahbaAlignment : public StaticAlignment {

public:
    StaticWahbaAlignment(const filtering::ImuModel& model = filtering::stim300_model(),
                         const double align_time          = 120.0,
                         const Matrix3& vel_cov           = Matrix3{
                                       {1e-4, 0, 0}, {0, 1e-4, 0}, {0, 0, 1e-4}});

    std::pair<bool, Matrix> get_computed_covariance(
        const CovarianceFormat format = CovarianceFormat::PINSON15NEDBLOCK) const override;

protected:
    /* Do the actual alignment algorithm once sufficient data is available. */
    void calc_alignment(const aspn_xtensor::TypeTimestamp& imu_time) override;

private:
    /* Storage for tilt cov from sensor messages for use in solution cov output */
    Matrix3 tilt_cov;
};

}  // namespace inertial
}  // namespace navtk