Skip to content
Michael Cashmore edited this page Jul 2, 2014 · 19 revisions

ROSPlan WIKI

About

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

Overview of the ROSPlan framework in a system

The ROSPlan framework performs three major tasks:

representing the environment

ROSPlan requires a symbolic representation of the environment. For this reason, sensor data must be parsed and converted into a symbolic format. This part of ROSPlan is known as the Knowledge-base.

There are already existing tools for this task: RoboEarth DB contains a number of object models; OMPL can be used to generate waypoints and trajectories. At its simplest, the Knowledge-base simply acts as an interface for these tools.

However, it is intended to be extensible, and will feature modules to perform translations into symoblic models for some frequently encountered tasks. For example: 2D and 3D path-finding in real environments, searching for objects, and manipulating objects.

generating a plan

A plan is a sequence of actions that is estimated to achieve a goal. The planner may optionally optimise a provided metric.

Currently ROSPlan uses the temporal planning language PDDL, version 2.1.

dispatching the plan

ROSPlan dispatches actions to possibly many controllers, using the ROS standard actionlib. These controllers form the executor of the plan. The dispatch process is intended to be both flexible and robust.

When the current plan is no longer valid, due to a change in the environment, failed action, or discovery of new information, ROSPlan will reconstruct its model and replan.

Immediate feedback from the executor about action faliure, success, and additional information is taken into account when making this decision. This is the referred to as the short feedback loop.

Sensor data can be continually parsed and passed to ROSPlan. This is used to determine whether the plan will fail sometime in the future, whether further optimisations can be made, or if new goals can be achieved and new actions inserted into the plan.

Clone this wiki locally