用turtlebot3 burger 实现多机建图

之前用gazebo做turtlebot的多机仿真建图,一直出bug并且无法解决

然后直接放弃,转用实机操作

ubuntu20.04  ROS noetic

用了两个turtlebot3 burger建图,turtlebot的版本和电脑一样

需要一个地图合并的软件包,https://github.com/hrnr/m-explore

sudo apt install ros-${ROS_DISTRO}-multirobot-map-merge 

一些操作也可以参照下面这个博客

Turtlebot3多机建图教程

1.首先启动roscore

roscore

2.连接turtlebot3 burger

PC上连接turtlebot的ubuntu系统,默认密码是turtlebot

ssh ubuntu@加上自己的ip地址

3.启动turtlebot3

连接成功之后,在PC远程连接的turtlebot ubuntu系统上分别启动两台机器人

ROS_NAMESPACE=tb3_0 roslaunch turtlebot3_bringup turtlebot3_robot.launch multi_robot_name:="tb3_0" set_lidar_frame_id:="tb3_0/base_scan"

 第二台把tb3_0改成tb3_1

ROS_NAMESPACE=tb3_1 roslaunch turtlebot3_bringup turtlebot3_robot.launch multi_robot_name:="tb3_1" set_lidar_frame_id:="tb3_1/base_scan"

PC上分别启动模型

ROS_NAMESPACE=tb3_0 roslaunch turtlebot3_bringup turtlebot3_remote.launch multi_robot_name:=tb3_0
ROS_NAMESPACE=tb3_1 roslaunch turtlebot3_bringup turtlebot3_remote.launch multi_robot_name:=tb3_1

PC上分别启动slam建图

ROS_NAMESPACE=tb3_0 roslaunch turtlebot3_slam turtlebot3_gmapping.launch set_base_frame:=tb3_0/base_footprint set_odom_frame:=tb3_0/odom set_map_frame:=tb3_0/map

启动第二台的slam建图

ROS_NAMESPACE=tb3_1 roslaunch turtlebot3_slam turtlebot3_gmapping.launch set_base_frame:=tb3_1/base_footprint set_odom_frame:=tb3_1/odom set_map_frame:=tb3_1/map

PC上启动地图合并

roslaunch turtlebot3_bringup  turtlebot3_map_merge.launch

PC上启动Rivz

rosrun rviz rviz -d `rospack find turtlebot3_bringup`/launch/multi_turtlebot3_slam.rviz

注意!

启动Rivz后可能会出现不显示地图的情况,需要手动添加

关于Rviz怎么用可以参考这篇博客

ROS学习笔记——rviz的基本介绍

 

再分别启动两个机器人的键盘控制

ROS_NAMESPACE=tb3_0 rosrun turtlebot3_teleop turtlebot3_teleop_key
ROS_NAMESPACE=tb3_1 rosrun turtlebot3_teleop turtlebot3_teleop_key

 

这样就可以同时控制两个tuetlebot,实现建图了

最后保存地图

rosrun map_server map_saver -f ~/map

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值