-
Notifications
You must be signed in to change notification settings - Fork 0
plan_elaboration
sdevin edited this page Aug 25, 2017
·
1 revision
Once a goal received from the Goal Manager, the Plan Elaboration module is in charge of finding a Shared Plan to perform it. To do so, the module is able to call HATP to compute a plan.
For some goal, the computation of a plan by HATP requires the computation of some specific facts by the supervisor. To deal with it, this node contains a system of domains. If you want to integrate a new goal which requires the computation of some specific facts, you should create a new class which inherit from the one in virtual_domain.h. Some examples of how to do it are already implemented and can be found in the "Domains" folder. If there is no need of fact computation for a new goal the node will deal with it thanks to the default domain.
- plan_elaboration/end_plan: to use whenever the current plan is broken (supervisor_msgs/EndPlan)
- /plan_elaboration/plan: current plan of the robot (supervisor_msgs/SharedPlan)
- /goal_manager/goalsList: current goal and list of the pending goals (supervisor_msgs/GoalsList)
- Agents: list of the agents considered for planning (string[])
- nbMaxTry: nb max of time the node tries to get a plan if HATP failure (int)
- toIgnoreFactsForXAgent: list of fact properties to ignore for planning (string[])
- HATP_actions/"HATPActionName": action of the supervisor corresponding the the action "HATPActionName" in HATP (string)
- domains/"domain"/facts: fact properties to consider for planning for the domain "domain" (string[])
- domains/"domain"/method: HATP method to call for planning for the domain "domain" (string)
- domains/"domain"/params: parameters of the HATP method to call for planning for the domain "domain"(string[])