< >
Home » ROS与VSLAM入门教程 » ROS与VSLAM入门教程-rtabmap_ros-介绍

ROS与VSLAM入门教程-rtabmap_ros-介绍

ROS与VSLAM入门教程-rtabmap_ros-介绍

说明:

  • 介绍RTAB-Map的rot包,RTAB-Map是具有实时约束的RGB-D SLAM方法。
  • RTAB-Map (Real-Time Appearance-Based Mapping)
  • RTAB-Map 基于具有实时约束的全局闭环检测的RGB-D SLAM方法。
  • 该包可用于生成环境的3D点云或创建用于导航的2D网格图。

代码库:

  • https://github.com/introlab/rtabmap_ros.git
  • http://introlab.github.io/rtabmap

节点:

  • 所有sensor_msgs/Image话题使用image_transport.

  • rtabmap

    • 这是核心节点,是RTAB-Map核心库的封装,这是在检测到循环闭合时增量构建和优化地图的图形。
    • 节点的在线输出是具有地图上最新添加数据的本地图。
    • 默认RTAB-Map 数据库的位置是 "~/.ros/rtabmap.db",工作空间也设置为 "~/.ros"
    • 通过订阅cloud_map话题获取3D点云图, grid_map or proj_map话题获取2D网格图
  • rtabmapviz

    • RTAB-Map的可视化接口,是 RTAB-Map GUI图形库的封装,类似rviz但有针对RTAB-Map的可选项
    • 效果图:

请输入图片描述

  • Visual Odometry 视觉里程

    • rgbd_odometry和stereo_odometry节点的共用的Odometry相关内容。
    • 它封装了RTAB-Map里程相关的方法。
    • 该方法是基于视觉的,图像中需要足够的视觉特征用于计算里程。
    • 当无法计算变换时,将发送空转换以通知接收器,即odometry不会更新或丢失。
  • rgbd_odometry

    • 该节点包含RTAB-Map的RGBD里程方法。
    • 使用RGBD图像从中提取的视觉特征及其深度图像的深度信息来计算里程。
    • 使用图像之间的特征对应,RANSAC方法计算连续图像之间的变换。
  • stereo_odometry

    • 该节点包含RTAB-Map的双目里程方法。
    • 使用双目图像从左图像提取的视觉特征,通过在右图像上找到相同的特征计算其深度信息来计算里程。
    • 使用图像之间特征对应,RANSAC方法计算连续左图像之间的变换。
  • camera

    • 用于从USB相机获取图像的节点(使用OpenCV)。
    • 该节点的一个特殊选项是可以将其配置为从目录或视频文件读取图像。
    • 可以使用来自ROS的dynamic_reconfigure GUI更改参数。
    • 有关动态参数,请参阅Camera.cfg
  • map_assembler

    • 注意:建议直接从rtabmap节点直接使用cloud_map或proj_map发布的话题,而不是使用此节点。
    • 该节点订阅rtabmap输出话题“mapData”,并逐步组装3D地图,然后发布与rtabmap相同的地图。
  • map_optimizer

    • 此节点仅用于高级用途,因为优先使用rtabmap节点(这是默认值)内的图优化。
    • 请参见rtabmap中的相关参数:
$rosrun rtabmap_ros rtabmap --params | grep Optimize
  • 该节点订阅rtabmap输出话题“mapData”并优化图形,然后重新发布优化的“mapData”。

参考:

  • http://wiki.ros.org/rtabmap_ros

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros与vslam入门教程