Conditional Blend Trajectories

Description

Blending enables the robot to smoothly transition between two trajectories, without stopping at the waypoint between them.

Blending makes your robot program run faster because, when you create a smooth transition between trajectories, you avoid slowing down an acceleration between trajectories.

 

Conditional blend trajectories

This example is a very situational example, but it shows that the robot program may in a very rare situations calculate program nodes before execution.

 

The blend trajectory is affected both by the waypoint where the blend radius is set and the following one in the program tree.

 

In this example, the blend around is affected by (WP_1) and (WP_2). The consequence of this becomes more apparent when blending around (WP_2) in this example.

There are two possible ending positions and to determine which is the next waypoint to blend to, the robot must evaluate the current reading of the digital_input[1] already when entering the blend radius.

That means the if...then expression is evaluated before we actually reach the destination which is somewhat counter-intuitive when looking at the program sequence. If a waypoint is a stop point and followed by conditional expressions to determine the next waypoint (e.g. the I/O command) it is executed when the robot arm has stopped at the waypoint.(WP_2)

MoveL
    WP_I
    WP_1 (blend)
    WP_2 (blend)
    if (digital_input[1]) then
        WP_F_1
    else
        WP_F_2

14.2:  WP_I is the initial waypoint and there are two potential final waypoints WP_F_1 and WP_F_2, depending on a conditional expression. The conditional if expression is evaluated when the robot arm enters the second blend (*).