以Tianbot为例子,开源代码如下:
https://github.com/tianbot/tianbot_mini
下载融合建图包
sudo apt-get install ros-melodic-multirobot-map-merge
1.在gazebo仿真地图中生成多机,
roslaunch tianbot_mini simulation.launch robot_name:=rbmn_01 //这一步是生成gazebo地图 并且在地图中生成一辆小车
roslaunch abc_swarm spawn_robot.launch robot_name:=rbmn_02 //这一步是生成另外一个小车
2.分别对两辆小车开启建图
roslaunch tianbot_mini slam.launch robot_name:=rbmn_01
roslaunch tianbot_mini slam.launch robot_name:=rbmn_02 //分别对两个机器人开启建图
3.分别对两辆车的/map做坐标变换到world
rosrun tf static_transform_publisher 0 0 0 0 0 0 world tbmn_01/map 20
rosrun tf static_transform_publisher 0 0 0 0 0 0 world tbmn_02/map 20
扫描二维码关注公众号,回复:
15925873 查看本文章
最后形成这样的tf树
4.开启地图融合节点
roslaunch abc_swarm map_merge.launch robot_name_1:=rbmn_01 robot_name_2:=rbmn_02
最后再开启一个rviz 打开map话题 生成的地图就是两个小车合并后的地图