< >
Home » ROS2与Turbot3-Multi多机协同教程 » ROS2与Turbot3-Multi多机协同教程-多机合并建图(未知初始位置)

ROS2与Turbot3-Multi多机协同教程-多机合并建图(未知初始位置)

文章说明

  • 本文章主要介绍如何使用Turbot3-Multi套件在未知位置的情况实现多机建图,同时配合frontier自主探索建图进行测试
  • 测试环境:Ubuntu 24.04 + ROS2 Jazzy

相关设备

操作步骤

  • [NUC] 关闭此前打开的ros程序,以免造成冲突
$ ./multi_scripts/multi_kill.sh
$ ./multi_scripts/server_kill.sh
  • [NUC] 启动2台机器人
# 默认不添加参数会启动3台机器人
$ ./multi_scripts/multi_robot.sh 2
  • [NUC] 启动2台机器人的合frontier自主探索程序
$ ./multi_scripts/multi_explore.sh 2
  • [NUC] 启动2台机器人的边建图程序
$ ./multi_scripts/multi_slam.sh 2
  • 自主探索程序在检测到代价地图的生成,会自动开始探索

  • [NUC] 启动地图合并程序,known_init_poses参数设置为false

$ ./multi_scripts/multi_map_merge.sh false
  • 合并程序开始的地图会选择是两个机器人中的一个作为主地图

请输入图片描述

  • 当tb3_0和tb3_1地图开始有重复地方,特征点匹配上后,合并程序会合并两者地图

  • 合并前

请输入图片描述

  • 合并后

请输入图片描述

  • [NUC] 保存地图
$ ./multi_scripts/multi_save_map.sh
  • 地图默认保存在~/map目录下,命名为multi.yamlmulti.pgm

演示视频

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

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


标签: none