- 相关依赖安装
安装 multirobot-map-merge 包
sudo apt-get install ros-melodic-multirobot-map-merge
其他依赖的安装参考之前的文章 turtlebot3 仿真 --- 单机SLAM与导航
- 仿真环境加载
新终端,首先导入机器人模型(每次打开新终端都要添加),也可在~/.bashrc中直接添加,具体操作参考 turtlebot3 仿真 --- 单机SLAM与导航 :
export TURTLEBOT3_MODEL=burger
在Gazebo中的TurtleBot3 House环境加载三台机器人:
roslaunch turtlebot3_gazebo multi_turtlebot3.launch
- 多机建图
分别打开三个新终端,对三台机器人启动 gmapping 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
## 第二个终端
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
## 第三个终端
ROS_NAMESPACE=tb3_2 roslaunch turtlebot3_slam turtlebot3_gmapping.launch set_base_frame:=tb3_2/base_footprint set_odom_frame:=tb3_2/odom set_map_frame:=tb3_2/map
新终端,启动地图融合程序:
roslaunch turtlebot3_gazebo multi_map_merge.launch
新终端,启动 rviz:
rosrun rviz rviz -d `rospack find turtlebot3_gazebo`/rviz/multi_turtlebot3_slam.rviz
- 键盘控制
分别打开三个新终端,启动三台机器人的键盘控制程序:
## 第一个终端
ROS_NAMESPACE=tb3_0 rosrun turtlebot3_teleop turtlebot3_teleop_key
## 第二个终端
ROS_NAMESPACE=tb3_1 rosrun turtlebot3_teleop turtlebot3_teleop_key
## 第三个终端
ROS_NAMESPACE=tb3_2 rosrun turtlebot3_teleop turtlebot3_teleop_key
分别用WAXD键移动三台机器人,分区域建图
- 结果
建图完成后,打开新终端,保存地图:
rosrun map_server map_saver -f ~/map
效果(不是太好):
会继续研究代码和参数的细节,找到效果不好的原因。
评论(0)
您还未登录,请登录后发表或查看评论