Add Predicate-Based Behavior Tree Executor#376
Add Predicate-Based Behavior Tree Executor#376ajtudela wants to merge 3 commits intoPlanSys2:rollingfrom
Conversation
|
Can you explain the advantages of this approach and the problem that this PR wants to fix? Also I need to see why to use a BT for checking predicates |
|
The PR attempts to bridge the gap between symbolic and subsymbolic information by introducing a mechanism for verifying predicates using behaviour trees. Each predicate is linked to a BT node, and when the executor needs to check whether the symbolic predicates have been met, it also executes the associated BT. |
|
That's great! I was indeed planning to do something similar. Does it also work with numeric fluents? What's thei role with the effects of an action? |
It is currently just a proof of concept, with only the at-start requirements implemented. I'm no expert on planning and I'm not exactly sure how the effect works. |
…oard / parameter Signed-off-by: Alberto Tudela <ajtudela@gmail.com>
Signed-off-by: Alberto Tudela <ajtudela@gmail.com>
Signed-off-by: Alberto Tudela <ajtudela@gmail.com>
04fc297 to
0a4254e
Compare
This PR introduces a new predicate-based behavior tree executor (
PredicateBTExecutor) for executing behavior trees, enabling sub-symbolic checks of predicates.WaitAtStartReqBT node and is responsible for checking if predicates exist using theProblemClientand executing predicate-based behavior trees for sub-symbolic validation.predicate_plugins,predicates_bt_xml) similar to BT Actions to retrieve the names and XML templates of the behavior trees.I have successfully tested this implementation on our robots and believe it's worth discussing for potential integration.