|
Package Summary
Tags | No category tags. |
Version | 2.0.11 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/PlanSys2/ros2_planning_system.git |
VCS Type | git |
VCS Version | iron-devel |
Last Updated | 2023-08-02 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Francisco Martin Rico
Authors
Problem Expert
The Problem Expert module is responsible for maintaining the instances, predicates and goals of the PDDL problem.
The main class is plansys2::ProblemExpertNode
, which is instantiated from ProblemExpertNode.cpp
. plansys2::ProblemExpertNode
is a rclcpp_lifecycle::LifecycleNode
, but currently the functionality is in the active phase.
The class responsible for maintaining this problem instance is plansys2::ProblemExpert
, which is independent of ROS2.
The Problem Expert is dynamic and volatile, accessing its functionality through ROS2 services. To facilitate the task of the application developer, an plansys2::ProblemExpertClient
class has been implemented that hides the complexity of handling ROS2 messages and services. Its API is similar to that of plansys2::ProblemExpert
, since both have to implement the plansys2::ProblemExpertInterface
interface.
The Problem Expert instantiates a plansys2::DomainExpertClient
, and every update query is verified against domain to check if it is valid.
Every update in the Problem, is notified publishing a std_msgs::msg::Empty
in /problem_expert/update_notify
. It helps other modules and applications to be aware of updates, being not necessary to do polling to check it.
Services
-
/problem_expert/add_problem_function
[plansys2_msgs::srv::AffectNode
] -
/problem_expert/add_problem_goal
[plansys2_msgs::srv::AddProblemGoal
] -
/problem_expert/add_problem_instance
[plansys2_msgs::srv::AffectParam
] -
/problem_expert/add_problem_predicate
[plansys2_msgs::srv::AffectNode
] -
/problem_expert/clear_problem_knowledge
[plansys2_msgs::srv::ClearProblemKnowledge
] -
/problem_expert/exist_problem_function
[plansys2_msgs::srv::ExistNode
] -
/problem_expert/exist_problem_predicate
[plansys2_msgs::srv::ExistNode
] -
/problem_expert/get_problem
[plansys2_msgs::srv::GetProblem
] -
/problem_expert/get_problem_function
[plansys2_msgs::srv::GetNodeDetails
] -
/problem_expert/get_problem_functions
[plansys2_msgs::srv::GetStates
] -
/problem_expert/get_problem_goal
[plansys2_msgs::srv::GetProblemGoal
] -
/problem_expert/get_problem_instance
[plansys2_msgs::srv::GetProblemInstanceDetails
] -
/problem_expert/get_problem_instances
[plansys2_msgs::srv::GetProblemInstances
] -
/problem_expert/get_problem_predicate
[plansys2_msgs::srv::GetNodeDetails
] -
/problem_expert/get_problem_predicates
[plansys2_msgs::srv::GetStates
] -
/problem_expert/is_problem_goal_satisfied
[plansys2_msgs::srv::IsProblemGoalSatisfied
] -
/problem_expert/remove_problem_function
[plansys2_msgs::srv::AffectNode
] -
/problem_expert/remove_problem_goal
[plansys2_msgs::srv::RemoveProblemGoal
] -
/problem_expert/remove_problem_instance
[plansys2_msgs::srv::AffectParam
] -
/problem_expert/remove_problem_predicate
[plansys2_msgs::srv::AffectNode
] -
/problem_expert/update_problem_function
[plansys2_msgs::srv::AffectNode
]
Published topics
-
/problem_expert/update_notify
[std_msgs::msg::Empty
]
Changelog for package plansys2_problem_expert
2.0.11 (2023-08-02)
2.0.10 (2023-07-17)
- Merge remote-tracking branch \'origin/humble-devel\'
- Merge pull request #238 from roveri-marco/fix_goal_structure_issue_205 Fix goal structure issue 205
- Merge remote-tracking branch \'origin/master\' into fix_goal_structure_issue_205
- Minor changes to the tests to comply with some change in the generated output
- Fixed some errors and some tests to comply with the revised output
- Merge branch \'master\' into bt-builder-plugins
- Merge pull request #242 from PlanSys2/duplicate_instances Duplicate instances
- Fix typo
- Check instance types and associated tests
- Merge pull request #235 from MostafaGomaa/problem_expert/Fix_InvalidInstance [problem_expert] AddInstance successeeds if instance already exists
- Merge remote-tracking branch \'origin/master\' into fix_goal_structure_issue_205
- Fixed support for the complex goal parsing both from the terminal and from file
- [problem_expert] AddInstance successeeds if instance already exists
- Merge remote-tracking branch \'upstream/master\'
- Contributors: Francisco Mart