-
Notifications
You must be signed in to change notification settings - Fork 158
Home
The ROSPlan framework provides a generic method for task planning in a ROS system. ROSPlan encapsulates both planning and dispatch. It possesses as a simple interface, and already includes interfaces to common ROS libraries.
Get the prerequisites:
(for Indigo)
sudo apt-get install ros-indigo-mongodb-store
(for Hydro)
sudo apt-get install ros-hydro-mongodb-store
Select a catkin workspace or create a new one:
mkdir -p ROSPlan/src
cd ROSPlan/
Get the code:
git clone https://github.com/KCL-Planning/ROSPlan.git src/
Compile everything:
source /opt/ros/hydro/setup.bash
catkin_make -j1
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 simulation:
http://wiki.ros.org/turtlebot_gazebo (indigo)
http://wiki.ros.org/turtlebot_simulator (hydro)
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 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]
...
"ROSPlan: Planning in the Robot Operating System". M. Cashmore, M. Fox, D. Long, D. Magazzeni, B. Ridder, A. Carrera, N. Palomeras, N. Hurtos, M. Carreras. Proceedings of the 25th International Conference on Automated Planning and Scheduling (ICAPS-15). June 2015.