Skip to main content
Version: 10

Parallel Motion Planning

Parallel planning can be incredibly useful to decrease cycle times while executing previously decided motion plans. MoveIt Pro supports parallel planning via the Parallel node to execute part of the Behavior Tree at the same time as another.

tip

The Parallel node is concurrent allowing for simultaneous execution of multiple tasks.

The general pattern utilized for parallel planning during execution looks like the following:

Parallel Overview

The Parallel node accepts failure_count and success_count parameters that determine how many child nodes must fail or succeed for the parallel execution to be considered failed or successful. For motion planning and execution, we recommend setting failure_count to 1 (allowing only one child to fail) and success_count to match the total number of immediate children (2 in this example).

Repeated Picks​

Plan the Next Bin Pick During the Current Cycle applies this pattern to the factory_sim jig application. The default route seeds the next task at the expected Home state with SetupMTCFixedJointState; near_jig_wait=false seeds it from the predecessor Home solution with SetupMTCFromSolution. Keep each task in its own Subtree blackboard and validate the prepared trajectory against fresh feedback and the current scene at handoff.

For speculative preparation, handle planning failure inside its branch: invalidate the candidate and let the current placement finish. An execution failure still fails the parallel phase and invalidates the candidate. Keep one motion owner for each controller; the next pick executes after selection and validation.