.. _program_listing_file_src_navtk_inertial_MovementDetectorPos.hpp: Program Listing for File MovementDetectorPos.hpp ================================================ |exhale_lsh| :ref:`Return to documentation for file ` (``src/navtk/inertial/MovementDetectorPos.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include #include #include #include namespace navtk { namespace inertial { class MovementDetectorPos : public MovementDetectorPlugin { public: MovementDetectorPos(const double speed_cutoff = 0.2, const double zero_corr_distance = 100.0); MovementStatus process(not_null> data) override; aspn_xtensor::TypeTimestamp get_time() override; private: /* At least one position has been received */ bool ready_to_test = false; /* Last position received */ std::shared_ptr last = nullptr; /* Stores ctor params */ double speed_cutoff = 0.0; double zero_corr_distance = 100.0; /* * Calculate the 1 sigma NED uncertainty between pos and whatever data is stored in last. * * @param pos Most recent position measurement * @param est_spd Norm of NED delta position between pos and last, divided by dt (m/s) * @param dt Delta time between pos and last, sec. */ Vector calc_sig(not_null> pos, double est_spd, double dt); }; } // namespace inertial } // namespace navtk