Retry node

The retry node has a single child which it executes for a maximum number of
times. When the root selector node gets selected it will immediately transition
to Running (after checking the decorators). While in Running, it will select
the child node. Once the child succeeds, the retry node will transition to
Succeeded as well. If it fails during execution, the retry node will re-run the
child until the maximum retry count has been reached.
Properties
| Property | Description |
|---|---|
| Child semantics | Select child node, if the child node fails, it gets reset and selected again |
| Parameters | name: name of the node child: single sub-tree to run at most a given number of times max_tries: how many times the child is tried |
| Success criterion | child succeeds (in any try) |
| Failure criterion | child failed in each of the configured maximum number of tries |
Python API
The node can be constructed by parameterizing it either on creation or by using the builder pattern.
BT.Retry(max_tries=3, child=estimate_and_update_pose)