![]() |
plansys2_problem_expert package from ros2_planning_system repoplansys2_bringup plansys2_bt_actions plansys2_core plansys2_domain_expert plansys2_executor plansys2_lifecycle_manager plansys2_msgs plansys2_pddl_parser plansys2_planner plansys2_popf_plan_solver plansys2_problem_expert plansys2_terminal plansys2_tests plansys2_tools |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.9 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | This repo contains a PDDL-based planning system for ROS2. |
Checkout URI | https://github.com/IntelligentRoboticsLabs/ros2_planning_system.git |
VCS Type | git |
VCS Version | humble-devel |
Last Updated | 2024-11-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
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.9 (2022-07-10)
- Humble Upgrade
- Fix possible bug https://github.com/ros2/rclcpp/issues/1968
- Contributors: Francisco Martín Rico
2.0.8 (2022-05-04)
2.0.7 (2022-05-04)
2.0.6 (2022-05-03)
2.0.5 (2022-05-03)
- Fix ROS2 Buildfarm error due to Threads
- Contributors: Francisco Martín Rico, Jake Keller
2.0.4 (2022-05-03)
- Fix version
- Fix ROS2 Buildfarm error due to Threads
- Merge branch 'IntelligentRoboticsLabs:master' into master
- Contributors: Francisco Martín Rico, Jake Keller
2.0.3 (2022-04-03)
- Fix conflicts
- Qt5 dependencies
- Contributors: Francisco Martín Rico
2.0.2 (2022-04-03)
- Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
- set_decimal_precision: Use std::setprecision to avoid incompatible scientific notation.
- [problem_expert] clearGoal on clearing knowledge
- [problem_expert] test constants parsing as part of problem
- [problem_expert] add constants as instances while parsing problem.pddl
- Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa
2.0.1 (2022-02-03)
- Update deprecated APIs in launchers and parameters
- get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
- Update launcher param names
- remove-invalid-goals: Removing invalid goals when instances are removed. Keep track of update time in problem expert.
- Merge galactic-devel
- Contributors: Francisco Martín Rico, Josh Zapf
2.0.0 (2021-07-04)
- Compile for ROS2 Galactic
- Contributors: Francisco Martín Rico, Jonatan Olofsson
1.0.10 (2021-07-03)
- Remove node parameter in client constructors
- Adding comments specifying how the syntax is wrong in unexpected_syntax problem file.
- Adding unit tests for new functions in plansys2_problem_expert.
- Add ability to read in pddl problem files to plansys2 and a new AddProblem service to the plansys2_problem_expert. Adding problem_file node parameter to plansys2_problem_expert to load a single problem file at launch.
- ros2-plan-msg: Adding functions to plansys2_msgs/Knowledge message.
- pddl-tree-messages: Deleting unused function declarations. Adding explicit specifier to single param constructors in plansys2_core/Types.hpp.
- Suggestion for #118
- pddl-tree-messages: Extending action string parsing utilities in plansys2_problem_expert/Utils.cpp.
- pddl-tree-messages: Performing some minor cleanup.
- pddl-tree-messages: Using explicit specifier for single parameter constructors in plansys2_core/Types.hpp.
- pddl-tree-messages: Replacing user access function calls with shorter versions where possible.
- pddl-tree-messages: Adding user access functions to domain expert client.
- pddl-tree-messages: Adding goal user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Using helper functions in problem expert client to handle user interactions.
- pddl-tree-messages: Updating getInstance and getInstances calls to use helper classes.
- pddl-tree-messages: Updating addInstance and removeInstance calls to use helper classes.
- pddl-tree-messages: Replacing hard coded node equality check with function call.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plansys2_problem_expert at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 2.0.18 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | This repo contains a PDDL-based planning system for ROS2. |
Checkout URI | https://github.com/PlanSys2/ros2_planning_system.git |
VCS Type | git |
VCS Version | jazzy-devel |
Last Updated | 2025-02-05 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
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.18 (2024-12-30)
2.0.17 (2024-12-30)
2.0.16 (2024-12-30)
2.0.15 (2024-12-03)
2.0.14 (2024-11-14)
2.0.13 (2024-11-06)
- Change to EventsExecutor
- Contributors: Francisco Martín Rico
2.0.12 (2024-10-16)
- evaluate exists use_state==false
- evaluate exsits w/ problem_client
- add replace_children_param
- return derived predicates in getPredicates
- add cart_produdct and replace_children_param
- fix bug in ParamExpression getTree
- support for ParamExpression and ConstExpression
- add test for negated comp expression
- negate evaluation of comp expression
- add test problem_expert.exist_precidate
- in existPredicate check if derived predicate is satisfied
- Fixed support for constants in predicates/functions/goals
- Make problemExpert case-insensitive to Instance types
- Use separate problem pddl for problem expert.
- 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
- Fixed support for the complex goal parsing both from the terminal and from file
- Minor changes to the tests to comply with some change in the generated output
- Check instance types and associated tests
- Fixed support for the complex goal parsing both from the terminal and from file
- Contributors: Ashton Larkin, Francisco Martín Rico, Gustavo, Josh Zapf, Marco Roveri, Mostafa Gomaa, Splinter1984, adfea625
2.0.9 (2022-07-10)
- Humble Upgrade
- Fix possible bug https://github.com/ros2/rclcpp/issues/1968
- Contributors: Francisco Martín Rico
2.0.8 (2022-05-04)
2.0.7 (2022-05-04)
2.0.6 (2022-05-03)
2.0.5 (2022-05-03)
- Fix ROS2 Buildfarm error due to Threads
- Contributors: Francisco Martín Rico, Jake Keller
2.0.4 (2022-05-03)
- Fix version
- Fix ROS2 Buildfarm error due to Threads
- Merge branch 'IntelligentRoboticsLabs:master' into master
- Contributors: Francisco Martín Rico, Jake Keller
2.0.3 (2022-04-03)
- Fix conflicts
- Qt5 dependencies
- Contributors: Francisco Martín Rico
2.0.2 (2022-04-03)
- Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
- set_decimal_precision: Use std::setprecision to avoid incompatible scientific notation.
- [problem_expert] clearGoal on clearing knowledge
- [problem_expert] test constants parsing as part of problem
- [problem_expert] add constants as instances while parsing problem.pddl
- Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa
2.0.1 (2022-02-03)
- Update deprecated APIs in launchers and parameters
- get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
- Update launcher param names
- remove-invalid-goals: Removing invalid goals when instances are removed. Keep track of update time in problem expert.
- Merge galactic-devel
- Contributors: Francisco Martín Rico, Josh Zapf
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plansys2_problem_expert at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 3.0.1 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | This repo contains a PDDL-based planning system for ROS2. |
Checkout URI | https://github.com/PlanSys2/ros2_planning_system.git |
VCS Type | git |
VCS Version | kilted-devel |
Last Updated | 2025-06-22 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
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
3.0.1 (2025-06-22)
3.0.0 (2025-06-06)
- Remove unnecessary depends
- Revamp CMake and clean unused headers
- Update install
- Remove unused dependencies
- Update CMakeLists to manage dependencies more efficiently in various packages.
- Update CI adding BT.CPP as source dependecy
- Fix deprecation of ament_target_dependencies
- Multiple plans and replanning stability
- Linting and fixing tests
- Add getProblemWithTimestamp to Problem Expert
- Replanning
- Adaptation of the rest of the packages
- Add chached getDomain() and getProblem()
- Add chached getDomain()
- Change to EventsExecutor
- 🎨 linter for plansys2_pddl_parser
- Add support for ParamExpression and ConstExpression
- Support for existential preconditions
- evaluate exists use_state==false
- fix code style
- evaluate exsits w/ problem_client
- add replace_children_param
- Support negation of CompositeExpression
- Add support for derived predicates
- return derived predicates in getPredicates
- add cart_produdct and replace_children_param
- fix bug in ParamExpression getTree
- support for ParamExpression and ConstExpression
- add test for negated comp expression
- negate evaluation of comp expression
- add test problem_expert.exist_precidate
- in existPredicate check if derived predicate is satisfied
- Fix to have constants and numeric fluents in the goal
- Fix CI after BT-CPP v4
- Remove cmake warning
- Fixed support for constants in predicates/functions/goals more fixes
- Fixed support for constants in predicates/functions/goals
- Use separate problem pddl for problem expert.
- Make problemExpert case-insensitive to Instance types
- Use separate problem pddl for problem expert.
- 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
- Duplicate instances
- Check instance types and associated tests
- [problem_expert] AddInstance successeeds if instance already exists
- Fixed support for the complex goal parsing both from the terminal and from file
- [problem_expert] AddInstance successeeds if instance already exists
- Contributors: Alberto Tudela, Ashton Larkin, Francisco Martín Rico, Gustavo, Josh Zapf, Marco Roveri, Mostafa Gomaa, Splinter1984, adfea625
2.0.9 (2022-07-10)
- Humble Upgrade
- Fix possible bug https://github.com/ros2/rclcpp/issues/1968
- Contributors: Francisco Martín Rico
2.0.8 (2022-05-04)
2.0.7 (2022-05-04)
2.0.6 (2022-05-03)
2.0.5 (2022-05-03)
- Fix ROS2 Buildfarm error due to Threads
- Contributors: Francisco Martín Rico, Jake Keller
2.0.4 (2022-05-03)
- Fix version
- Fix ROS2 Buildfarm error due to Threads
- Merge branch 'IntelligentRoboticsLabs:master' into master
- Contributors: Francisco Martín Rico, Jake Keller
2.0.3 (2022-04-03)
- Fix conflicts
- Qt5 dependencies
- Contributors: Francisco Martín Rico
2.0.2 (2022-04-03)
- Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
- set_decimal_precision: Use std::setprecision to avoid incompatible scientific notation.
- [problem_expert] clearGoal on clearing knowledge
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_common | |
ament_lint_auto | |
ament_cmake_gtest | |
rclcpp | |
rclcpp_lifecycle | |
ament_index_cpp | |
plansys2_pddl_parser | |
plansys2_msgs | |
plansys2_domain_expert | |
std_msgs | |
lifecycle_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plansys2_problem_expert at Robotics Stack Exchange
![]() |
plansys2_problem_expert package from ros2_planning_system repoplansys2_bringup plansys2_bt_actions plansys2_core plansys2_domain_expert plansys2_executor plansys2_lifecycle_manager plansys2_msgs plansys2_pddl_parser plansys2_planner plansys2_popf_plan_solver plansys2_problem_expert plansys2_terminal plansys2_tests plansys2_tools |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.9 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | This repo contains a PDDL-based planning system for ROS2. |
Checkout URI | https://github.com/IntelligentRoboticsLabs/ros2_planning_system.git |
VCS Type | git |
VCS Version | humble-devel |
Last Updated | 2024-11-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
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.9 (2022-07-10)
- Humble Upgrade
- Fix possible bug https://github.com/ros2/rclcpp/issues/1968
- Contributors: Francisco Martín Rico
2.0.8 (2022-05-04)
2.0.7 (2022-05-04)
2.0.6 (2022-05-03)
2.0.5 (2022-05-03)
- Fix ROS2 Buildfarm error due to Threads
- Contributors: Francisco Martín Rico, Jake Keller
2.0.4 (2022-05-03)
- Fix version
- Fix ROS2 Buildfarm error due to Threads
- Merge branch 'IntelligentRoboticsLabs:master' into master
- Contributors: Francisco Martín Rico, Jake Keller
2.0.3 (2022-04-03)
- Fix conflicts
- Qt5 dependencies
- Contributors: Francisco Martín Rico
2.0.2 (2022-04-03)
- Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
- set_decimal_precision: Use std::setprecision to avoid incompatible scientific notation.
- [problem_expert] clearGoal on clearing knowledge
- [problem_expert] test constants parsing as part of problem
- [problem_expert] add constants as instances while parsing problem.pddl
- Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa
2.0.1 (2022-02-03)
- Update deprecated APIs in launchers and parameters
- get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
- Update launcher param names
- remove-invalid-goals: Removing invalid goals when instances are removed. Keep track of update time in problem expert.
- Merge galactic-devel
- Contributors: Francisco Martín Rico, Josh Zapf
2.0.0 (2021-07-04)
- Compile for ROS2 Galactic
- Contributors: Francisco Martín Rico, Jonatan Olofsson
1.0.10 (2021-07-03)
- Remove node parameter in client constructors
- Adding comments specifying how the syntax is wrong in unexpected_syntax problem file.
- Adding unit tests for new functions in plansys2_problem_expert.
- Add ability to read in pddl problem files to plansys2 and a new AddProblem service to the plansys2_problem_expert. Adding problem_file node parameter to plansys2_problem_expert to load a single problem file at launch.
- ros2-plan-msg: Adding functions to plansys2_msgs/Knowledge message.
- pddl-tree-messages: Deleting unused function declarations. Adding explicit specifier to single param constructors in plansys2_core/Types.hpp.
- Suggestion for #118
- pddl-tree-messages: Extending action string parsing utilities in plansys2_problem_expert/Utils.cpp.
- pddl-tree-messages: Performing some minor cleanup.
- pddl-tree-messages: Using explicit specifier for single parameter constructors in plansys2_core/Types.hpp.
- pddl-tree-messages: Replacing user access function calls with shorter versions where possible.
- pddl-tree-messages: Adding user access functions to domain expert client.
- pddl-tree-messages: Adding goal user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Using helper functions in problem expert client to handle user interactions.
- pddl-tree-messages: Updating getInstance and getInstances calls to use helper classes.
- pddl-tree-messages: Updating addInstance and removeInstance calls to use helper classes.
- pddl-tree-messages: Replacing hard coded node equality check with function call.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plansys2_problem_expert at Robotics Stack Exchange
![]() |
plansys2_problem_expert package from ros2_planning_system repoplansys2_bringup plansys2_bt_actions plansys2_core plansys2_domain_expert plansys2_executor plansys2_lifecycle_manager plansys2_msgs plansys2_pddl_parser plansys2_planner plansys2_popf_plan_solver plansys2_problem_expert plansys2_terminal plansys2_tests plansys2_tools |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.9 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | This repo contains a PDDL-based planning system for ROS2. |
Checkout URI | https://github.com/IntelligentRoboticsLabs/ros2_planning_system.git |
VCS Type | git |
VCS Version | humble-devel |
Last Updated | 2024-11-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
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.9 (2022-07-10)
- Humble Upgrade
- Fix possible bug https://github.com/ros2/rclcpp/issues/1968
- Contributors: Francisco Martín Rico
2.0.8 (2022-05-04)
2.0.7 (2022-05-04)
2.0.6 (2022-05-03)
2.0.5 (2022-05-03)
- Fix ROS2 Buildfarm error due to Threads
- Contributors: Francisco Martín Rico, Jake Keller
2.0.4 (2022-05-03)
- Fix version
- Fix ROS2 Buildfarm error due to Threads
- Merge branch 'IntelligentRoboticsLabs:master' into master
- Contributors: Francisco Martín Rico, Jake Keller
2.0.3 (2022-04-03)
- Fix conflicts
- Qt5 dependencies
- Contributors: Francisco Martín Rico
2.0.2 (2022-04-03)
- Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
- set_decimal_precision: Use std::setprecision to avoid incompatible scientific notation.
- [problem_expert] clearGoal on clearing knowledge
- [problem_expert] test constants parsing as part of problem
- [problem_expert] add constants as instances while parsing problem.pddl
- Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa
2.0.1 (2022-02-03)
- Update deprecated APIs in launchers and parameters
- get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
- Update launcher param names
- remove-invalid-goals: Removing invalid goals when instances are removed. Keep track of update time in problem expert.
- Merge galactic-devel
- Contributors: Francisco Martín Rico, Josh Zapf
2.0.0 (2021-07-04)
- Compile for ROS2 Galactic
- Contributors: Francisco Martín Rico, Jonatan Olofsson
1.0.10 (2021-07-03)
- Remove node parameter in client constructors
- Adding comments specifying how the syntax is wrong in unexpected_syntax problem file.
- Adding unit tests for new functions in plansys2_problem_expert.
- Add ability to read in pddl problem files to plansys2 and a new AddProblem service to the plansys2_problem_expert. Adding problem_file node parameter to plansys2_problem_expert to load a single problem file at launch.
- ros2-plan-msg: Adding functions to plansys2_msgs/Knowledge message.
- pddl-tree-messages: Deleting unused function declarations. Adding explicit specifier to single param constructors in plansys2_core/Types.hpp.
- Suggestion for #118
- pddl-tree-messages: Extending action string parsing utilities in plansys2_problem_expert/Utils.cpp.
- pddl-tree-messages: Performing some minor cleanup.
- pddl-tree-messages: Using explicit specifier for single parameter constructors in plansys2_core/Types.hpp.
- pddl-tree-messages: Replacing user access function calls with shorter versions where possible.
- pddl-tree-messages: Adding user access functions to domain expert client.
- pddl-tree-messages: Adding goal user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Using helper functions in problem expert client to handle user interactions.
- pddl-tree-messages: Updating getInstance and getInstances calls to use helper classes.
- pddl-tree-messages: Updating addInstance and removeInstance calls to use helper classes.
- pddl-tree-messages: Replacing hard coded node equality check with function call.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plansys2_problem_expert at Robotics Stack Exchange
![]() |
plansys2_problem_expert package from ros2_planning_system repoplansys2_bringup plansys2_bt_actions plansys2_core plansys2_domain_expert plansys2_executor plansys2_lifecycle_manager plansys2_msgs plansys2_pddl_parser plansys2_planner plansys2_popf_plan_solver plansys2_problem_expert plansys2_terminal plansys2_tests plansys2_tools |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.8 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | This repo contains a PDDL-based planning system for ROS2. |
Checkout URI | https://github.com/IntelligentRoboticsLabs/ros2_planning_system.git |
VCS Type | git |
VCS Version | galactic-devel |
Last Updated | 2024-11-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
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.8 (2022-05-04)
2.0.7 (2022-05-04)
2.0.6 (2022-05-03)
2.0.5 (2022-05-03)
- Fix ROS2 Buildfarm error due to Threads
- Contributors: Francisco Martín Rico, Jake Keller
2.0.4 (2022-05-03)
- Fix version
- Fix ROS2 Buildfarm error due to Threads
- Merge branch 'IntelligentRoboticsLabs:master' into master
- Contributors: Francisco Martín Rico, Jake Keller
2.0.3 (2022-04-03)
- Fix conflicts
- Qt5 dependencies
- Contributors: Francisco Martín Rico
2.0.2 (2022-04-03)
- Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
- set_decimal_precision: Use std::setprecision to avoid incompatible scientific notation.
- [problem_expert] clearGoal on clearing knowledge
- [problem_expert] test constants parsing as part of problem
- [problem_expert] add constants as instances while parsing problem.pddl
- Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa
2.0.1 (2022-02-03)
- Update deprecated APIs in launchers and parameters
- get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
- Update launcher param names
- remove-invalid-goals: Removing invalid goals when instances are removed. Keep track of update time in problem expert.
- Merge galactic-devel
- Contributors: Francisco Martín Rico, Josh Zapf
2.0.0 (2021-07-04)
- Compile for ROS2 Galactic
- Contributors: Francisco Martín Rico, Jonatan Olofsson
1.0.10 (2021-07-03)
- Remove node parameter in client constructors
- Adding comments specifying how the syntax is wrong in unexpected_syntax problem file.
- Adding unit tests for new functions in plansys2_problem_expert.
- Add ability to read in pddl problem files to plansys2 and a new AddProblem service to the plansys2_problem_expert. Adding problem_file node parameter to plansys2_problem_expert to load a single problem file at launch.
- ros2-plan-msg: Adding functions to plansys2_msgs/Knowledge message.
- pddl-tree-messages: Deleting unused function declarations. Adding explicit specifier to single param constructors in plansys2_core/Types.hpp.
- Suggestion for #118
- pddl-tree-messages: Extending action string parsing utilities in plansys2_problem_expert/Utils.cpp.
- pddl-tree-messages: Performing some minor cleanup.
- pddl-tree-messages: Using explicit specifier for single parameter constructors in plansys2_core/Types.hpp.
- pddl-tree-messages: Replacing user access function calls with shorter versions where possible.
- pddl-tree-messages: Adding user access functions to domain expert client.
- pddl-tree-messages: Adding goal user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Using helper functions in problem expert client to handle user interactions.
- pddl-tree-messages: Updating getInstance and getInstances calls to use helper classes.
- pddl-tree-messages: Updating addInstance and removeInstance calls to use helper classes.
- pddl-tree-messages: Replacing hard coded node equality check with function call.
- pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
- Adding support for PDDL addition and subtraction expressions. Courtesy of \@jjzapf
- Update version
- Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plansys2_problem_expert at Robotics Stack Exchange
![]() |
plansys2_problem_expert package from ros2_planning_system repoplansys2_bringup plansys2_bt_actions plansys2_core plansys2_domain_expert plansys2_executor plansys2_lifecycle_manager plansys2_msgs plansys2_pddl_parser plansys2_planner plansys2_popf_plan_solver plansys2_problem_expert plansys2_terminal plansys2_tests plansys2_tools |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.11 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | This repo contains a PDDL-based planning system for ROS2. |
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 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
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ín Rico, Marco Roveri, Mostafa Gomaa, Splinter1984
2.0.9 (2022-07-10)
- Humble Upgrade
- Fix possible bug https://github.com/ros2/rclcpp/issues/1968
- Contributors: Francisco Martín Rico
2.0.8 (2022-05-04)
2.0.7 (2022-05-04)
2.0.6 (2022-05-03)
2.0.5 (2022-05-03)
- Fix ROS2 Buildfarm error due to Threads
- Contributors: Francisco Martín Rico, Jake Keller
2.0.4 (2022-05-03)
- Fix version
- Fix ROS2 Buildfarm error due to Threads
- Merge branch 'IntelligentRoboticsLabs:master' into master
- Contributors: Francisco Martín Rico, Jake Keller
2.0.3 (2022-04-03)
- Fix conflicts
- Qt5 dependencies
- Contributors: Francisco Martín Rico
2.0.2 (2022-04-03)
- Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
- set_decimal_precision: Use std::setprecision to avoid incompatible scientific notation.
- [problem_expert] clearGoal on clearing knowledge
- [problem_expert] test constants parsing as part of problem
- [problem_expert] add constants as instances while parsing problem.pddl
- Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa
2.0.1 (2022-02-03)
- Update deprecated APIs in launchers and parameters
- get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
- Update launcher param names
- remove-invalid-goals: Removing invalid goals when instances are removed. Keep track of update time in problem expert.
- Merge galactic-devel
- Contributors: Francisco Martín Rico, Josh Zapf
2.0.0 (2021-07-04)
- Compile for ROS2 Galactic
- Contributors: Francisco Martín Rico, Jonatan Olofsson
1.0.10 (2021-07-03)
- Remove node parameter in client constructors
- Adding comments specifying how the syntax is wrong in
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plansys2_problem_expert at Robotics Stack Exchange
![]() |
plansys2_problem_expert package from ros2_planning_system repoplansys2_bringup plansys2_bt_actions plansys2_core plansys2_domain_expert plansys2_executor plansys2_lifecycle_manager plansys2_msgs plansys2_pddl_parser plansys2_planner plansys2_popf_plan_solver plansys2_problem_expert plansys2_terminal plansys2_tests plansys2_tools |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.9 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | This repo contains a PDDL-based planning system for ROS2. |
Checkout URI | https://github.com/IntelligentRoboticsLabs/ros2_planning_system.git |
VCS Type | git |
VCS Version | humble-devel |
Last Updated | 2024-11-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
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.9 (2022-07-10)
- Humble Upgrade
- Fix possible bug https://github.com/ros2/rclcpp/issues/1968
- Contributors: Francisco Martín Rico
2.0.8 (2022-05-04)
2.0.7 (2022-05-04)
2.0.6 (2022-05-03)
2.0.5 (2022-05-03)
- Fix ROS2 Buildfarm error due to Threads
- Contributors: Francisco Martín Rico, Jake Keller
2.0.4 (2022-05-03)
- Fix version
- Fix ROS2 Buildfarm error due to Threads
- Merge branch 'IntelligentRoboticsLabs:master' into master
- Contributors: Francisco Martín Rico, Jake Keller
2.0.3 (2022-04-03)
- Fix conflicts
- Qt5 dependencies
- Contributors: Francisco Martín Rico
2.0.2 (2022-04-03)
- Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
- set_decimal_precision: Use std::setprecision to avoid incompatible scientific notation.
- [problem_expert] clearGoal on clearing knowledge
- [problem_expert] test constants parsing as part of problem
- [problem_expert] add constants as instances while parsing problem.pddl
- Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa
2.0.1 (2022-02-03)
- Update deprecated APIs in launchers and parameters
- get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
- Update launcher param names
- remove-invalid-goals: Removing invalid goals when instances are removed. Keep track of update time in problem expert.
- Merge galactic-devel
- Contributors: Francisco Martín Rico, Josh Zapf
2.0.0 (2021-07-04)
- Compile for ROS2 Galactic
- Contributors: Francisco Martín Rico, Jonatan Olofsson
1.0.10 (2021-07-03)
- Remove node parameter in client constructors
- Adding comments specifying how the syntax is wrong in unexpected_syntax problem file.
- Adding unit tests for new functions in plansys2_problem_expert.
- Add ability to read in pddl problem files to plansys2 and a new AddProblem service to the plansys2_problem_expert. Adding problem_file node parameter to plansys2_problem_expert to load a single problem file at launch.
- ros2-plan-msg: Adding functions to plansys2_msgs/Knowledge message.
- pddl-tree-messages: Deleting unused function declarations. Adding explicit specifier to single param constructors in plansys2_core/Types.hpp.
- Suggestion for #118
- pddl-tree-messages: Extending action string parsing utilities in plansys2_problem_expert/Utils.cpp.
- pddl-tree-messages: Performing some minor cleanup.
- pddl-tree-messages: Using explicit specifier for single parameter constructors in plansys2_core/Types.hpp.
- pddl-tree-messages: Replacing user access function calls with shorter versions where possible.
- pddl-tree-messages: Adding user access functions to domain expert client.
- pddl-tree-messages: Adding goal user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Using helper functions in problem expert client to handle user interactions.
- pddl-tree-messages: Updating getInstance and getInstances calls to use helper classes.
- pddl-tree-messages: Updating addInstance and removeInstance calls to use helper classes.
- pddl-tree-messages: Replacing hard coded node equality check with function call.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plansys2_problem_expert at Robotics Stack Exchange
![]() |
plansys2_problem_expert package from ros2_planning_system repoplansys2_bringup plansys2_bt_actions plansys2_core plansys2_domain_expert plansys2_executor plansys2_lifecycle_manager plansys2_msgs plansys2_pddl_parser plansys2_planner plansys2_popf_plan_solver plansys2_problem_expert plansys2_terminal plansys2_tests plansys2_tools |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.9 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | This repo contains a PDDL-based planning system for ROS2. |
Checkout URI | https://github.com/IntelligentRoboticsLabs/ros2_planning_system.git |
VCS Type | git |
VCS Version | humble-devel |
Last Updated | 2024-11-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
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.9 (2022-07-10)
- Humble Upgrade
- Fix possible bug https://github.com/ros2/rclcpp/issues/1968
- Contributors: Francisco Martín Rico
2.0.8 (2022-05-04)
2.0.7 (2022-05-04)
2.0.6 (2022-05-03)
2.0.5 (2022-05-03)
- Fix ROS2 Buildfarm error due to Threads
- Contributors: Francisco Martín Rico, Jake Keller
2.0.4 (2022-05-03)
- Fix version
- Fix ROS2 Buildfarm error due to Threads
- Merge branch 'IntelligentRoboticsLabs:master' into master
- Contributors: Francisco Martín Rico, Jake Keller
2.0.3 (2022-04-03)
- Fix conflicts
- Qt5 dependencies
- Contributors: Francisco Martín Rico
2.0.2 (2022-04-03)
- Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
- set_decimal_precision: Use std::setprecision to avoid incompatible scientific notation.
- [problem_expert] clearGoal on clearing knowledge
- [problem_expert] test constants parsing as part of problem
- [problem_expert] add constants as instances while parsing problem.pddl
- Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa
2.0.1 (2022-02-03)
- Update deprecated APIs in launchers and parameters
- get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
- Update launcher param names
- remove-invalid-goals: Removing invalid goals when instances are removed. Keep track of update time in problem expert.
- Merge galactic-devel
- Contributors: Francisco Martín Rico, Josh Zapf
2.0.0 (2021-07-04)
- Compile for ROS2 Galactic
- Contributors: Francisco Martín Rico, Jonatan Olofsson
1.0.10 (2021-07-03)
- Remove node parameter in client constructors
- Adding comments specifying how the syntax is wrong in unexpected_syntax problem file.
- Adding unit tests for new functions in plansys2_problem_expert.
- Add ability to read in pddl problem files to plansys2 and a new AddProblem service to the plansys2_problem_expert. Adding problem_file node parameter to plansys2_problem_expert to load a single problem file at launch.
- ros2-plan-msg: Adding functions to plansys2_msgs/Knowledge message.
- pddl-tree-messages: Deleting unused function declarations. Adding explicit specifier to single param constructors in plansys2_core/Types.hpp.
- Suggestion for #118
- pddl-tree-messages: Extending action string parsing utilities in plansys2_problem_expert/Utils.cpp.
- pddl-tree-messages: Performing some minor cleanup.
- pddl-tree-messages: Using explicit specifier for single parameter constructors in plansys2_core/Types.hpp.
- pddl-tree-messages: Replacing user access function calls with shorter versions where possible.
- pddl-tree-messages: Adding user access functions to domain expert client.
- pddl-tree-messages: Adding goal user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Adding predicate user access functions to problem expert client.
- pddl-tree-messages: Using helper functions in problem expert client to handle user interactions.
- pddl-tree-messages: Updating getInstance and getInstances calls to use helper classes.
- pddl-tree-messages: Updating addInstance and removeInstance calls to use helper classes.
- pddl-tree-messages: Replacing hard coded node equality check with function call.
File truncated at 100 lines see the full file