ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

At that time, RTAB-Map's related papers use wheel odometry instead of visual odometry. Unfortunately, there is no paper about RTAB-Map's visual odometry approaches.

  • The default one is Frame-to-Map with OpenCV's GFTT/BRIEF features, correspondences by descriptors matching, 3D->3D PCL's RANSAC registration with known correspondences.

  • Another combination I use sometime (with car-like motions): Frame-to-KeyFrame with OpenCV's GFTT features, correspondences by optical flow, 2D->3D OpenCV's Perspective-n-Points (cv::solvePnPRansac).

It is also possible to add ICP refining if you have 2D laser scans or 3D point clouds. The choice of features are SIFT, SURF, ORB, BRIEF, FREAK, FAST or BRISK. ORB and FAST are also good fast choices. GFTT is nice because it can detect uniformly distributed features across the image. SIFT/SURF are slow for odometry, but really good for loop closure detection.

Another post related to Frame-to-Frame vs Frame-to-Map approaches used.

cheers

At that time, RTAB-Map's related papers use wheel odometry instead of visual odometry. Unfortunately, there is no paper about RTAB-Map's visual odometry approaches.

  • The default one is Frame-to-Map with OpenCV's GFTT/BRIEF features, correspondences by descriptors matching, 3D->3D PCL's RANSAC registration with known correspondences.

  • Another combination I use sometime (with car-like motions): Frame-to-KeyFrame with OpenCV's GFTT features, correspondences by optical flow, 2D->3D OpenCV's Perspective-n-Points (cv::solvePnPRansac).

It is also possible to add ICP refining if you have 2D laser scans or 3D point clouds. The choice of features are SIFT, SURF, ORB, BRIEF, FREAK, FAST or BRISK. ORB and FAST are also good fast choices. GFTT is nice because it can detect uniformly distributed features across the image. SIFT/SURF are slow for odometry, but really good for loop closure detection.

Another post related to Frame-to-Frame vs Frame-to-Map approaches used.

EDIT

  1. No, it is not possible.
  2. You may want to look at Visual Inertial Odometry (VIO) approaches, though you would need hardware synchronized IMU/camera. In RTAB-Map, you cannot use a 2D laser scan to refine 6DoF odometry, only 3DoF (in case of a ground vehicle on flat surface). Hector mapping can give 6DoF odometry using 2D laser scans, may worth a try.

cheers

At that time, RTAB-Map's related papers use wheel odometry instead of visual odometry. Unfortunately, there is no paper about RTAB-Map's visual odometry approaches.

  • The default one is Frame-to-Map with OpenCV's GFTT/BRIEF features, correspondences by descriptors matching, 3D->3D PCL's RANSAC registration with known correspondences.

  • Another combination I use sometime (with car-like motions): Frame-to-KeyFrame with OpenCV's GFTT features, correspondences by optical flow, 2D->3D OpenCV's Perspective-n-Points (cv::solvePnPRansac).

It is also possible to add ICP refining if you have 2D laser scans or 3D point clouds. The choice of features are SIFT, SURF, ORB, BRIEF, FREAK, FAST or BRISK. ORB and FAST are also good fast choices. GFTT is nice because it can detect uniformly distributed features across the image. SIFT/SURF are slow for odometry, but really good for loop closure detection.

Another post related to Frame-to-Frame vs Frame-to-Map approaches used.

EDIT

  1. No, it is not possible.
  2. You may want to look at Visual Inertial Odometry (VIO) approaches, though you would need hardware synchronized IMU/camera. In RTAB-Map, you cannot use a 2D laser scan to refine 6DoF odometry, only 3DoF (in case of a ground vehicle on flat surface). Hector mapping can give 6DoF odometry using 2D laser scans, may worth a try.surface).

cheers

At that time, RTAB-Map's related papers use wheel odometry instead of visual odometry. Unfortunately, there is no paper about RTAB-Map's visual odometry approaches.

  • The default one is Frame-to-Map with OpenCV's GFTT/BRIEF features, correspondences by descriptors matching, 3D->3D PCL's RANSAC registration with known correspondences.

  • Another combination I use sometime (with car-like motions): Frame-to-KeyFrame with OpenCV's GFTT features, correspondences by optical flow, 2D->3D OpenCV's Perspective-n-Points (cv::solvePnPRansac).

It is also possible to add ICP refining if you have 2D laser scans or 3D point clouds. The choice of features are SIFT, SURF, ORB, BRIEF, FREAK, FAST or BRISK. ORB and FAST are also good fast choices. GFTT is nice because it can detect uniformly distributed features across the image. SIFT/SURF are slow for odometry, but really good for loop closure detection.

Another post related to Frame-to-Frame vs Frame-to-Map approaches used.

EDIT

  1. No, it is not possible.
  2. You may want to look at Visual Inertial Odometry (VIO) approaches, though you would need hardware synchronized IMU/camera. In RTAB-Map, you cannot use a 2D laser scan to refine 6DoF odometry, only 3DoF (in case of a ground vehicle on flat surface).

cheers