Los je palletiseerproblemen op
Een robot dozen op een pallet laten stapelen lijkt nauwelijks een uitdaging - tenminste, als ze allemaal even groot zijn. Het automatiseren van het stapelen wordt echter veel complexer als er een willekeurige rij items met verschillende afmetingen wordt gepresenteerd. In dat geval moet het geautomatiseerde stapelsysteem in staat zijn om een beredeneerde beslissing te nemen over de beste locatie om een item op een pallet te plaatsen...
Automatisch palletiseren: Industriële Tetris
In de snelle wereld van productie en distributie vormt het efficiënt transporteren en opslaan van goederen een cruciale schakel. Het gebruik van pallets is hierbij een standaard. Het plaatsen van producten op een pallet is een repetitief proces, waarbij telkens één product wordt genomen, en op de pallet wordt geplaatst. Met een flexibele robotarm die verschillende locaties op het pallet kan bereiken, lijkt deze taak uitermate geschikt om te automatiseren.
Voor pakjesbedrijven is palletiseren een extra uitdaging. Aangezien ze grote volumes en veel producten te verplaatsen hebben, willen ze zoveel mogelijk producten op één pallet krijgen.
Maar dit proces van optimalisatie en automatisering van het palletiseren is niet zonder uitdagingen... In eerste instantie zal de moeilijkheid bepaald worden door de variabiliteit in de producten, maar ook of op voorhand bekend is hoeveel producten gestapeld zullen worden en in welke volgorde ze worden aangeleverd.
Maar ook de stabiliteit is van belang: hoe stabiel is de toren van producten? Zijn er producten die niet voldoende ondersteund worden, en kunnen vallen of wegglijden? En hoe is de gewichtsverdeling? Bij variabiliteit van producten hebben de producten een verschillend gewicht. Bij stapelen op een pallet is het belangrijk dat het gewicht goed verdeeld is over de pallet.
"Pallet Loading Problem": Categorieën
In het automatiseren van palletten maken we het onderscheid tussen twee categorieën:
- Manufacturers Pallet Loading Problem (MPLP): Productiebedrijven gaan typisch een grote hoeveelheid van één bepaald product maken. Dit betekent dat de afmetingen en gewichten van producten vooraf bekend zijn, wat een gestandaardiseerde en geoptimaliseerde palletisering mogelijk maakt.
- Distributors Pallet Loading Problem (DPLP): Distributeurs zoals pakjesdiensten hebben te maken met een grote variabiliteit in producten en moeten reageren op de dynamiek van dagelijkse leveringen. In dit geval kan een robot niet éénmalig geprogrammeerd worden, maar moeten de locaties op de pallet bijgestuurd worden op basis van de aangeboden dozen.
Naast deze 2 categorieën is het ook belangrijk of de groottes van de producten op voorhand gekend zijn:
- Offline Plaatsbepaling: Hier zijn op voorhand alle producten gekend die op de pallet moeten terecht komen. Met vooraf bekende data kan de palletlayout geoptimaliseerd worden om maximale efficiëntie en stabiliteit te garanderen. Let op, dit kan heel wat rekenkracht vragen.
- Online Plaatsbepaling: Het typisch voorbeeld hiervan is de transportband waarop producten staan die op een pallet moeten geladen worden. Er wordt telkens 1 of een beperkt aantal producten aangeboden. Er moet dus worden beslist op basis van de kennis op dat moment, en niet op basis van alle producten die op de pallet zullen moeten komen. Een product moet “zo goed mogelijk” geplaatst worden.
Beslissingsalgoritme voor flexibel palletiseren
Flanders Make ontwikkelde een nieuw beslissingsalgoritme om robots willekeurige dozen op een stabiele manier te laten stapelen. Het kan automatisch de optimale manier berekenen om dozen van verschillende vormen en hoogtes te stapelen, zonder de volgorde of afmetingen te kennen.
Om te bepalen wat de optimale positie is van een doos op de pallet, hebben we gekeken hoe een persoon deze dozen op een pallet zou stapelen. Hij zal bijvoorbeeld grote dozen eerder op de hoeken plaatsen, en middelgrote dozen op de rand van de pallet. De kleinere dozen komen dan in het midden te staan. Daarnaast zal hij dozen zoveel mogelijk tegen elkaar zetten, en proberen te vermijden dat er te grote gaten ontstaan waar geen doos kan geplaatst worden, of soms een plaats vrij laten omdat daar een kleine doos nog tussen kan.
Op basis van deze vuistregels, hebben we een algoritme ontwikkeld dat gebruik makend van heuristieken scores toekent aan alle mogelijke posities. De positie met de hoogste score is de positie die gekozen wordt. De volgende stappen worden uitgevoerd:
Dit algoritme is opgebouwd als een pipeline, zodat er gemakkelijk stappen kunnen worden toegevoegd of weggelaten, of vervangen worden door een andere versie.
De verschillende stappen hebben parameters die kunnen aangepast worden, zodat het algoritme kan gefinetuned worden. Er kan bijvoorbeeld een minder zware score gegeven worden aan het plaatsen van een grote doos op een hoek. Op die manier kan het uiteindelijk resultaat afgesteld worden op de noden van een specifieke omgeving.
Een verdere optimalisatie kan gebeuren als er meerdere dozen worden gedetecteerd aan de invoer. In dat geval worden de scores voor alle gedetecteerde dozen berekend. Op basis van deze scores, en de laag waarop de dozen zullen gezet worden, wordt de beste doos genomen. Een belangrijk gevolg hiervan is dat kleinere dozen beter gebruikt worden om ruimtes op te vullen.
Concreet: Online palletiseren van een beperkt aantal varianten
Ons onderzoek was gericht op het online palletiseren van een beperkt aantal varianten. Het kwam tot stand in het kader van het Coock-project CEROS.
We hebben gebruik gemaakt van de volgende varianten in de grondvlakken van de dozen:
- Small: grondvlak = 50mm x 75 mm
- Medium: grondvlak = 75mm x 100mm
- Large: grondvlak = 100mm x 150mm
Aangezien de grondvlakken veelvouden van elkaar zijn (Small past tweemaal in Medium), laat dit combinaties toe die goed gestapeld kunnen worden. Door de dozen op deze manier te kiezen, laat het wel voldoende combinaties dozen toe om zo tot een goed gestapelde pallet te komen. De gekozen grondvlakken zijn vergelijkbaar met A4, A5 en A6.
Het palletiseringsalgoritme dat we ontwikkeld hebben houdt op zich geen rekening met het feit dat dozen veelvouden zijn van elkaar, dus dit is geen noodzaak. Naast variaties in grondvlakken zijn er 3 verschillende hoogtes nl 40mm, 80mm en 120mm.