This is a dual-function robot: it both depalletises incoming stock and palletises outgoing product, combining two functions that are usually handled by separate systems into a single cell. One robot, one cell, doing both halves of the material flow.
Running both depalletising and palletising through one cell meant the robot had to reliably switch between two different tasks with two different sets of expectations: incoming pallets that vary in stack condition versus outgoing pallets that need to be built to a precise, repeatable pattern. The cell also needed to handle partially completed or irregularly loaded pallets without manual intervention, since stopping the robot every time a layer doesn’t match the expected pattern defeats the purpose of automating the task in the first place.
A vision-guided collaborative robot arm, fitted with a camera and a secondary sensing system on the end-effector, locates each item, confirms it’s actually present before attempting a pick, and adjusts position in real time for natural variation in stack height and alignment, combining vision with proximity and presence sensing so the decision to pick isn’t riding on a single sensor. The cell works layer by layer, recalculating the pattern as each layer is cleared or built, which lets it work through irregular pallets without stopping for a human to intervene. It sits inside a fully interlocked safety enclosure, light curtains, an area scanner, and multiple emergency stop points, so operators can safely access the cell for replenishment or maintenance without stopping the wider line, and it communicates directly with the plant’s conveyor and PLC network rather than running as a standalone island.
Combining two material-handling steps into one cell reduced the footprint and the number of separate systems the customer had to maintain, while the layer-by-layer, sensor-fused approach kept the cell running through normal pallet variation without constant operator correction. It’s a solid example of designing a cell around what the process needs rather than defaulting to “one robot, one job.”