Project brief
Internship project at Prevas where I and two other students were tasked with building a robotic cell capable of handling randomly sized boxes arriving in unknown order. The boxes were to be palletized on two different pallet sizes, with the target stacking height defined via HMI.
Work done
Design and construction of the robot tool, camera mount, gravity feed system, networking, wiring and pneumatics, programming of the robot (ABB IRB 1200), PLC (Siemens) and vision system (Cognex). Sensors and pneumatics were connected via IO-Link, with PROFINET used for communication throughout the cell.
Function
The vision system measures each incoming box before picking. The robot uses the calculated dimensions to grip the box at its center, with a vacuum search to verify the height. Palleted box dimensions and positions are stored in memory, and used to calculate current box placement.
Vision system
While all team members contributed across the cell and the programs, my main area of responsibility was the vision system and its interfacing with the PLC.
The robot needs the box measurements before approaching the pick position, including height. A perpendicular camera view would make height measurement difficult. An isometric view was therefore chosen.
The boxes were measured at their bottom surface, which rests against the infeeder. Since the distance between the camera and the infeeder surface is constant, a scalar conversion factor could be used to accurately convert pixel measurements to millimeters. A contrast filter combined with sequentially anchored edge detections was used to reliably measure boxes across the full range of sizes.
