Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs 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

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

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)

2.0.12 (2024-10-16)

  • add uint8 EXISTS = 10 to Node.msg
  • support for ParamExpression and ConstExpression
  • add Derived.msg and GetDomainDerivedPredicateDetails.srv
  • Add option to use planner node to validate domain in domain expert
  • Contributors: Francisco Martín Rico, Gustavo, Josh Zapf, Marco Roveri, Robodrome, Sebastian Castro

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs 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

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

3.0.1 (2025-06-22)

3.0.0 (2025-06-06)

  • Multiple plans and replanning stability
  • Add getProblemWithTimestamp to Problem Expert
  • Service and logic for get multiple plans
  • Replanning
  • Executor basic replanning done
  • Add support for ParamExpression and ConstExpression
  • Support for existential preconditions
  • add uint8 EXISTS = 10 to Node.msg
  • Add support for derived predicates
  • support for ParamExpression and ConstExpression
  • add Derived.msg and GetDomainDerivedPredicateDetails.srv
  • Fix CI after BT-CPP v4
  • Remove cmake warning
  • Add option to use planner node to validate domain in domain expert
  • add Derived.msg and GetDomainDerivedPredicateDetails.srv
  • Contributors: Francisco Martín Rico, Gustavo, Josh Zapf, Marco Roveri, Robodrome, Sebastian Castro

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.0.17
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/IntelligentRoboticsLabs/ros2_planning_system.git
VCS Type git
VCS Version eloquent-devel
Last Updated 2020-08-11
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package plansys2_msgs

0.0.17 (2020-08-11)

0.0.16 (2020-08-11)

0.0.15 (2020-08-09)

0.0.14 (2020-08-07)

0.0.13 (2020-08-05)

0.0.12 (2020-07-26)

0.0.11 (2020-07-25)

0.0.10 (2020-07-19)

0.0.9 (2020-07-06)

0.0.8 (2020-06-26)

0.0.7 (2020-03-26)

0.0.6 (2020-03-23)

0.0.5 (2020-01-12)

0.0.4 (2020-01-09)

  • Adding missing action dependencies Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Contributors: Francisco Martin Rico

0.0.3 (2020-01-09)

0.0.2 (2020-01-08)

  • Packages.xml description Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Setting CI Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Change to lowercasegit Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Executor initial version Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • First version of planner complete Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Problem expert client and node Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Domain types and messages changed Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Predicate Tree and types changed Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • First version of domain expert Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Contributors: Francisco Martin Rico

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.0.8
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

* Contributors: Francisco Martín Rico 0.0.8 (2020-07-18)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.0.10
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/IntelligentRoboticsLabs/ros2_planning_system.git
VCS Type git
VCS Version foxy-devel
Last Updated 2024-11-06
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

* Contributors: Francisco Martín Rico 0.0.8 (2020-07-18) ------------------

0.0.7 (2020-03-26)

0.0.6 (2020-03-23)

0.0.5 (2020-01-12)

0.0.4 (2020-01-09)

  • Adding missing action dependencies Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>

* Contributors: Francisco Martín Rico 0.0.3 (2020-01-09) ------------------

0.0.2 (2020-01-08)

  • Packages.xml description Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Setting CI Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Change to lowercasegit Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Executor initial version Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • First version of planner complete Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Problem expert client and node Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Domain types and messages changed Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • Predicate Tree and types changed Signed-off-by: Francisco Martin Rico <<fmrico@gmail.com>>
  • First version of domain expert Signed-off-by: Francisco Martin Rico

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

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
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.11 (2023-08-02)

2.0.10 (2023-07-17)

  • Merge remote-tracking branch 'origin/humble-devel'
  • Merge remote-tracking branch 'origin/master' into fix_goal_structure_issue_205
  • Contributors: Francisco Martín Rico, Marco Roveri

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.0.9
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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 (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Messages and service files for the ROS2 Planning System

Additional Links

No additional links.

Maintainers

  • Francisco Martin Rico

Authors

No additional authors.

PlanSys2 Messages

Representing PDDL Expressions as Trees

PDDL expressions are conveniently represented as trees. To see this, consider the following PDDL expression.

(and (robot_at r2d2 millennium_falcon)(not (robot_at r2d2 death_star)))

The root node of the tree corresponds to the outer parentheses encompassing the “and” statement. The “and” statement then has two children. The first child corresponds to the predicate (robot_at r2d2 millennium_falcon) and the second child corresponds to the “not” expression (not (robot_at r2d2 death_star)). Similarly, the “not” expression has one child corresponding to the predicate (robot_at r2d2 death_star).

A tree node is often implemented as a simple class object of the form

class Node {
  public String name;
  public Node[] children;
}

Thus, the node contains the data relevant to the node as well as the links to its children. A tree is then stored as a list of nodes.

Representing PDDL Expressions with ROS Messages

PlanSys2 requires that the PDDL construct trees be passed back and forth between the various nodes of the system. To define a PDDL tree in ROS, we use two custom messages, plansys2_msgs/Tree and plansys2_msgs/Node. The contents of plansys2_msgs/Tree is simply an array of type plansys2_msgs/Node.

plansys2_msgs/Node[] nodes

The contents of plansys2_msgs/Node contains the data relevant to the node as well as links to its children.

uint8 node_type
uint8 expression_type
uint8 modifier_type

uint32 node_id
uint32[] children

string name
plansys2_msgs/Param[] parameters
float64 value
bool negate

The node_type defines the type of PDDL construct that the node represents. The following values are currently supported by PlanSys2.

uint8 AND = 1
uint8 OR = 2
uint8 NOT = 3
uint8 ACTION = 4
uint8 PREDICATE = 5
uint8 FUNCTION = 6
uint8 EXPRESSION = 7
uint8 FUNCTION_MODIFIER = 8
uint8 NUMBER = 9

When the node_type is EXPRESSION, the expr_type field is used to define the type of expression represented. The following expressions types are currently supported by PlanSys2.

uint8 COMP_GE = 10
uint8 COMP_GT = 11
uint8 COMP_LE = 12
uint8 COMP_LT = 13
uint8 ARITH_MULT = 14
uint8 ARITH_DIV = 15
uint8 ARITH_ADD = 16
uint8 ARITH_SUB = 17

When the node_type is FUNCTION_MODIFIER the modifier_type field is used to define the type of function modifier represented. The following function modifier types are currently supported by PlanSys2.

uint8 ASSIGN = 18
uint8 INCREASE = 19
uint8 DECREASE = 20
uint8 SCALE_UP = 21
uint8 SCALE_DOWN = 22

The node_id corresponds to the node’s location in the nodes list and takes on a value in the range [0, len(nodes)-1].

The children list specifies the locations, or node id’s, of the node’s children.

The name string and parameters list are used by predicate and function nodes, which are defined by a name and a list of parameters.

The value field is used by PDDL functions and stores a numeric value.

Finally, the negate field tracks whether the inverse truth value should be used. For example, if a NOT node is the parent of a PREDICATE node, then the PREDICATE node will have a negate value opposite that of the NOT node’s value.

Actions

plansys2_msgs::action::ExecutePlan

  • Used to start and continuously monitor the execution of a plan.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plansys2_msgs

2.0.9 (2022-07-10)

2.0.8 (2022-05-04)

2.0.7 (2022-05-04)

2.0.6 (2022-05-03)

2.0.5 (2022-05-03)

2.0.4 (2022-05-03)

  • Merge branch 'IntelligentRoboticsLabs:master' into master
  • Contributors: Jake Keller

2.0.3 (2022-04-03)

2.0.2 (2022-04-03)

  • Full supportr for (= _ _) PDDL constraints, added possibility to refer to constants, added initial test cases
  • Add Status recency in performers
  • Pddl domain (:constants ) handling and planning
  • [domain_expert] GetDomainConstants service and tests
  • [msgs] GetDomainConstants srv
  • Contributors: Francisco Martín Rico, Jake Keller, Josh Zapf, Marco Roveri, Mostafa Gomaa

2.0.1 (2022-02-03)

  • get-domain-name: Added service for retrieving domain name. Concatenating domain names when using multiple domains.
  • Merge galactic-devel
  • Contributors: Francisco Martín Rico, Josh Zapf

2.0.0 (2021-07-04)

1.0.10 (2021-07-03)

  • 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.
  • ros2-plan-msg: Passing plan to executor to add further separation between plan creation and plan execution.
  • pddl-tree-messages: Performing some minor cleanup.
  • pddl-tree-messages: Merging master and resolving conflicts.
  • Using custom behavior tree to enable action timeouts.
  • pddl-tree-messages: Adding README to plansys2_msgs.
  • pddl-tree-messages: Using ROS messages to define the PDDL construct trees.
  • Plansys2_tests package
  • Add GetOrderedSubGoals service to Executor, allowing executor clients to get the order in which sub-goals will be completed by the current plan.
  • Update version
  • Contributors: Alexander Xydes, Francisco Martín Rico, Josh Zapf

1.0.9 (2021-03-15)

1.0.8 (2021-03-12)

  • Action execution refactoring
  • Adding isGoalSatisfied function and unit tests to the problem expert api.
  • Fixing typo in message name.
  • Add support for numeric conditions and effects.
  • Remove unused field
  • Publish knownledge content
  • Monitorization info
  • fix minor typo
  • Contributors: Alexander Xydes, Fabrice Larribe, Francisco Martin Rico, Josh Zapf

1.0.7 (2021-01-04)

1.0.6 (2020-12-29)

1.0.5 (2020-12-28)

  • Migration to c++17
  • Contributors: Francisco Martín Rico

1.0.4 (2020-12-24)

1.0.3 (2020-12-23)

1.0.2 (2020-12-23)

  • Plan solvers as plugins
  • Contributors: Fabrice Larribe, Francisco Martin Rico, f269858

1.0.1 (2020-07-19)

1.0.0 (2020-07-19)

  • Foxy initial version

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged plansys2_msgs at Robotics Stack Exchange