Skip to content

Use PDDL to plan for a sequence of actions to execute

Notifications You must be signed in to change notification settings

aled96/task_planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Planner

Use PDDL to plan for a sequence of actions to execute. The implementation allows to create a ROS server that instantiate a PDDL problem and allows to solve it.

The definition of the problem can be fully customized by configuration file (config/task_planner_params.yaml) so that it can be changed, also online according to the problem and requirements.

Furthermore, functions are available to set initial state and goal state in order to change the planning conditions online based on the real state and desired task.

Dependencies

Congifuration File

The configuration file enables to define all the elements PDDL's problem.

In more detail:

  • Types: List of object Types custom defined. Put in parenthesis the father. i.e. Tool(Obj)
  • Objects: For each type defined, list the existing objects/elements
  • Fluents:
    • names: list of fluents available
    • type: Currently, only BoolType is available
    • params: list of params types (using the types described before)
  • Actions:
    • names: list of actions available
    • params: list of params types (using the types described before)
    • preconditions: list of fluents with parameters. Here parameters are identified with integers being the indices of the array params. Example: params: [Robot, Obj] precondition: ["grasped(0,1)"]. "~" to be used before the fluent name to specify negation.
    • effect: the definition is the same as preconditions.
  • init_state: list of fluent using as parameter the Objects' names. Example: requires_tool(Nail,Hammer)
  • goal_state: list of fluent using as parameter the Objects' names

NOTE: Each element of: preconditions, effect, init_state, goal_state has to be defined within " ".

Contributor

About

Use PDDL to plan for a sequence of actions to execute

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published