This package is adapted from rrt_exploration. You could run the following command on the terminal:
$ roslaunch multi_rrt_exploration rrt_three_robots.launch
该功能包改编于GitHub上的开源项目rrt_exploration,笔者已在ROS melodic下跑通(采用三台turtlebot3机器人测试),整体来看,该项目中所使用的RRT算法扩展性与稳定性较好,在计算机算力允许的范围内,能够扩展至更多的机器人数量。
要在ROS melodic上成功运行该功能包并非一件容易的事,笔者花费了1周时间才将其从kinetic成功移植到melodic中,所需依赖如下:
- 地图融合:m-explore
- 探索插件:frontier_exploration
- 机器人模型:turtlebot3
- turtlebot3_msgs
- Python库:OpenCV、Numpy、Sklearn
$ sudo apt-get install python-opencv
$ sudo apt-get install python-numpy
$ sudo apt-get install python-scikits-learn
- 仿真:
$ roslaunch multi_rrt_exploration rrt_three_robots.launch
- 实物(导航):
master: roscore
robot_0: export ROS_NAMESPACE=robot_0
robot_0: roslaunch rikirobot lidar_slam_multi.launch tf_prefix:=robot_0
robot_1: export ROS_NAMESPACE=robot_1
robot_1: roslaunch robot_navigation robot_slam_laser_multi.launch tf_prefix:=robot_1
master: roslaunch multirobot_test robots_merge.launch
- 实物(探索):
master: roslaunch multirobot_test robots_merge.launch
robot_: export ROS_NAMESPACE=robot_
robot_: roslaunch rikirobot lidar_slam_multi.launch tf_prefix:=robot_
master: roslaunch explore_lite explore.launch
- robot_: 配置 launch文件中加入 move_base explore_robot_.launch 配置使用公共 /map 话题
- 修改 move_base global_costmap_params.yaml 、local_costmap_params.yaml中坐标系