Class RotationOnlyDetector

Class Documentation

class geometric_vision::RotationOnlyDetector

Public Functions

inline RotationOnlyDetector()

Default constructor with default motion classification threshold.

inline explicit RotationOnlyDetector(double motion_classification_threshold)

Constructor to set the motion classification threshold.

bool isRotationOnlyMotion(const aslam::VisualNFrame::Ptr &nframe_kp1, const aslam::VisualNFrame::Ptr &nframe_k, const aslam::FrameToFrameMatchesList &matches_kp1_k, const aslam::Quaternion &q_Bkp1_Bk, const bool remove_outliers)

Returns true if the motion detected is rotation-only.

Parameters
  • nframe_kp1[in] Contains camera_rig and observations from viewpoint k+1.

  • nframe_k[in] Contains camera_rig and observations from viewpoint k.

  • matches_kp1_k[in] Matches from camera i in viewpoint k+1 and camera i in viewpoint k.

  • q_Bkp1_Bk[in] Rotation matrix taking points from the frame of reference at time k to the frame of reference at time k+1.

  • remove_outliers[in] Remove outliers using 2-point RANSAC if set to true.

inline double getDeviationFromParallelBearingVectorLastUpdate() const

/brief Return the deviation from perfectly parallel bearing vectors.

If the deviation is small then the motion could be explained by rotation-only. If the deviation is large it is a mixed motion or translation-only motion.

inline double getMotionClassificationThreshold() const

/brief Return the motion classification threshold.