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.
Lesezeichen