Skip to main content

Stack / Row

General

The Stack / Row Node helps processing a Stack or Row of items with a single Node.
With the repeated execution of this Node, it will move the Robot to every Pose on the defined Stack or Row.
The Stack / Row Node is suitable for equally-spaced items of the same size.

Stack setup

The individual Stack positions, also called items, are automatically computed from the Start Pose, the End Pose and the number of items.
To define the Stack, follow the subsequent instructions:

  1. Define the Start Pose of the Stack:
    Move the Robot to the Pose and press Apply Current Pose
  2. Define the End Pose of the Stack:
    Either move the Robot to the desired Pose and press Apply Current Pose or type in the position offset and the absolute orientation manually

stack instructions

Stack processing

  • First the Approach Movement brings the Robot to the Approach Pose, a secure Pose above the Stack, before the Before Item Approach output is triggered.
  • After that the Robot moves in Cartesian space to the Item (Movement to Item).
  • At the Stack position, the At Item output is triggered, which can be used, for example, to pick the item.
    Note: only Relative Movements should be done at this output.
  • Afterward the Robot moves again to the Approach Pose and triggers the Process Item output.
    This output might be useful to place the previously picked item somewhere else.

These steps are repeated for every Item on the Stack.
Additionally the Every N Iterations output is triggered every N iterations if specified.
If all Stack positions have been processed, the After Completion output is triggered to continue the Flow.

stack execution

Approach Pose

The Approach Pose defines an optional Joint Movement to a secure position above the Stack. The movement will be executed before approaching the item and before processing the item.

Movement to Item

If the Approach Movement is defined, the movement starts from the Approach Pose, otherwise from the current Robot Pose. The Robot moves along the Item Approach Trajectory (if defined) to the Stack position. All the different scenarios can be seen in the figure below.

item approach trajectory

Item Approach Trajectory

The Item Approach Trajectory is defined by relative movements toward the Item Pose with respect to the Robot’s Base Coordinate System. In the example above (left) there are two movements defined:

  • Movement 1: x,y,z = 0,100,0
  • Movement 2: x,y,z = 100,0,0

The relative movements are used to calculate the Cartesian waypoints (cyan 1, 2). The blending radii defined by the movements act on the computed waypoint accordingly. For example, the Blending Radius of the first movement acts on the first computed waypoint, i.e. the movement from the Approach Pose to 1 and the movement from 1 to 2 is blended with that Blending Radius.

Stack Offsets

A start and end offset of the Stack can be defined to only execute a section of it. The offset can be defined by moving the range slider to the desired range. All items outside this range will be ignored.

stack offset

Trigger externally

trigger externally

If Trigger externally is turned on, the Node will not trigger itself again after an item is processed. In this case, it waits until it gets triggered by the Node that comes right before.

This is helpful if you want to e.g. use a Stack Node to grab items, and then use another Stack/Grid/Palletizing Node behind (on the Process Item output) to put those items on another Stack/Grid/Pallet.

trigger externally

Reverse Item Approach Trajectory

This option will make the Robot execute the Item Approach Trajectory in reverse after each item. Note that the reversed Item Approach Trajectory will be executed after the At Item branch and before the Process Item branch.

Every N Iterations

branch every

If Branch every is turned on, the Node activates the <Every N iterations> output, where you can run some extra Nodes after a number of iterations.

For example, if you have a soldering application and after every 10th item you need to get some fresh soldering tin, then you can just enable the Branch every toggle and specify 10 as iterations. Then you build the Flow to get more soldering tin on the now available Every 10 Iterations output.

note

The iterations reset after the Node is finished.

Next item

You can optionally set a Next item Variable. The Node will then always process the item with the number that matches the current value of the Variable. You will have to alter the Variable in every iteration manually, e.g. with a Variable Node.

To finish the Node, you can simply set the Variable to a value that is outside the defined offsets.
It will then execute the After Completion branch.

next item