Class PlannerInterface
Defined in File PlannerInterface.hpp
Inheritance Relationships
Derived Type
public plansys2::PlannerClient(Class PlannerClient)
Class Documentation
-
class PlannerInterface
Interface for planning components that generate action plans from PDDL domains and problems.
This abstract class defines the interface that planning components must implement to generate plans from PDDL domain and problem definitions. Concrete implementations will typically use external planning systems to solve the planning problem.
Subclassed by plansys2::PlannerClient
Public Functions
-
inline PlannerInterface()
Default constructor.
-
virtual std::optional<plansys2_msgs::msg::Plan> getPlan(const std::string &domain, const std::string &problem, const std::string &node_namespace) = 0
Generate a single plan for a PDDL planning problem.
- Parameters:
domain – [in] PDDL domain definition as a string.
problem – [in] PDDL problem definition as a string.
node_namespace – [in] Namespace used for organizing temporary files and resources.
- Returns:
std::optional<plansys2_msgs::msg::Plan> Plan message containing the plan if found, std::nullopt if no plan could be generated.
-
virtual plansys2_msgs::msg::PlanArray getPlanArray(const std::string &domain, const std::string &problem, const std::string &node_namespace) = 0
Generate multiple alternative plans for a PDDL planning problem.
- Parameters:
domain – [in] PDDL domain definition as a string.
problem – [in] PDDL problem definition as a string.
node_namespace – [in] Namespace used for organizing temporary files and resources.
- Returns:
A message containing an array of plans found for the problem.
-
inline PlannerInterface()