Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

This article describes why, when and how to apply Inverted Approach to one or more layers on the pallet. Further, the benefits and drawbacks of the functionality are discussed to better explain its purpose.

Table of Contents

Table of Contents

What is Inverted Approach

The name ‘Inverted Approach' is referring to the logic of two actions when palletizing:

  • In which order the boxes will be placed within a layer on a pallet.
    I. e. which box in the pattern is placed on the pallet first, which is placed last, and every box in between.

    • With Inverted approach enabled, Pally will start with the box in the corner of the pallet front, closest to the robot.

    • With Inverted approach disabled, Pally will start with the box in the corner of the pallet front, furthest from the robot.

  • In which direction the next box should approach the previously palletized boxes.
    I. e. what direction towards the current spot on the pallet to use in the robot path.

    • With Inverted Approach enabled, Pally will place the boxes on the pallet moving towards the pallet front, and towards the robot.

    • With Inverted Approach disabled, Pally will place the boxes on the pallet moving towards the pallet front, away from the robot.

Example 1: Inverted Approach Disabled

In the image below, a snippet from Pally Pallet Builder demonstrates a pallet pattern not using Inverted Approach. Note the position of the first box and the Approach Direction visualized by the arrows marked in red.

Image RemovedImage Added

Example 2: Inverted Approach Enabled

In the image below, a snippet from Pally Pallet Builder demonstrates a pallet pattern using Inverted Approach. Note the position of the first box and the Approach Direction visualized by the arrows marked in red.

Image RemovedImage Added

When and Why to Use Different Approach Directions

This chapter will be based on the two above examples, and highlights the benefits of the different approach directions and why they outweigh potential drawbacks, depending on the situation.

Inverted Approach Disabled

In Example 1, a pallet layer is planned with Inverted Approach disabled. This provides a very logical way of stacking the pallet, as the pattern places the boxes in a specific order that avoids having to lift the next box over any of the already palletized boxes within the layer. This is beneficial when palletizing the higher layers of a pallet. Not having to lifte the boxes around the previously palletized boxes might save time as the path can be shorter. Also it increases available reach, which might make the station able to stack additional layers of a box type without adding a lifting column to the system.

Info

The benefits of disabling Inverted Approach are highest when palletizing layers which are taller than the robot should joint and the conveyor. A rule of thumb for disabling Inverted Approach is when palletizing layers above the gripper position at ‘Box Free Height’.

Inverted Approach Enabled

In Example 2, a pallet layer is planned with Inverted Approach enabled. This might seem illogical as the robot will have to lift the boxes over previously placed boxes, but it brings a very important benefit; more space to move the product close to the robot and the conveyor. This is often a clever trade off for the lower layers on a pallet, as it takes little more time to lift the boxes above the other boxes in the layer, and for bigger boxes it might actually save time providing a more effective collision free path.

Info

The benefits of enabling Inverted Approach are highest when palletizing layers which are lower than the robot should joint and the conveyor. A rule of thumb for enabling Inverted Approach is when palletizing layers below the gripper position at ‘Box Free Height’.

Quick way to Enable and Disable Inverted Approach

When clicking the three vertical dots on a layer type you will be presented with the option to activate or deactivate the Inverted Approach (default is deactivated)

Inverted Approach is
Status
colourRed
titledeactivated
for the selected layer type

Image RemovedImage Added

NOTE: this button will change the approach type for all layers with the same layer type!

Inverted Approach is
Status
colourGreen
titleactivated
for the selected layer type

Image RemovedImage Added

NOTE: this button will change the approach type for all layers with the same layer type!

In the pallet pattern .json file

In the example .json file below, layer type 3 has Inverted Approach enabled, while layer type 4 has not.
This is configured at line 155-156 and 285-286 respectively for the layers.

Code Block
{
    "name": "ApproachDirectionDemo",
    "description": "Layer type: 3 inverted - Layer type 4 not inverted",
    "dimensions": {
        "height": 1000,
        "width": 800,
        "length": 1200,
        "palletHeight": 144
    },
    "productDimensions": {
        "weight": 7000,
        "height": 250,
        "width": 220,
        "length": 310
    },
    "maxGrip": 1,
    "labelOrientation": null,
    "guiSettings": {
        "PPB_VERSION_NO": "2.3.1",
        "boxPadding": 0,
        "units": "metric",
        "overhangSides": 0,
        "overhangEnds": 0,
        "altLayout": "mirror"
    },
    "dateModified": "1997-08-29T02:14:00.036Z",
    "layerTypes": [
        {
            "name": "Layer type: 3",
            "class": "layer",
            "pattern": [
                {
                    "x": 135,
                    "y": 180,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 135,
                    "y": 490,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 135,
                    "y": 800,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 355,
                    "y": 180,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 355,
                    "y": 490,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 355,
                    "y": 800,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                }
            ],
            "altPattern": [
                {
                    "x": 665,
                    "y": 180,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 665,
                    "y": 490,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 665,
                    "y": 800,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 445,
                    "y": 180,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 445,
                    "y": 490,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 445,
                    "y": 800,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                }
            ],
            "approach": "inverse",
            "altApproach": "inverse"
        },
        {
            "name": "Layer type: 4",
            "class": "layer",
            "pattern": [
                {
                    "x": 355,
                    "y": 180,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 355,
                    "y": 490,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 355,
                    "y": 800,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 135,
                    "y": 180,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 135,
                    "y": 490,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 135,
                    "y": 800,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                }
            ],
            "altPattern": [
                {
                    "x": 445,
                    "y": 180,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 445,
                    "y": 490,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 445,
                    "y": 800,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 665,
                    "y": 180,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 665,
                    "y": 490,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                },
                {
                    "x": 665,
                    "y": 800,
                    "r": [
                        0,
                        180
                    ],
                    "g": [],
                    "f": 1
                }
            ],
            "approach": "null",
            "altApproach": "null"
        }
    ],
    "layers": [
        "Layer type: 3",
        "Layer type: 4"
    ]
}