目录:
- Turbot3-Multi多机协同教程-目录
- Turbot3-Multi多机协同教程-硬件
- Turbot3-Multi多机协同教程-软件
- Turbot3-Multi多机协同教程-设备测试
- Turbot3-Multi多机协同教程-单机遥控建图
- Turbot3-Multi多机协同教程-单机定点导航
- Turbot3-Multi多机协同教程-多机遥控建图
- Turbot3-Multi多机协同教程-多机定点导航
- Turbot3-Multi多机协同教程-多机行为树导航
- Turbot3-Multi多机协同教程-多机Frontier自主探索建图
- Turbot3-Multi多机协同教程-多机RRT自主探索建图
说明:
- 介绍如何实现多机建图
相关设备:
- Turbot3-Multi套件,采购地址
操作步骤:
- 关闭此前打开的ros程序,以免造成冲突
./multi_scripts/multi_kill.sh
- 新开终端,启动多机
// 根据你当前机器人的数量选择对应的命令
// 默认是启动三台机器人
./multi_scripts/multi_robot.sh
// 启动六台机器人
./multi_scripts/multi_robot6.sh
// 启动十台机器人
./multi_scripts/multi_robot10.sh
- 启动之后的TF图如下:
- 新开终端,启动初始化位姿,参考位姿设置,位姿设置时需要将GAZEBOT的参数值设置为false
// 根据你当前机器人的数量选择对应的命令
// 启动三台机器人的初始化位姿程序
./multi_scripts/multi_init_pose.sh
// 启动六台机器人的初始化位姿程序
./multi_scripts/multi_init_pose6.sh
// 启动十台机器人的初始化位姿程序
./multi_scripts/multi_init_pose10.sh
- 新开终端, 启动建图
// 根据你当前机器人的数量选择对应的命令
// 启动三台机器人的建图程序
./multi_scripts/multi_slam.sh
// 启动六台机器人的建图程序
./multi_scripts/multi_slam6.sh
// 启动十台机器人的建图程序
./multi_scripts/multi_slam10.sh
- 启动之后的TF图如下:
- 新开终端,启动合并地图和rviz
// 根据你当前机器人的数量选择对应的命令
// 启动三台机器人的地图合并程序
./multi_scripts/multi_map_merge.sh
// 启动六台机器人的地图合并程序
./multi_scripts/multi_map_merge6.sh
// 启动六台机器人的地图合并程序
./multi_scripts/multi_map_merge10.sh
- 根据机器人数量打开对应数量的终端,启动键盘控制
// 启动三台机器人的键盘控制程序
./multi_scripts/multi_key.sh 0
./multi_scripts/multi_key.sh 1
./multi_scripts/multi_key.sh 2
// 如果是六台机器人,请继续执行下面程序
./multi_scripts/multi_key.sh 3
./multi_scripts/multi_key.sh 4
./multi_scripts/multi_key.sh 5
// 如果是十台机器人,请继续执行下面程序
./multi_scripts/multi_key.sh 6
./multi_scripts/multi_key.sh 7
./multi_scripts/multi_key.sh 8
./multi_scripts/multi_key.sh 9
- 控制每台小车进行建图,同时查看合并后地图,建图完成
- 效果如下:
- 新开终端,保存地图
./multi_scripts/multi_save_map.sh
- 地图保存在~/map目录下,命名为multi.yaml和multi.pgm
FAQ
- 问题一:有时候会遇到某台机器人不能正常启动的情况,这时候可以单独关闭和重新启动此台机器人的ros进程
## 命令后面的数字 `0` 表示机器人的编号
./multi_scripts/single_kill.sh 0
./multi_scripts/single_robot.sh 0