Skip to main content

Retry node

Retry node representation

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

PropertyDescription
Child semanticsSelect child node, if the child node fails, it gets reset and selected again
Parametersname: 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 criterionchild succeeds (in any try)
Failure criterionchild 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)