Skip to content

The ROSPlan framework provides a generic method for task planning in a ROS system.

License

Notifications You must be signed in to change notification settings

yochan-lab/ROSPlan

 
 

Repository files navigation

ROSPlan Framework

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.

Installation

Get the prerequisites:

(for Indigo)

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

(for Hydro)

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

Select a catkin workspace or create a new one:

mkdir -p ROSPlan/src
cd ROSPlan/

Get the code:

cd src/
git clone https://github.com/clearpathrobotics/occupancy_grid_utils
git clone https://github.com/KCL-Planning/rosplan
# optionally get the turtlebot interface
git clone https://github.com/KCL-Planning/rosplan_interface_turtlebot2

Compile everything:

source /opt/ros/hydro/setup.bash
catkin_make

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 run:

roslaunch rosplan_demos turtlebot.launch
sh src/rosplan_demos/scripts/turtlebot_explore.bash

turtlebot.launch will start the turtlebot simulation, rviz, and ROSPlan.

turtlebot_explore.bash calls a ROSPlan component service to generate a roadmap (you can see in rviz); adds exploration goals; and then calls the planning system service.

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

For more detailed information about this demo, please visit our ROSPlan Wiki Page, and follow tutorial pages on the right.

About

The ROSPlan framework provides a generic method for task planning in a ROS system.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.9%
  • Yacc 2.4%
  • Makefile 0.7%
  • Python 0.4%
  • CMake 0.3%
  • Lex 0.2%
  • Other 0.1%