Skip to content

Blend between Function Blocks (Waypoint Queue)


The Waypont Queue is an advanced drag&bot functionality to queue waypoints of multiple function blocks before executing them together. This enables chaining of movements for shorter cycle times.

Movements in drag&bot are usually executed directly with the function block execution. This leads to the issue that blending between different function blocks is not possible and there is a short delay in the robot movement between function blocks.

However its possible to blend movements defined in different function blocks. This feature is called Waypoint Queue. If the option Add to Waypoint Queue is selected in a Move Function Block, the movement is not executed directly, but the waypoints are added to a queue in the background. This option is provided by the following Function Blocks:

  • Move Cartesian
  • Move Cartesian Relative
  • Move Joints
  • Move Joints - 7 Axes

After buffering the waypoints the Function Blocks will finish at once without robot movement and the program flow continues. The buffered waypoints can then be executed with the Function Block Waypoint Queue - Move. Internally they are sent as one trajectory to the robot. The Waypoint Queue is cleared after the movement has been executed, on each program start or with the Function Block Waypoint Queue - Clear.

The Waypoint Queue allows the following possibilities, which are not possible when the Function Blocks are executed at once:

  • Blending
    • between several Move Cartesian Function Blocks
    • between Move Cartesian and Move Joints Function Blocks
    • across Subprograms and control Function Blocks, like Condition, etc.

This results in a reduced cycle time.


The Waypoint Queue is a very advanced feature, which changes the robot movement compared to the obvious program flow. Its highly recommended to develop the program first without using the Waypoint Queue, test this program and activate the Motion Queue later for optimization of cycle times.

Also be aware that using specific Function Blocks alongside the motion queue might change the movement behavior. Especially the following Function Blocks change the program behavior when executed between the waypoint buffering and its execution, compared to direct waypoint execution.

  • Get Flange Pose
  • Get TCP Pose
  • Get Joint States
  • Change Robot TCP

Therefore, these Function Blocks must not be used in between Move Function Blocks with enabled flag Add to Waypoint Queue.