struct mola::LidarOdometry::MethodState::GravityEstimator
Overview
Accumulates recent accelerometer readings and provides a smoothed pitch/roll estimate from the gravity direction.
#include <LidarOdometry.h> struct GravityEstimator { // structs struct TimestampedAcc; // fields mrpt::containers::circular_buffer<TimestampedAcc> acc_buffer {200}; mrpt::poses::CPose3D imu_sensor_pose; double imu_sensor_pose_timestamp = 0; // methods void add( const mrpt::obs::CObservationIMU& imu, uint32_t max_samples ); std::optional<std::pair<double, double>> estimatedPitchRoll( uint32_t required_samples, double max_age_seconds ) const; };
Fields
mrpt::poses::CPose3D imu_sensor_pose
last known IMU extrinsics
double imu_sensor_pose_timestamp = 0
timestamp of last sensor pose update
Methods
std::optional<std::pair<double, double>> estimatedPitchRoll( uint32_t required_samples, double max_age_seconds ) const
Returns estimated (pitch, roll) in radians from averaged accelerometer data in the vehicle frame, or nullopt if not enough data. max_age_seconds <= 0 means no age filtering.