README
Domain Expert
The Domain Expert module is responsible for maintaining the PDDL domain.
The main class is plansys2::DomainExpertNode
, which is instantiated from DomainExpertNode.cpp
. plansys2::DomainExpertNode
is a rclcpp_lifecycle::LifecycleNode
and in its configuration phase reads the model_file
parameter, which contains the .pddl file from which to read the model.
The class responsible for maintaining this domain is plansys2::DomainExpert
, which is independent of ROS2.
The Domain Expert does not change while active, accessing its functionality through ROS2 services. To facilitate the task of the application developer, an plansys2::DomainExpertClient
class has been implemented that hides the complexity of handling ROS2 messages and services. Its API is similar to that of plansys2::DomainExpert
, since both have to implement the plansys2::DomainExpertInterface
interface.
Services:
/domain_expert/get_domain
[plansys2_msgs::srv::GetDomain
]/domain_expert/get_domain_action_details
[plansys2_msgs::srv::GetDomainActionDetails
]/domain_expert/get_domain_actions
[plansys2_msgs::srv::GetDomainActions
]/domain_expert/get_domain_durative_action_details
[plansys2_msgs::srv::GetDomainDurativeActionDetails
]/domain_expert/get_domain_durative_actions
[plansys2_msgs::srv::GetDomainActions
]/domain_expert/get_domain_function_details
[plansys2_msgs::srv::GetNodeDetails
]/domain_expert/get_domain_functions
[plansys2_msgs::srv::GetStates
]/domain_expert/get_domain_predicate_details
[plansys2_msgs::srv::GetNodeDetails
]/domain_expert/get_domain_predicates
[plansys2_msgs::srv::GetStates
]/domain_expert/get_domain_types
[plansys2_msgs::srv::GetDomainTypes
]/domain_expert/get_domain_constants
[plansys2_msgs::srv::GetDomainConstants
]