侧边栏壁纸
  • 累计撰写 129 篇文章
  • 累计创建 16 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录
SLAM   

RTabMap_ROS 的节点与接口

概述

  • 一种基于具有实时约束的全局闭环检测器的 RGB-D SLAM 方法
  • 可用于生成环境的 3D 点云和/或创建用于导航的 2D 占用网格图

节点

rtabmap

  • RTAB-Map 核心库的包装器

  • 输入参数

    • “–delete_db_on_start”或“-d”:启动前删除数据库,否则加载之前的映射会话。
    • “–udebug” : 显示 RTAB-Map 的调试/信息/警告/错误日志。
    • “–uinfo” : 显示 RTAB-Map 的信息/警告/错误日志。
    • “–params” : 显示与该节点相关的 RTAB-Map 参数并退出。
  • Topics订阅

    • odom (nav_msgs/Odometry)

      • 外部里程计输入,需要将subscribe_depth或subscribe_stereo设置为True,odom_frame_id为False
    • rgb/image (sensor_msgs/Image)

      • RGB图像输入
    • rgb/camera_info (sensor_msgs/CameraInfo)

      • RGB 相机固有参数
    • depth/image (sensor_msgs/Image)

      • 深度图像
    • scan (sensor_msgs/LaserScan)

      • 激光雷达数据流(数据格式为扫描角度和距离)
    • scan_cloud (sensor_msgs/PointCloud2)

      • 激光雷达的点云流(空点点集)
    • left/image_rect (sensor_msgs/Image)

    • left/camera_info (sensor_msgs/CameraInfo)

    • right/image_rect (sensor_msgs/Image)

    • right/camera_info (sensor_msgs/CameraInfo)

    • goal (geometry_msgs/PoseStamped)

      • 使用当前的地图规划路径到达设置点
    • rgbd_image (rtabmap_ros/RGBDImage)

      • RGBD图像输入
  • Topics发布

    • info (rtabmap_ros/Info)

      • RTAB-地图的信息,包括工作内存等信息
    • mapData (rtabmap_ros/MapData)

      • RTAB-Map 的图和最新的节点数据
    • mapGraph (rtabmap_ros/MapGraph)

      • 最新的姿势优化图
    • grid_map (nav_msgs/OccupancyGrid)

      • 使用激光扫描生成的映射占用网格
    • cloud_map (sensor_msgs/PointCloud2)

      • 从的本地网格生成的 3D 点云
    • cloud_obstacles (sensor_msgs/PointCloud2)

      • 从局部网格生成的障碍物的 3D 点云
    • cloud_ground (sensor_msgs/PointCloud2)

      • 从局部网格生成的地面 3D 点云
    • scan_map (sensor_msgs/PointCloud2)

      • 使用 2D 扫描或 3D 扫描生成的 3D 点云
    • labels (visualization_msgs/MarkerArray)

      • 在 RVIZ 中显示图形标签的便捷方式
    • 路径规划

      • global_path (nav_msgs/Path)

        • 全局路径的规划姿势,每条规划路径仅发布一次
      • local_path (nav_msgs/Path)

        • 与全局路径对应的即将到来的局部姿势
      • goal_reached (std_msgs/Bool)

        • 是否成功达到目标的规划状态消息
      • goal_out (geometry_msgs/PoseStamped)

        • 从 rtabmap 的拓扑规划器发送的当前度量目标
    • Oct地图

      • octomap_full (octomap_msgs/Octomap)
      • octomap_binary (octomap_msgs/Octomap)
      • octomap_occupied_space (sensor_msgs/PointCloud2)
      • octomap_obstacles (sensor_msgs/PointCloud2)
      • octomap_ground (sensor_msgs/PointCloud2)
      • octomap_empty_space (sensor_msgs/PointCloud2)
      • octomap_grid (nav_msgs/OccupancyGrid)
  • Server

    • get_map (nav_msgs/GetMap)

      • 调用此服务获取标准的二维占用网格
    • get_map_data (rtabmap_ros/GetMap)

      • 调用此服务获取地图数据
    • publish_map (rtabmap_ros/PublishMap)

      • 调用此服务发布地图数据
    • list_labels (rtabmap_ros/ListLabels)

      • 获取图形的当前标签
    • update_parameters (std_srvs/Empty)

      • 该节点将使用 rosparam 服务器的当前参数进行更新
    • reset (std_srvs/Empty)

      • 删除地图
    • pause (std_srvs/Empty)

      • 停止建图
    • resume (std_srvs/Empty)

      • 恢复建图
    • trigger_new_map (std_srvs/Empty)

      • 该节点将开始一个新地图
    • backup (std_srvs/Empty)

      • 将数据库备份到“ database_path .back”
    • set_mode_localization (std_srvs/Empty)

      • 开启定位模式
    • set_mode_mapping (std_srvs/Empty)

      • 开启建图模式
    • set_label (rtabmap_ros/SetLabel)

      • 将标签设置为最新节点或指定节点
    • set_goal (rtabmap_ros/SetGoal)

      • 规划设置拓扑目标
    • octomap_full (octomap_msgs/GetOctomap)

    • octomap_binary (octomap_msgs/GetOctomap)

rtabmapviz

  • 启动RTAB-Map的可视化界面。它是 RTAB-Map GUI 库的包装器。它与rviz具有相同的目的,但具有 RTAB-Map 的特定选项

  • 参数

    • -d “config.ini” : 为 GUI 界面参数设置 RTAB-Map ini 文件。默认为"/.ros/rtabmapGUI.ini"
  • Topics订阅

    • odom (nav_msgs/Odometry)

      • 里程计流
    • odom_info (rtabmap_ros/OdomInfo)

      • 里程计信息
    • rgb/image (sensor_msgs/Image)

      • RGB图像
    • rgb/camera_info (sensor_msgs/CameraInfo)

      • RGB 相机固有参数
    • depth/image (sensor_msgs/Image)

      • 深度图
    • scan (sensor_msgs/LaserScan)

      • 激光雷达输入
    • scan_cloud (sensor_msgs/PointCloud2)

      • 激光雷达点云输入
    • left/image_rect (sensor_msgs/Image)

    • left/camera_info (sensor_msgs/CameraInfo)

    • right/image_rect (sensor_msgs/Image)

    • right/camera_info (sensor_msgs/CameraInfo)

    • info (rtabmap_ros/Info)

      • RTAB-Map 的统计信息
    • mapData (rtabmap_ros/MapData)

      • RTAB-Map 的图和最新的节点数据
    • rgbd_image (rtabmap_ros/RGBDImage)

      • RGB-D 同步图像

Visual and Lidar Odometry

  • rgbd_odometry、stereo_odometry和icp_odometry节点的常用里程计内容

  • Topics发布

    • odom (nav_msgs/Odometry)

      • 里程计流
    • odom_info (rtabmap_ros/OdomInfo)

      • 里程计信息流
    • odom_last_frame (sensor_msgs/PointCloud2)

      • 用于估计变换的最后一帧的 3D 特征
    • odom_local_map (sensor_msgs/PointCloud2)

      • 3D 特征的局部地图用作估计变换的参考
  • Server

    • reset_odom (std_srvs/Empty)

      • 重新启动里程计
    • reset_odom_to_pose (rtabmap_ros/ResetPose)

      • 重新启动里程计到指定的转换
    • pause_odom (std_srvs/Empty)

      • 暂停里程计
    • resume_odom (std_srvs/Empty)

      • 恢复里程计

rgbd_odometry

  • 使用 RGBD 图像,使用从 RGB 图像中提取的视觉特征及其来自深度图像的深度信息来计算里程计。使用图像之间的特征对应关系,RANSAC 方法计算连续图像之间的变换

  • Topics订阅

    • rgb/image (sensor_msgs/Image)
    • rgb/camera_info (sensor_msgs/CameraInfo)
    • depth/image (sensor_msgs/Image)
    • rgbd_image (rtabmap_ros/RGBDImage)

stereo_odometry

icp_odometry

camera

map_assembler

map_optimizer

小节点

rtabmap_ros/rgbd_sync

  • 将 RGB、depth 和 camera_info 消息同步到单个消息中,以避免在网络滞后时出现同步问题

  • Topics订阅

    • rgb/image (sensor_msgs/Image)
    • depth/image (sensor_msgs/Image)
    • rgb/camera_info (sensor_msgs/CameraInfo)
  • Topics发布

    • rgbd_image (rtabmap_ros/RGBDImage)

    • rgbd_image/compressed (rtabmap_ros/RGBDImage)

      • 压缩后的RGB-D图像主题(rgb=jpeg,depth=png)

rtabmap_ros/point_cloud_xyzrgb

  • 从 RGB 和深度图像或立体图像构建点云。可以应用可选的抽取、深度、体素和噪声过滤

  • Topics订阅

    • rgb/image (sensor_msgs/Image)
    • depth/image (sensor_msgs/Image)
    • rgb/camera_info (sensor_msgs/CameraInfo)
    • left/image (sensor_msgs/Image)
    • left/camera_info (sensor_msgs/CameraInfo)
    • right/image (sensor_msgs/Image)
    • right/camera_info (sensor_msgs/CameraInfo)
  • Topics发布

    • cloud (sensor_msgs/PointCloud2)

      • 点云输出
  • 参数

    • ~queue_size (int, default: 10)

      • 每个同步主题的消息队列大小。
    • ~approx_sync (bool, default: “true”)

      • 使用输入主题的近似时间同步
    • ~decimation (int, default: 1)

      • 在创建点云之前对图像进行抽取。设置为 1 以不抽取图像
    • ~voxel_size (double, default: 0.0)

      • 生成的云的体素大小 (m)。设置0.0以停用体素过滤
    • ~min_depth (double, default: 0.0)

      • 生成的云的最小深度 (m)
    • ~max_depth (double, default: 0.0)

      • 生成的云的最大深度 (m)。设置0.0以停用深度过滤
    • ~noise_filter_radius (double, default: 0.0)

      • 用于搜索点邻居的最大半径 (m)。设置0.0以停用噪声过滤
    • ~noise_filter_min_neighbors (int, default: 5)

      • 点的最小邻点数量滤波

rtabmap_ros/point_cloud_xyz

  • 从深度或视差图像构建点云。可以应用可选的抽取、深度、体素和噪声过滤。
0

评论区