Alternieren der Teiletypen
Erste Option
Der Parameter multi_part_quantity wird verwendet, um EYE+ aufzufordern, nach einem oder mehreren Teilen eines bestimmten Typs, entweder a
or b
, zu suchen. Das bedeutet, dass jedes Mal, wenn EYE+ ein Bild aufnimmt, nach mindestens <n> Teilen des(der) spezifischen Typs(en) auf dem Bild gesucht wird. Wenn diese Teile nicht gefunden werden, werden keine Koordinaten gesendet. Neue Vibrationen werden gestartet und ein neues Bild aufgenommen, bis diese <n> Teile gefunden werden.
Dieser Parameter beeinflusst die Funktion der Befehle get_part und prepare_part.
Das folgende Szenario beschreibt, wie man ein Teil vom Typ a
, dann ein Teil vom Typ b
und so weiter erhält, immer in abwechselnder Reihenfolge.
[set_parameter multi_part_quantity a 1]: Setzen Sie den Parameter multi_part_quantity für
a
auf 1.[set_parameter multi_part_quantity b 0]: Setzen Sie den Parameter multi_part_quantity für
b
auf 0.[get_part]: Führen Sie den Befehl get_part aus. Dies wird entweder den Asycube vibrieren lassen und ein Bild aufnehmen oder direkt die Koordinaten eines Teils
a
senden. Die Vibration des Asycubes und die Bildanalyse wird erst beendet, wenn ein oder mehr Teilea
gefunden wurden. Da multi_part_quantity fürb
auf 0 gesetzt ist, wird hier kein Teilb
zurückgegeben.[Teil a entnehmen & platzieren]: Das Teil des Typs
a
wird entnommen und platziert.[set_parameter multi_part_quantity a 0]: Setzen Sie den Parameter multi_part_quantity für
a
auf 0.[set_parameter multi_part_quantity b 1]: Setzen Sie den Parameter multi_part_quantity für
b
auf 1.[get_part]: Führen Sie den Befehl get_part aus. Dies wird entweder den Asycube vibrieren lassen und ein Bild aufnehmen oder direkt die Koordinaten eines Teils
b
senden. Die Vibration des Asycubes und die Bildanalyse wird erst beendet, wenn ein oder mehr Teile des Typsb
gefunden wurden und die Anforderung somit erfüllt ist. Da multi_part_quantity füra
nun auf 0 gesetzt ist, wird hier niemals ein Teila
zurückgegeben.[Teil b entnehmen & platzieren]: Das Teil des Typs
b
wird entnommen und platziert.Wiederholen Sie den Vorgang ab Schritt 1. Der Zyklus stoppt, wenn EYE+ den Befehl stop production erhält.
Zweite Option
Das folgende Szenario ist streng genommen nicht äquivalent zu der oben beschriebenen ersten Option, aber es könnte verwendet werden, um ein ähnliches Ergebnis zu erzielen. Anstatt abwechselnd ein Teil a
und ein Teil b
anzufordern, fragen wir nun gleichzeitig nach a
und b
. In diesem Fall wird das System sicherstellen, dass get_part beide Teile in derselben Antwort zurückgibt. Das bedeutet, dass mindestens ein Teil von jedem Typ gleichzeitig entnehmbar sein muss.
Dies kann nützlich sein, wenn der Roboter z.B. zwei Greifer hat und sowohl a
als auch b
greifen muss, um seine Arbeit fortzusetzen.
Die Anforderung, dass sowohl a
als auch b
gleichzeitig entnehmbar sein müssen, verringert die Wahrscheinlichkeit, dass get_part nach einer Beschickungssequenz ausgeführt werden kann und kann daher die Zyklusdauer der Anwendung erhöhen.
[set_parameter multi_part_quantity a 1]: Setzen Sie den Parameter multi_part_quantity für
a
auf 1.[set_parameter multi_part_quantity b 1]: Setzen Sie den Parameter multi_part_quantity für
b
auf 1.[get_part]: Führen Sie den Befehl get_part aus. Dies wird entweder den Asycube vibrieren lassen und ein Bild aufnehmen oder direkt die Koordinaten eines Teils des Typs
a
und eines Teils des Typsb
senden. Die Vibration des Asycubes und die Bildanalyse wird erst beendet, wenn ein oder mehr Teile beider Typen gefunden wurden.[Teil a & b entnehmen & platzieren]: Das Teil des Typs
a
und das Teil des Typsb
werden entnommen und platziert.Wiederholen Sie den Vorgang ab Schritt 1. Der Zyklus stoppt, wenn EYE+ den Befehl stop production erhält.