Arm#
Einführung#
Der 6-Achs-Roboterarm ist ein Robotermanipulator, der in der CTE-Arbeitszelle verwendet wird. In VEXcode EXP ermöglichen Armblöcke einem EXP Brain, den 6-Achs-Arm zu bewegen, seinen Endeffektor zu drehen, die Machbarkeit von Bewegungen zu prüfen und angebrachte Werkzeuge wie das Magnetaufnahmewerkzeug oder das Stifthalterwerkzeug zu steuern.
Diese Seite ist für CTE-Workcell-Projekte gedacht, bei denen der 6-Achsen-Arm mit einem EXP Brain verbunden ist. Wenn Sie den 6-Achsen-Arm allein mit der CTE Tile verwenden, nutzen Sie stattdessen die Seite CTE Arm API.
Nachfolgend finden Sie eine Liste der verfügbaren Blöcke:
Aktionen – Den 6-Achsen-Arm in Positionen oder Ausrichtungen bewegen.
Arm in Position bewegen — Bewegt den 6-Achsen-Arm zu einer bestimmten x-, y- und z-Koordinate.
Armposition erhöhen — Bewegt den 6-Achsen-Arm um eine Distanz von seiner aktuellen Position.
Arm in die gewünschte Ausrichtung bewegen — Dreht den Endeffektor in eine bestimmte Ausrichtung.
Armorientierung erhöhen — Dreht den Endeffektor um eine bestimmte Anzahl von Grad.
Einstellungen – Bewegungs-, Werkzeug- und Steuerungseinstellungen konfigurieren.
set arm speed — Legt die Bewegungsgeschwindigkeit des 6-Achsen-Arms fest.
set arm end effector — Wählt das am 6-Achs-Arm befestigte Werkzeug aus.
Magnetarmmodus einstellen — Aktiviert oder deaktiviert das Magnetaufnahmewerkzeug.
set arm pen offset — Legt den vertikalen Versatz für das Stifthalter-Werkzeug fest.
set arm to control stopped — Stoppt den 6-Achsen-Arm und verhindert weitere Armbewegungen.
Werte – Prüfen, ob eine Bewegung ausgeführt werden kann, ob eine Bewegung abgeschlossen ist, ob ein Absturz aufgetreten ist, die aktuelle Position oder Ausrichtung ablesen oder Blöcke ausführen, wenn Arm-Ereignisse auftreten.
Arm in Position bewegen? — Gibt zurück, ob der 6-Achsen-Arm in eine bestimmte Position bewegt werden kann.
Arm-Inkrementposition? — Gibt zurück, ob sich der 6-Achsen-Arm um eine bestimmte Distanz bewegen kann.
Armbewegung Endeffektor? — Gibt zurück, ob der Endeffektor in eine bestimmte Ausrichtung gedreht werden kann.
Arm-Inkrementorientierung? — Gibt zurück, ob sich der Endeffektor um eine bestimmte Anzahl von Grad drehen kann.
Armbewegung beendet? — Gibt zurück, ob die Bewegung des 6-Achsen-Arms beendet ist.
Arm abgestürzt? — Gibt zurück, ob der 6-Achsen-Arm während der Bewegung abgestürzt ist.
Armposition — Gibt die aktuelle Position des 6-Achsen-Arms entlang einer ausgewählten Achse zurück.
Armorientierung — Gibt die aktuelle Orientierung des Endeffektors entlang einer ausgewählten Achse zurück.
wenn die Armsteuerung gestoppt wurde — Führt den angehängten Stack aus, wenn der Kontrollstopp aktiviert ist.
wenn arm abstürzt — Führt den angehängten Stack aus, wenn ein Absturz erkannt wird.
Aktionen#
Arm in Position bringen#
Der Verschiebearm in Position-Stapelblock bewegt den 6-Achsen-Arm zu einer festgelegten x-, y- und z-Koordinate.
Die x-, y- und z-Koordinaten beschreiben die Position des Endeffektors im dreidimensionalen Raum. Verwenden Sie Arm bewegt sich zu Position? vor diesem Block, falls die Zielposition außerhalb des erreichbaren Arbeitsbereichs des 6-Achs-Arms liegen könnte.
bewege [Arm1 v] zu Position x:[120] y:[0] z:[100] [mm v] ▶
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
X |
Die x-Koordinate der Zielposition. |
y |
Die y-Koordinate der Zielposition. |
z |
Die z-Koordinate der Zielposition. |
Einheit |
Die Einheit für die x-, y- und z-Koordinaten ist mm (Millimeter) oder Zoll. |
sich ausdehnender Pfeil |
Standardmäßig ist die Bewegung des 6-Achsen-Arms abgeschlossen, bevor der nächste Block ausgeführt wird. Erweitere den Block, und warte nicht, um die Bewegung zu starten und sofort mit dem nächsten Block fortzufahren. |
Beispiel
wenn gestartet
[Move Arm1 to a standard position at the start of the project.]
bewege [Arm1 v] zu Position x:(120) y:(120) z:(75) [mm v] ▶
Schrittweite Armposition#
Der Inkrement-Armposition-Stapelblock bewegt den 6-Achsen-Arm um eine festgelegte Distanz von seiner aktuellen Position entlang der x-, y- und z-Achse.
Verwenden Sie diesen Block, um sich relativ zur aktuellen Position des Endeffektors zu bewegen. Verwenden Sie Armposition inkrementieren? vor diesem Block, falls die Bewegung den 6-Achsen-Arm außerhalb seines erreichbaren Arbeitsbereichs positionieren könnte.
erhöhe [Arm1 v] Position um x:[0] y:[0] z:[0] [mm v] ▶
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
X |
Die Strecke, die entlang der x-Achse zurückgelegt werden muss. |
y |
Die Strecke, die entlang der y-Achse zurückgelegt werden muss. |
z |
Die Strecke, die entlang der z-Achse zurückgelegt werden muss. |
Einheit |
Die Einheit für die x-, y- und z-Abstände ist mm (Millimeter) oder Zoll. |
sich ausdehnender Pfeil |
Standardmäßig ist die Bewegung des 6-Achsen-Arms abgeschlossen, bevor der nächste Block ausgeführt wird. Erweitere den Block, und warte nicht, um die Bewegung zu starten und sofort mit dem nächsten Block fortzufahren. |
Beispiel
wenn gestartet
[Move Arm1 100 millimeters along the x-axis.]
erhöhe [Arm1 v] Position um x:[100] y:[0] z:[0] [mm v] ▶
Arm in die richtige Position bewegen#
Der Bewegungsarm in Ausrichtung-Stapelblock dreht den Endeffektor in eine bestimmte Ausrichtung.
Die Orientierung beschreibt die Drehung des Endeffektors. Neigung neigt den Endeffektor nach oben oder unten, Rollen dreht ihn seitlich und Gieren dreht ihn nach links oder rechts.
bewege [Arm1 v] zu Ausrichtung [Nick v] [0] Grad ▶
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Orientierung |
Die Achsen, um die der Endeffektor gedreht wird:
|
Abschlüsse |
Der Zielorientierungswinkel in Grad. |
sich ausdehnender Pfeil |
Standardmäßig ist die Bewegung des 6-Achsen-Arms abgeschlossen, bevor der nächste Block ausgeführt wird. Erweitere den Block, und warte nicht, um die Bewegung zu starten und sofort mit dem nächsten Block fortzufahren. |
Beispiel
wenn gestartet
[Rotate the end effector to 270 degrees of yaw.]
bewege [Arm1 v] zu Ausrichtung [Gier v] [270] Grad ▶
Ausrichtung des Inkrementarms#
Der Inkrement-Armorientierungsblock dreht den Endeffektor um eine bestimmte Anzahl von Grad aus seiner aktuellen Ausrichtung.
Mit diesem Block können Sie relativ zur aktuellen Nick-, Roll- oder Gierachse des Endeffektors rotieren.
erhöhe [Arm1 v] Ausrichtung um [Nick v] [0] Grad ▶
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Orientierung |
Die Achsen, um die der Endeffektor gedreht wird:
|
Abschlüsse |
Die Gradzahl, um die der Endeffektor gedreht werden soll. |
sich ausdehnender Pfeil |
Standardmäßig ist die Bewegung des 6-Achsen-Arms abgeschlossen, bevor der nächste Block ausgeführt wird. Erweitere den Block, und warte nicht, um die Bewegung zu starten und sofort mit dem nächsten Block fortzufahren. |
Beispiel
wenn gestartet
[Rotate the end effector 40 degrees in pitch.]
erhöhe [Arm1 v] Ausrichtung um [Nick v] [40] Grad ▶
Einstellungen#
Armgeschwindigkeit einstellen#
Der Set-Arm-Speed-Block legt die Bewegungsgeschwindigkeit des 6-Achsen-Arms fest.
Die Geschwindigkeit des 6-Achsen-Arms ist zu Beginn eines Projekts auf 50 % eingestellt.
[Arm1 v] Geschwindigkeit auf [50] % setzen
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Prozent |
Die Bewegungsgeschwindigkeit des 6-Achsen-Arms, von 1 bis 100 Prozent. |
Beispiel
wenn gestartet
[Set Arm1's speed to 30%.]
[Arm1 v] Geschwindigkeit auf [30] % setzen
bewege [Arm1 v] zu Position x:[120] y:[120] z:[70] [mm v] ▶
Set-Arm-Endeffektor#
Der Set-Arm-Endeffektor-Stapelblock wählt das am 6-Achs-Arm befestigte Werkzeug aus.
Beim Wechsel des Endeffektors passt der 6-Achsen-Arm seinen Z-Offset automatisch an das ausgewählte Werkzeug an. Der Endeffektor ist zu Projektbeginn auf das Magnet-Aufnahmewerkzeug eingestellt.
setze [Arm1 v] Endeffektor auf [Magnet v]
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Endeffektor |
Das am 6-Achsen-Arm befestigte Werkzeug: Magnet (Magnet-Aufnahmewerkzeug) oder Stift (Stifthalterwerkzeug). |
Beispiel
wenn gestartet
[Set Arm1 to use the Pen Holder Tool.]
setze [Arm1 v] Endeffektor auf [Stift v]
Armmagnetmodus einstellen#
Der Magnetmodus des Einstellarms-Stapelblock aktiviert oder deaktiviert das Magnetaufnahmewerkzeug.
Der Magnetmodus bleibt aktiv, bis er durch einen anderen Magnetmodus-Set-Block geändert wird. Zu Beginn eines Projekts wird der Magnetmodus auf freigegeben zurückgesetzt.
setze [Arm1 v] Magnet auf [aktiviert v]
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Modus |
Der Status des Magnet-Aufnahmewerkzeugs: aktiviert, um Objekte aufzuheben, oder losgelassen, um alle gehaltenen Objekte fallen zu lassen und keine neuen Objekte aufzuheben. |
Beispiel
wenn gestartet
[Pick up objects, then drop them after 2 seconds.]
setze [Arm1 v] Magnet auf [aktiviert v]
warte [2] Sekunden
setze [Arm1 v] Magnet auf [losgelassen v]
Set Arm Stift Offset#
Der Stapelblock set arm pen offset legt den vertikalen Versatz für das Stifthalterwerkzeug fest.
Stellen Sie den Endeffektor auf Stift ein, bevor Sie diesen Block verwenden. Wenn das Stifthalter-Werkzeug nicht ausgewählt ist, hat dieser Block keine Wirkung.
Der Stiftversatz ist der Abstand von der Oberkante des Stifthalters bis zur Spitze des Whiteboardmarkers. Zu Beginn eines Projekts wird der Stiftversatz auf 0 gesetzt. Ein Stiftversatz von 0 platziert den Ursprung der Z-Achse des Arms an dem Punkt, an dem der Stifthalter mit dem 6-Achsen-Arm verbunden ist.
setze [Arm1 v] Stiftversatz auf [0] [mm v]
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Versatz |
Der Stiftversatzwert. |
Einheit |
Die Einheit für den Stiftversatz: mm (Millimeter) oder Zoll. |
Beispiel
wenn gestartet
[Set the end effector to the Pen Holder Tool and set the pen offset to 1 inch.]
setze [Arm1 v] Endeffektor auf [Stift v]
setze [Arm1 v] Stiftversatz auf [1] [Zoll v]
bewege [Arm1 v] zu Position x:[120] y:[120] z:[0] [mm v] ▶
Arm zur Steuerung angehalten#
Der Set-Arm-zu-Steuerung-angehalten-Stapelblock stoppt sofort den 6-Achsen-Arm und verhindert, dass weitere Armblöcke ausgeführt werden.
Sobald dieser Block ausgeführt wurde, kann der 6-Achsen-Arm erst nach einem Neustart des Projekts wieder aktiviert werden.
setze [Arm1 v] Steuerung auf gestoppt
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Beispiel
wenn gestartet
[Control stop after a movement.]
bewege [Arm1 v] zu Position x:[120] y:[120] z:[70] [mm v] ▶
setze [Arm1 v] Steuerung auf gestoppt
Werte#
Arm in Position bringen?#
Der boolesche Block Armbewegung zu Position? gibt zurück, ob der 6-Achsen-Arm zu einer bestimmten x-, y- und z-Koordinate bewegt werden kann.
Dieser Block prüft die Zielposition, bevor sich der 6-Achs-Arm bewegt. Dadurch kann verhindert werden, dass der Arm außerhalb seines erreichbaren Arbeitsbereichs bewegt wird.
<[Arm1 v] Bewegung zu Position x:[0] y:[0] z:[0] [mm v] möglich?>
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
X |
Die x-Koordinate der Zielposition. |
y |
Die y-Koordinate der Zielposition. |
z |
Die z-Koordinate der Zielposition. |
Einheit |
Die Einheit für die x-, y- und z-Koordinaten ist mm (Millimeter) oder Zoll. |
Beispiel
wenn gestartet
[Check if Arm1 can move to a position.]
wenn <nicht <[Arm1 v] Bewegung zu Position x:[0] y:[0] z:[0] [mm v] möglich?>> dann
drucke [The 6-Axis Arm can't move to this position.] auf Bildschirm ▶
Ende
Armschrittposition?#
Der boolesche Block Arm-Inkrementposition? gibt zurück, ob der 6-Achsen-Arm die angegebene Distanz von seiner aktuellen Position aus bewegen kann.
Dieser Block prüft eine schrittweise Bewegung, bevor sich der 6-Achsen-Arm bewegt.
<[Arm1 v] Position um x:[0] y:[0] z:[0] [mm v] erhöhen?>
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
X |
Die Strecke, die entlang der x-Achse zurückgelegt werden muss. |
y |
Die Strecke, die entlang der y-Achse zurückgelegt werden muss. |
z |
Die Strecke, die entlang der z-Achse zurückgelegt werden muss. |
Einheit |
Die Einheit für die x-, y- und z-Abstände ist mm (Millimeter) oder Zoll. |
Beispiel
wenn gestartet
[Check if Arm1 can increment from its current position.]
wenn <nicht <[Arm1 v] Position um x:[0] y:[500] z:[0] [mm v] erhöhen?>> dann
drucke [The 6-Axis Arm can't move that distance.] auf Bildschirm ▶
Ende
Armbewegungs-Endeffektor?#
Der boolesche Block Armbewegungs-Endeffektor? gibt zurück, ob sich der Endeffektor in eine bestimmte Ausrichtung drehen kann.
Mit diesem Block können Sie überprüfen, ob ein Zielwert für Nick-, Roll- oder Gierwinkel innerhalb des zulässigen Bereichs liegt, bevor Sie den Endeffektor drehen.
<[Arm1 v] Endeffektor zu [Nick v] [0] Grad bewegbar?>
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Orientierung |
Die Achsen, um die der Endeffektor gedreht wird:
|
Abschlüsse |
Der Zielorientierungswinkel in Grad. |
Beispiel
wenn gestartet
[Check if Arm1 can roll its end effector to an orientation.]
wenn <[Arm1 v] Endeffektor zu [Roll v] [40] Grad bewegbar?> dann
drucke [The end effector can roll to that orientation.] auf Bildschirm ▶
Ende
Ausrichtung der Arminkrementierung?#
Der boolesche Block Arm-Inkrementorientierung? gibt zurück, ob der Endeffektor um eine bestimmte Anzahl von Grad von seiner aktuellen Orientierung aus gedreht werden kann.
Verwenden Sie diesen Block, um eine schrittweise Nick-, Roll- oder Gierbewegung zu überprüfen, bevor Sie den Endeffektor drehen.
<[Arm1 v] Ausrichtung um [Nick v] [0] Grad erhöhbar?>
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Orientierung |
Die Achsen, um die der Endeffektor gedreht wird:
|
Abschlüsse |
Die Gradzahl, um die der Endeffektor gedreht werden soll. |
Beispiel
wenn gestartet
[Check if Arm1 can increment yaw.]
wenn <[Arm1 v] Ausrichtung um [Gier v] [20] Grad erhöhbar?> dann
drucke [The end effector can increment yaw by 20 degrees.] auf Bildschirm ▶
Ende
Der Arm hat seine Bewegung beendet?#
Der Arm ist mit der Bewegung fertig? Boolesche Block gibt zurück, ob der 6-Achsen-Arm seine Bewegung beendet hat.
Dieser Block ist nützlich, nachdem ein Bewegungsblock erweitert wurde zu und warte nicht.
<[Arm1 v] fertig mit Bewegen?>
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Beispiel
wenn gestartet
[Display the current y-position while Arm1 moves.]
bewege [Arm1 v] zu Position x:(-100) y:(200) z:(100) [mm v] ◀ und nicht warten
wiederhole bis <[Arm1 v] fertig mit Bewegen?>
drucke ([Arm1 v] Position [y v] in [mm v]) auf Bildschirm ◀ und Cursor in nächste Zeile
warte [0.25] Sekunden
Ende
Arm abgestürzt?#
Der Arm ist abgestürzt? Boolesche Block gibt zurück, ob der 6-Achsen-Arm während der Bewegung abgestürzt ist.
Wird ein Aufprall erkannt, stoppt der 6-Achs-Arm die Motorbewegung und kann schlaff wirken. Dies reduziert die Belastung und schützt die Motoren vor versehentlichen Beschädigungen.
<[Arm1 v] abgestürzt?>
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Beispiel
wenn gestartet
[Quickly move to the specified location.]
[Arm1 v] Geschwindigkeit auf [100] % setzen
bewege [Arm1 v] zu Position x:[-20] y:[240] z:[40] [mm v] ◀ und nicht warten
[While moving, check for a crash.]
für immer
wenn <[Arm1 v] abgestürzt?> dann
[Indicate a crash with the Signal Tower and Brain screen.]
drucke [Crash Detected] auf Bildschirm ▶
setze [SignalTower2 v] auf [grün v] und [aus v]
setze [SignalTower2 v] auf [rot v] und [durchgehend v]
Abbruch
Ende
Ende
Armposition#
Der Armpositions-Reporterblock gibt die aktuelle Position des 6-Achsen-Arms entlang einer ausgewählten Achse zurück.
Mit diesem Block können Sie ablesen, wo sich der Endeffektor aktuell entlang der x-, y- oder z-Achse befindet.
([Arm1 v] Position [x v] in [mm v])
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Achse |
Die anzugebenden Positionsachsen:
|
Einheit |
Die Einheit für den Positionswert: mm (Millimeter) oder Zoll. |
Beispiel
wenn gestartet
[Display the current y-position while Arm1 moves.]
bewege [Arm1 v] zu Position x:(-100) y:(200) z:(100) [mm v] ◀ und nicht warten
wiederhole bis <[Arm1 v] fertig mit Bewegen?>
drucke ([Arm1 v] Position [y v] in [mm v]) auf Bildschirm ◀ und Cursor in nächste Zeile
warte [0.25] Sekunden
Ende
Armausrichtung#
Der Armorientierungs-Reporterblock gibt die aktuelle Orientierung des Endeffektors um eine ausgewählte Achse in Grad zurück.
Mit diesem Block können Sie die aktuelle Nick-, Roll- oder Gierachse des Endeffektors auslesen.
([Arm1 v] Ausrichtung [Nick v] in Grad)
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Orientierung |
Die zu meldenden Orientierungsachsen:
|
Beispiel
wenn gestartet
[Display the current yaw after rotating the end effector.]
bewege [Arm1 v] zu Ausrichtung [Gier v] [90] Grad ◀ und nicht warten
wiederhole bis <[Arm1 v] fertig mit Bewegen?>
drucke ([Arm1 v] Ausrichtung [Gier v] in Grad) auf Bildschirm ◀ und Cursor in nächste Zeile
warte [0.25] Sekunden
Ende
als die Armsteuerung aufhörte#
Der wenn die Armsteuerung gestoppt ist Hutblock führt den angeschlossenen Stapel aus, wenn der Steuerungsstopp des 6-Achsen-Arms aktiviert wurde.
wenn [Arm1 v] Steuerung gestoppt :: hat events
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
als der Arm abstürzte#
Der wenn der Arm abstürzt Hutblock führt den angeschlossenen Stapel aus, wenn der 6-Achsen-Arm während der Bewegung abstürzt.
Wird ein Aufprall erkannt, stoppt der 6-Achs-Arm die Motorbewegung und kann schlaff wirken. Dies reduziert die Belastung und schützt die Motoren vor versehentlichen Beschädigungen.
when [Arm1 v] crashed :: hat events
Parameter |
Beschreibung |
|---|---|
Gerät |
Der konfigurierte 6-Achsen-Arm zur Verwendung. |
Beispiel
when [Arm1 v] crashed :: hat events
[Indicate a crash with the Signal Tower and Brain screen.]
drucke [Crash Detected] auf Bildschirm ▶
setze [SignalTower2 v] auf [rot v] und [durchgehend v]