Parallel node

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
| Property | Description |
|---|---|
| Child semantics | All children are executed concurrently |
| Parameters | name: 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 criterion | All children have succeeded. |
| Failure criterion | Any 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])