Hallo allemaal,
Ik loop stage op een bedrijf wat gespecialiseerd is in (onder andere) robot palletiseren en depalletiseren. Nu is mij gevraagd om een systeem te bedenken om de positie van een pallet te bepalen, en ik zou graag weten of jullie nog tips hebben.
De situatie is als volgt:
Er staat een volle pallet op een rollerbaan. Doordat deze pallet redelijk zwaar is komt deze soms schuin te staan tegen de eind aanslag van de rollerbaan. Ook een pusher aan de zijkant van de rollerbaan bied geen uitkomst.
Nu is het de bedoeling dat een robotarm deze pallet gaan depalletiseren, dus de items die op de pallet gestapeld zijn eraf halen en op een transportbaantje zetten. Maar omdat de pallet niet altijd op een vaste plaats op de rollerbaan staat, geeft dit soms problemen. Op dit moment hebben ze het opgelost door middel van foto sensoren waarmee ze de coordinaten van de bovenste rij van de pallet "afscannen". De grijper met daarop de fotosensor gaat geleidelijk richtig de pallet en wanneer deze fotosensor een doos waarneemt wordt het punt waar de grijper zich op dat moment bevindt opgeslagen. Dit wordt zo nog 2 keer gedaan om alle coördinaten van de pallet te bepalen. Het probleem met deze oplossing is echter dat het redelijk traag gaat. Vandaar de vraag aan mij om dit te verbeteren.
Ik zat zelf te denken aan:
- 3 Infrarood/Ultrasoon/Laser/foto elektrisch afstand sensoren in de rollerbaan. Als je de afstand van de pallet tot de sensor weet, kun je de positie van de pallet bepalen.
- 2d/3d laser scanner op een vaste positie
- Een vision camera die boven de pallet hangt
Wat denken jullie van deze opties?
Gewoon zorgen dat die pallet wel recht staat. Rollenbaan een korte nadraaitijd geven en een dikke cylinder die pallet recht laten drukken.
De door jou aangedragen oplossingen zijn best mooi hoor maar veel duurder. Bovendien kan iedereen een probleem met een rollenbaan en een cylinder oplossen terwijl er voor bv een visionsysteem maar een beperkt aantal mensen voorhanden zal zijn.
Hightech is leuk maar als er een betrouwbare lowtech oplossing mogelijk is, die ook nog eens goedkoper is is dat meestal de betere oplossing.
morc
Ik heb wat problemen met wanneer een d of t te gebruiken, ddt gebruik ik niet!
Inderdaad dit is een te simpel probleem om dat met dure systemen op te lossen, dat is mechanisch eenvoudig te doen met redelijke kosten.
Vooral met een robot is het van belang dat mechanisch de boel stabiel is, de situatie altijd gelijk anders wordt de boel zo traag of storings gevoelig dat je er goedkoper een paar man op kunt zetten.
Ik weet waar ik over praat, heb zelf meerdere robots onder beheer en 1 daarvan is een drama omdat mechanisch de boel niet in orde is, te veel variabelen voor een ding wat eigenlijk alleen maar kan bewegen van en naar posities die je hem leerd.
bedankt voor jullie reacties.. ik mag helaas niks aanpassen aan de rollerbaan. Ik zal dus extra sensoren toe moeten voegen. Wat voor sensoren zijn dat het meest geschikt? En het makkelijkste toe te passen?
stecj366
Sonar is meer dan Ping...
Vision. Via een template matching waarbij je de template transleert en roteert haal je zo de rotatie en translatie van de palet uit je beeld. Kan desnoods met een stom webcammetje en Roborealm
[Bericht gewijzigd door stecj366 op (15%)]
Is dat niet lastig ivm met belichting? We hebben op school vision gehad met een marlin camera. Het viel mij echter wel op dat we voor een kleine toepassing(meten van blokjes) al relatief veel belichting nodig hadden. En moet je niet een speciale lens hiervoor hebben ivm perspectief?
No_Brain
"What are we going to do tonight, Brain?". "Same thing we do every night, Pinky: try to take over the world!"
Als er niks aan de rollenbaan aangepast mag lijkt mij vision lijkt mij ook de beste oplossing maar is niet makkelijk.
Een andere oplossing is 2 lichtsluizen onder 45 graden (allemaal horizontaal) over de band laten richten en 1 haaks op de band. Als je de positie van de rollenband weet (y-richting) kun je aan de hand van de tijdstippen wanneer welke lichtsluis doorbroken word berekenen hoe de de pallet staat (je gebruikt dus de voorste 2 hoeken van de pallet). Leuk wiskunde:).
\| |/ (bovenaanzicht rolleband)
\ /
|\ /| ||
| \/ | || richting rolleband (y-richting)
| /\ | ||
|/ \| \/
/ \
/| |\
| |
---------
| |
[edit]
Op deze manier zie je hoe schuin de pallet staat maar niet of dat links of rechts om gedraaid is.......
[/edit]
Dat lijkt me nogal een lastige oplossing, wel leuk. Je bent de benodigde encoder op de baan overigens nog vergeten.
Hoezo? Je weet de snelheid van de baan. Als je dus de tijd tussen de hoeken meet weet je de afstand. Daarme kan je weer de hoek berekenen.
Je weet de snelheid van de baan helemaal niet, tenzei het er een met een FO in closed loop regeling is, en dat lijkt me sterk.
De baansnelheid hangt nu af van de belasting: er zal altijd slip optreden. Bovendien kan die baan wellicht door een noodstop of iets dergelijks gestopt worden en dan klopt er van je timing al helemaal niets meer natuurlijk.
Heeft de pallet steeds dezelfde afmetingen?
De lading die erop staat, staat deze altijd binnen de omtrek van de pallet? Staat deze lading ook steeds op dezelfde manier gestapeld? (ook als iemand de pallet achterstevoren op de baan zet?)
Indien allemaal ja, dan kan je met een staaf de afstand robot-pallet nagaan. De robot weet dan waar de lading zich bevindt.
Toch zou ik ook kiezen voor vaste coördinaten en de pallet dmv een stuk kogelbaan te richten. Wij hebben dit systeem geplaast voor de fruitkisten. Op't einde van de baan staan er geen rollen, maar kogels. Hierdoor is een beweging in elke richting mogelijk. 2 cilinders drukken de kist in de hoek. Laat de cilinders dmv een balkje met kogels tegen de pallet drukken, dit vergemakelijkt het aanpassen van de pallet.
snelheid kan je berekenen door de tijd te meten tussen het verbreken van de eerste en laatste (3e) sensor te meten.
Sparkz
Tradities en regels zijn er om te breken. Orde niet.
Met berekenen ga je er niet altijd komen. Zoals GJ al zei, als de transportband om een of andere reden stopt, ben je eraan.
Meten is weten, in dit geval de actuele pallet positie meten met een encoder. En zelfs dan zal het nog moeilijk zijn om de positie exact te bepalen, want een volledig slipvrij rollentransport bestaat niet.
No_Brain
"What are we going to do tonight, Brain?". "Same thing we do every night, Pinky: try to take over the world!"
De positie van de rollenband is iets lastiger dan ik dacht (dacht dat het een transportband was maar had 't verkeerd gelezen). Ook dit valt op te lossen:).
Er is wat discussie over het mechanisch aanpassen van de rolleband zodat de pallet altijd recht staat... Dat is natuurlijk ook een mogelijkheid maar wel lastig als de lading groter is dan de pallet en de pallet niet altijd recht onder de lading staat (je kunt dus geen mechanische krachten op de lading uit gaan oefenen.... Ik weet niet of dit het geval is en blijkbaar ook niet de bedoeling.
Mijn voorkeur gaat dan toch naar "als je weet wat je afwijking is kun je er voor compenseren".
Een andere mogelijkheid om de positie te bepalen:
Je kunt ook de pallet naar de gewenste positie brengen waarna je met een paar mechanische aanslagen de positie van de hoeken van de pallet bepaald (mechanische aanslagen komen kortstondig tegen de pallet, meten de hoeken en trekken weer terug, software berekent de rest).
Andere mogelijkheid (misschien niet helemaal realistisch) is aan 1 kant horizontaal een flinke rij IR leds die je appart aan kunt sturen en aan de andere kant een flinke rij IR ontvangers. Door de leds allemaal appart 1x aan te laten gaan en te kijken welke ontvanger IR licht ziet kun je de positie Y bepalen en ook kruislings vergelijken (eigenlijk zoals ik met de 3 lichtsluizen al beschreven heb)... Je hebt een flink aantal IR zenders nodig en 3 IR ontvangers of andersom. Als de pallet met krimpfolie ingepakt is zal dit ook minder goed werken vanwegen reflecties op de folie.
Naar gelang hoe schuin de pallet staat zou je het met 1 zender/ontvanger + 2 afstandsmetingen moeten kunnen volgens mij.
Dan moet je doorrolperiode na een stop wel constant zijn.
Je zet een zender/ontvanger zo schuin over de baan dat deze altijd dezelfde hoek eerst detecteerd, en laat daarop de baan stoppen. Dit zou dan altijd +- dezelfde positie moeten zijn.
De 2 afstandssensoren richt je op de voorste en achterste blok van de pallet.
Hiermee heb je volgens mij genoeg gegevens voor al je berekeningen.
Je kan het ook anders doen.
Je voorziet achteraan de rollenbaan een mechanische stop.
Laat de pallet daar tegen "botsen" en de nalooptijd van de rollenbaan wat hoger zetten en je pallet komt recht te liggen.
==> wordt in meerdere bedrijven gedaan
redelijk simpele manier die ik laatst nog ben tegengekome, lasertje op de onderkant van de grijperkop op de robot.
Die gaat langzaam omlaag en als hij de pallet ziet stopt, dan langzaam naar links en rechts gaat zodat de lasers de uiteinden van de pallet zien en zo de positie van de pallet kan bepalen.
Zo dus:
| |
| |
|: --------- |
: = laser
---- = pallet
|= grijper