class mola::LidarOdometry
Overview
LIDAR-inertial odometry based on ICP against a local metric map model.
#include <LidarOdometry.h> class LidarOdometry: public mola::FrontEndBase, public mola::LocalizationSourceBase, public mola::MapSourceBase { public: // enums enum AlignKind; // structs struct ICP_Input; struct ICP_Output; struct MethodState; struct Parameters; struct StateUI; // fields Parameters params_; // methods virtual void initialize_frontend(const Yaml& cfg); virtual void spinOnce(); virtual void onNewObservation(const CObservation::Ptr& o); void reset(); bool isBusy() const; mrpt::poses::CPose3DInterpolator estimatedTrajectory() const; mrpt::maps::CSimpleMap reconstructedMap() const; void saveEstimatedTrajectoryToFile() const; void saveReconstructedMapToFile() const; };
Inherited Members
public: // typedefs typedef std::function<void(const LocalizationUpdate&)> localization_updates_callback_t; typedef std::function<void(const MapUpdate&)> map_updates_callback_t; // structs struct LocalizationUpdate; struct MapUpdate; // methods virtual void initialize(const Yaml& cfg) = 0; virtual void onNewObservation(const CObservation::Ptr& o) = 0; virtual void initialize(const Yaml& cfg); void subscribeToLocalizationUpdates(const localization_updates_callback_t& callback); void subscribeToMapUpdates(const map_updates_callback_t& callback);
Fields
Parameters params_
Algorithm parameters
Methods
virtual void initialize_frontend(const Yaml& cfg)
Loads children specific parameters
virtual void spinOnce()
Runs any required action on a timely manner
virtual void onNewObservation(const CObservation::Ptr& o)
To be called whenever a new observation arrives. It should return as fast as possible, enqueuing the data for processing in another thread.
void reset()
Re-initializes the odometry system. It effectively calls initialize() once again with the same parameters that were used the first time.
mrpt::poses::CPose3DInterpolator estimatedTrajectory() const
Returns a copy of the estimated trajectory, with timestamps for each lidar observation. Multi-thread safe to call.
mrpt::maps::CSimpleMap reconstructedMap() const
Returns a copy of the estimated simplemap. Multi-thread safe to call.