This package is a compilation of the RRT package in a much complete package rather than figuring map merging and other function from other resipotary. This would serve as a self-contained package for the exploration module using simulation for the turtlebot. This is tested on Ubuntu 18.04LTS with ROS Melodic.
credit to hasauino for creating the RRT exploration packages.
RRT Exploration Tutorial package.
The following code is exectuted in ROS Melodic in Ubuntu 18.04 LTS
The following libraries are required to install before proceeding to run the code
$ sudo apt-get install ros-melodic-gmapping
$ sudo apt-get install ros-melodic-navigation
$ sudo apt-get install python-opencv
$ sudo apt-get install python-numpy
$ sudo apt-get install python-scikits-learn
create a new folder called "catkin_explore/src" by executing the following comment:
$ sudo mkdir -p ~/catkin_explore/src
$ cd ~/catkin_explore/src/
$ git clone https://github.com/hikashi/multi-robot-rrt-exploration-melodic.git
$ cd ~/catkin_explore
$ catkin_make
add in the amazon world map by executing the following comments:
$ cd ~/catkin_explore/src
$ git clone https://github.com/aws-robotics/aws-robomaker-small-house-world.git
$ git clone https://github.com/aws-robotics/aws-robomaker-bookstore-world.git
$ cd ~/catkin_explore/
$ catkin_make
The program can be executed using the following comments in three terminal:
Terminal 1
# roscore
Terminal 2
# source ~/catkin_explore/devel/setup.bash
# export TURTLEBOT3_MODEL=waffle_pi
# roslaunch ros_multitb3 single_tb3_house.launch
Terminal 3
# source ~/catkin_explore/devel/setup.bash
# export TURTLEBOT3_MODEL=waffle_pi
# roslaunch rrt_exploration single_tb3_exploration.launch
The program can be executed using the following comments in three terminal:
Terminal 1
# roscore
Terminal 2
# source ~/catkin_explore/devel/setup.bash
# export TURTLEBOT3_MODEL=waffle_pi
# roslaunch ros_multitb3 multi_tb3_house.launch
Terminal 3
# source ~/catkin_explore/devel/setup.bash
# export TURTLEBOT3_MODEL=waffle_pi
# roslaunch rrt_exploration multi_tb3_exploration.launch
The exploration relies on the correct sequence else rendering with no goal for each of the robot.
- Top Left
- Bottom Left
- Bottom Right
- Top Right
- Initial Point Things to note: 5th initial point should be within the known map or preferable close to the robot starting point.
Save the map using the following command:
# rosrun map_server map_saver -f mymap
- the map merging will shift a lot if the slam drifting too severe.
- shifting causing the frontier point remains even after explored.
- sometimes robots will take some time to move to new plan.