Skip to main content

Parallel node

Parallel node representation

The parallel node has a list of children which are executed in parallel. When the root branch node gets selected, it transitions immediately to Running (after checking the decorators). Once running, it selects all children at the same time. The node succeeds if all children succeed and fails if any child fails. If a child fails, the node either waits for the other children to finish or cancels the children that are still running, depending on the value of failure_behavior.

Properties

PropertyDescription
Child semanticsAll children are executed concurrently
Parametersname: name of the node
children: unordered list of sub-trees
failure_behavior: Enum specifying how the node should fail; can be either WAIT_FOR_REMAINING_CHILDREN (the default) or ABORT_REMAINING_CHILDREN.
Success criterionAll children have succeeded.
Failure criterionAny child has failed (execution not immediately aborted on failure).

Python API

The node can be constructed by parameterizing it on creation with the set of children to execute in parallel.

BT.Parallel(children=[open_gripper, approach_object])