The ROSPlan framework provides a generic method for task planning in a ROS system.
C++ Yacc Makefile Python CMake Lex
Pull request Compare This branch is 47 commits ahead, 33 commits behind KCL-Planning:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

ROSPlan Framework

The main ROSPlan website and documentation is available here:

The ROSPlan framework provides a generic method for task planning in a ROS system. ROSPlan encapsulates both planning and dispatch. It possesses a simple interface, and already includes interfaces to common ROS libraries.


Get the prerequisites:

(for Indigo)

sudo apt-get install flex ros-indigo-mongodb-store ros-indigo-tf2-bullet freeglut3-dev

(for Hydro)

sudo apt-get install flex ros-hydro-mongodb-store ros-hydro-tf2-bullet freeglut3-dev

Select a catkin workspace or create a new one:

mkdir -p ROSPlan/src
cd ROSPlan/

Get the code:

cd src/
git clone
git clone
# optionally get the turtlebot interface
git clone

Compile everything:

source /opt/ros/hydro/setup.bash

Running a demo with the turtlebot

The turtlebot demo is now a simple exploration mission. The turtlebot will visit randomly generated waypoints around a map.

The domain for this demo is in the rosplan_planning_system package, as common/domain.pddl.

To run the demo first follow the installation instructions and quick-start guide for the Turtlebot Simulator and Gazebo:

Turtlebot Gazebo

Turtlebot Simulator

Then source the ROSPlan workspace and follow the "Getting Started" guide on our ROSPlan Wiki Page.

The turtlebot will move around the waypoints, exploring the environment. You should see output from the planning system, something like:

KCL: (PS) Dispatching plan
KCL: (PS) Dispatching action [0, goto_waypoint, 10.024417, 10.000000]
KCL: (MoveBase) action recieved
KCL: (PS) Feedback received [0,action enabled]
KCL: (MoveBase) action finished: SUCCEEDED
KCL: (PS) Feedback received [0,action achieved]

Turtlebot Demo

Related repositories:

Automatic localisation and docking action interfaces with the Turtlebot 2 (Kobuki base)

Integration with the Component Oriented Layered-base Architecture for Autonomy (COLA2). Developed in the Research Center of Underwater Robotics (CIRS) in the University of Girona (UdG). This architecture is used to control the Autonomous Underwater Vehicles (AUVs) developed in this center. (

Action interfaces for piloting a quadrotor from Jindrich Vodrazka, (takeoff, land, fly_square, and fly_waypoint).