ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Announcing the "rrt_exploration" package



Dear ROS users,
I’d like to announce the rrt_exploration package. It is a ROS package that implements a multi-robot RRT-based map exploration algorithm. It also has the image-based frontier detection that uses image processing to extract frontier points.

You can use it to make you robot do exploration. It can be used on a single or multiple robots.

Wiki page:
Section 7 of the wiki page is dedicated for tutorials.

Github links:
- The package itself:
- Gazebo simulation files:

Your feedback is appreciated.

Hassan Umari


Hi @hasauino
I install this package and run roslaunch rrt_exploration_tutorials single_simulated_house.launch. But I get the result like below:

The robot does not move. Something I miss ?
I follow the install command here

I hope you could give me an answer, thank you!


Hello echotor,
After ypu run the launch file, you have to define the region in which exploration will take place, and also the starting point for the detectors. This can be done by publushing five points from rviz. The first four define a rectangular region, and the last point is the starting point.

I think its better if you check this tutorial:


OK, I understand what you said. Thanks a lot.


I met this problem when I run roslaunch rrt_exploration single.launch:

process[assigner-4]: started with pid [2735]
  File "/home/wangyawei/RosWorkspace/rrt_exploration_ws/src/rrt_exploration/scripts/", line 67
    for i in range(0,n_robots):
TabError: inconsistent use of tabs and spaces in indentation
[filter-3] process has died [pid 2728, exit code 1, cmd /home/wangyawei/RosWorkspace/rrt_exploration_ws/src/rrt_exploration/scripts/ __name:=filter __log:=/home/wangyawei/.ros/log/c300c286-92ae-11e7-8bc9-f48e38f12209/filter-3.log].
log file: /home/wangyawei/.ros/log/c300c286-92ae-11e7-8bc9-f48e38f12209/filter-3*.log
Traceback (most recent call last):
  File "/home/wangyawei/RosWorkspace/rrt_exploration_ws/src/rrt_exploration/scripts/", line 5, in <module>
    import rospy
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/", line 52, in <module>
    import roslib
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslib/", line 54, in <module>
    import roslib.stacks
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslib/", line 46, in <module>
    import roslib.packages
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslib/", line 49, in <module>
    from catkin.find_in_workspaces import find_in_workspaces as catkin_find
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/catkin/", line 36, in <module>
    from catkin_pkg.packages import find_packages
ModuleNotFoundError: No module named 'catkin_pkg'
[assigner-4] process has died [pid 2735, exit code 1, cmd /home/wangyawei/RosWorkspace/rrt_exploration_ws/src/rrt_exploration/scripts/ __name:=assigner __log:=/home/wangyawei/.ros/log/c300c286-92ae-11e7-8bc9-f48e38f12209/assigner-4.log].
log file: /home/wangyawei/.ros/log/c300c286-92ae-11e7-8bc9-f48e38f12209/assigner-4*.log

The first error I think is source code format problem. I hope you could check the source code.
For the second, I run pip install catkin_pkg but nothing help. And the error still exist. This is my result of install:

wangyawei@wangyawei-pc:~/RosWorkspace/rrt_exploration_ws/src/rrt_exploration$ pip install catkin_pkg
Collecting catkin_pkg
  Downloading catkin_pkg-0.3.6.tar.gz (44kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 51kB 414kB/s 
Collecting argparse (from catkin_pkg)
  Downloading argparse-1.4.0-py2.py3-none-any.whl
Collecting docutils (from catkin_pkg)
  Downloading docutils-0.14-py2-none-any.whl (543kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 552kB 1.3MB/s 
Collecting python-dateutil (from catkin_pkg)
  Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 194kB 541kB/s 
Collecting six>=1.5 (from python-dateutil->catkin_pkg)
  Downloading six-1.10.0-py2.py3-none-any.whl
Building wheels for collected packages: catkin-pkg
  Running bdist_wheel for catkin-pkg ... done
  Stored in directory: /home/wangyawei/.cache/pip/wheels/6c/ae/84/bea62c6c5c4334ceb4306854c5294801305858a1cc021dc219
Successfully built catkin-pkg
Installing collected packages: argparse, docutils, six, python-dateutil, catkin-pkg
Successfully installed argparse-1.2.1 catkin-pkg-0.3.6 docutils-0.14 python-dateutil-1.5 six-1.10.0
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.


@echotor Please reask this as a question on following our Support Guidelines.

We work to keep the general category here on ROS Discourse for announcements and other general interest discussions.

You can link to it from here so others who find this thread will find your question. (If you edit your above post it won’t resend emails to everyone.)


Hello ector,
Can you please ask your question here again so I can answer you:

Please don’t forget to add the tag. The tag is: rrt_exploration


Thanks info. But this problem is due to my error operation. Sorry about that.


Hi Hassan,
thank you for sharing that interesting package. We believe that is is very well packaged and works fine off-the-shelf (at least in our case).
We created this video showing how to install and how to use it from your git links above. We found no problem installing and executing it. We plan to create other videos showing how to apply the package to other robots. We will keep you informed.



@hasauino thanks for sharing. do you have any hints about locations where the corresponding paper can be found? I followed the link for the β€œthesis title” as listed at, but it leads to a page that requires special permissions to get the paper. The URI listed on that page is


Thank you very much, very glad to hear that.


The paper which describes the algorithm is still not published. However, it’s been accepted to be published in IROS 2017 which will be held on 24th Sep.


The paper has been published. It can be found on this link: