PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auswertung von Objektkoordinaten zur optimalen Entnahme mittels eines Mehrfachgreifer



ChrisMe
06.11.2019, 12:50
Hallo,

ich bin recht neu mit dem Umgang von Robotern. Ich gehe aber davon aus, das es für solch Fragen eine Lösung am Markt gibt bzw. ihr mir Infos geben könnt wie man das ganze am besten angeht.

Wir wollen mit einem mehrfach (6fach) Sauggreifer kleine Zylinder greifen. Die Zylinder sind in einem Karton stehen positioniert. Mit einer Kamera nehmen wir die Zylinder auf und bekommen für jeden Zylinder die Koordinaten zurück gegeben. Der Roboter soll alle Zylinder und die Zylinder natürlich in so wenig wie möglichen Zügen depalettieren. Es ist aber leider so, das die Zylinder nicht zwingend in einem perfekten Raster stehen. Somit kann das greifen bei jeder Palette nach einem anderen Muster Sinnvoll sein.

Die Kamera Auswertung und das erhalten der Zylinderkoordinaten sollte funktionieren – haben wir schon getestet. Bei der Entnahmestrategie sind wir noch am rätseln.

Wir müssen mit den Zylinderkoordinaten aus dem Bild folgendes auswerten
- welche Zylinder können vom Greifer auf einmal gegriffen werden. Die Zylinder dürfen ja nicht zu weit auseinander stehen oder seitlich verrutscht sein. Ist dies der Fall zieht der Greifer Luft und kann nicht greifen.
- In welcher Reihenfolge arbeitet der Greifer am besten, um mit so wenig wie möglichen Zügen alle Zylinder zu depalettieren. Es macht vielleicht sinn, nicht immer 6 Stück zu greifen, wenn man nach dem Greifen an jeder Seite noch einzelne Zylinder stehen hat, die man danach einzeln greifen kann.

Habt ihr eine Idee wie dies am besten umgesetzt werden kann.

Viele Grüße
Chris

Moppi
06.11.2019, 13:15
Aus dem Bauch könnte man so anfangen:

1. suche nach 6er-Packs und räume die alle ab
2. suche nach 5er-Packs und räume die alle ab
3. suche nach 4er-Packs ....
4. ...
5. ...
6. räume die letzten 1er ab

Beim Ausprobieren wird man sicher sehen, dass es Verbesserungspotential an der ein oder andern Stelle gibt. Aber Anfang wärs.




MfG

Ceos
06.11.2019, 13:43
So wie Moppi es ausgedrückt hat ist es wohl der beste Weg

Wenn man darauf mal auf Bilderkennung anwendet: (Weil mir keine bessere Methode einfällt, habe mal versucht die Bilderkennung einer Fräse zu verbessern, weil sie bei 3 nahe beieinanderliegenden Bohrlöchern im Bild trotz eindeutigem Durchmesser immer das falsche Loch gewählt hatte, bin aber an der API des Hersteller gescheitert)

Du suchst nach einem möglichst großem Match deines Greifermuster (angefangen mit "6erPack") im "Bild" (Koordinatensystem deiner Zylinder).
Reicht der "Matchwert" (greifbar mit dem Greifer und allen 6 aktiven Saugnäpfen) nicht aus, wiederholst du die Versuche mit Permutationen deiner verfügbaren Saugnäpfe (2^6 Kombinationen insgesamt, die Reihenfolge sollte erst mit 6 Saugnäpfen, dann allen Permuationen von 5, dann alle Permuationen von 4 usw. saugnäpfen erfolgen), bis du im worst case den ersten Zylinder einzeln ergreifen musst.

Dann wiederholst du deine Mustersuche auf die verbleibenden Zylinder.

Das kann man bestimmt auch ohne sowas aufwendiges wie optischer Mustererkennung machen, mir will nur gerade keine andeere MEthode effektiv einfallen.

PS: Ich denke es sollte bei einer vorhersehbaren rasterartigen Verteilung (nicht vollkommen Chaotisch aber mit Abweichungen) nie dazu kommen dass man bei einer Entnahme mit vielen Elementen für die Folgeentnahme irgend ein negativen Einfluss nimmt ...

Eine Situation bei der eine Entnahme von 1 x 4 Elementen zur Folge hat dass man danach 2 x 1 elemente und damit 3 Züge machen muss
obwohl man mit 2 x 3 Elementen nur 2 Züge braucht halte ich für unwahrscheinlich und würde es als Edge Case ignorieren.

Vorausgesetzt, man entnimmt nicht unsinnig in der Mitte, Entnahmen aus der Mitte sollten einen negativen Einfluss auf den Matchwert haben.

Gnom67
06.11.2019, 18:41
Wäre es nicht sinnvoll, dafür zu sorgen, dass immer sechs Zylinder gegriffen werden?

Wie groß ist denn die Abweichung, die bei der Position der Zylinder auftreten kann?
Könnte man die Saungnäpfe "feinjustieren? - Entweder aktiv durch Servomotoren oder passiv, indem sie sich einfach mit einer Zunge oder Lasche oder irgendwie mechanisch selbst an der Position der Zylinder ausrichten...