Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've implemented the propagation step of the get_tree function in the STN BT Builder plugin using the Floyd-Warshall algorithm (see time-triggered-exec-v4 branch of ros2_planning_system). This step is necessary to propagate the time constraints through the edges of the graph. I've also added the match-cellar example to ros_planning_system_exmaples (see match-example branch of ros2_planning_system_examples) to help test this. Without these changes, the example will fail due to the fact that the 2nd match is lit immediately rather than 2 seconds after the first.
To run this example ...
ros2 launch plansys2_match_example plansys2_match_example_launch.py
ros2 run plansys2_terminal plansys2_terminal
set instance m1 match
set instance m2 match
set instance f1 fuse
set instance f2 fuse
set predicate (unused m1)
set predicate (unused m2)
set predicate (handfree)
set goal (and (mended f1) (mended f2))
get plan
run