0.18.2: Added Odom/GuessSmoothingDelay parameter

This commit is contained in:
matlabbe
2018-11-21 11:57:04 -05:00
parent 5ae2f487b4
commit b862d6bc48
11 changed files with 184 additions and 63 deletions

View File

@@ -70,7 +70,8 @@ public:
//getters
const Transform & getPose() const {return _pose;}
bool isInfoDataFilled() const {return _fillInfoData;}
const Transform & previousVelocityTransform() const {return previousVelocityTransform_;}
RTABMAP_DEPRECATED(const Transform & previousVelocityTransform() const, "Use getVelocityGuess() instead.");
const Transform & getVelocityGuess() const {return velocityGuess_;}
double previousStamp() const {return previousStamp_;}
unsigned int framesProcessed() const {return framesProcessed_;}
bool imagesAlreadyRectified() const {return _imagesAlreadyRectified;}
@@ -87,6 +88,7 @@ private:
bool _force3DoF;
bool _holonomic;
bool guessFromMotion_;
bool guessSmoothingDelay_;
int _filteringStrategy;
int _particleSize;
float _particleNoiseT;
@@ -103,7 +105,8 @@ private:
Transform _pose;
int _resetCurrentCount;
double previousStamp_;
Transform previousVelocityTransform_;
std::list<std::pair<std::vector<float>, double> > previousVelocities_;
Transform velocityGuess_;
Transform previousGroundTruthPose_;
float distanceTravelled_;
unsigned int framesProcessed_;

View File

@@ -106,6 +106,7 @@ public:
Transform transform;
Transform transformFiltered;
Transform transformGroundTruth;
Transform guessVelocity;
float distanceTravelled;
int memoryUsage; //MB

View File

@@ -413,6 +413,7 @@ class RTABMAP_EXP Parameters
RTABMAP_PARAM(Odom, KalmanProcessNoise, float, 0.001, "Process noise covariance value.");
RTABMAP_PARAM(Odom, KalmanMeasurementNoise, float, 0.01, "Process measurement covariance value.");
RTABMAP_PARAM(Odom, GuessMotion, bool, true, "Guess next transformation from the last motion computed.");
RTABMAP_PARAM(Odom, GuessSmoothingDelay, float, 1.0, uFormat("Guess smoothing delay (s). Estimated velocity is averaged based on last transforms up to this maximum delay. This can help to get smoother velocity prediction. Last velocity computed is used directly if \"%s\" is set or the delay is below the odometry rate.", kOdomFilteringStrategy().c_str()));
RTABMAP_PARAM(Odom, KeyFrameThr, float, 0.3, "[Visual] Create a new keyframe when the number of inliers drops under this ratio of features in last frame. Setting the value to 0 means that a keyframe is created for each processed frame.");
RTABMAP_PARAM(Odom, VisKeyFrameThr, int, 150, "[Visual] Create a new keyframe when the number of inliers drops under this threshold. Setting the value to 0 means that a keyframe is created for each processed frame.");
RTABMAP_PARAM(Odom, ScanKeyFrameThr, float, 0.9, "[Geometry] Create a new keyframe when the number of ICP inliers drops under this ratio of points in last frame's scan. Setting the value to 0 means that a keyframe is created for each processed frame.");