Arm#
Invoering#
De 6-assige robotarm is een robotmanipulator die wordt gebruikt in de CTE-werkcel. In VEXcode EXP maken armblokken het mogelijk voor een EXP Brain om de 6-assige arm te bewegen, de eindeffector te roteren, te controleren of bewegingen mogelijk zijn en aangesloten gereedschappen zoals de magneetgrijper of de pennenhouder te besturen.
Deze pagina is bedoeld voor CTE Workcell-projecten waarbij de 6-assige arm is verbonden met een EXP Brain. Als u de 6-assige arm los gebruikt met de CTE Tile, raadpleeg dan de pagina CTE Arm API.
Hieronder vindt u een lijst met beschikbare blokken:
Acties — Beweeg de 6-assige arm naar de gewenste posities of oriëntaties.
verplaats arm naar positie — Verplaatst de 6-assige arm naar een opgegeven x-, y- en z-coördinaat.
verhoog de armpositie — Verplaatst de 6-assige arm over een afstand vanaf zijn huidige positie.
beweeg arm naar oriëntatie — Draait de eindeffector naar een gespecificeerde oriëntatie.
increment arm orientation — Draait de eindeffector met een opgegeven aantal graden.
Instellingen — Configureer beweging, gereedschappen en bedieningsinstellingen.
set arm speed — Stelt de bewegingssnelheid van de 6-assige arm in.
set arm end effector — Selecteert het gereedschap dat aan de 6-assige arm is bevestigd.
armmagneetmodus instellen — Schakelt het magneetoppakgereedschap in of uit.
set arm pen offset — Stelt de verticale offset in voor het penhoudergereedschap.
set arm to control stopped — Stopt de 6-assige arm en voorkomt verdere beweging van de arm.
Waarden — Controleer of een beweging kan worden uitgevoerd, of de beweging is voltooid, of er een botsing heeft plaatsgevonden, lees de huidige positie of oriëntatie, of voer blokken uit wanneer er Arm-gebeurtenissen plaatsvinden.
arm naar positie bewegen? — Geeft aan of de 6-assige arm naar een opgegeven positie kan bewegen.
arm increment position? — Geeft aan of de 6-assige arm een opgegeven afstand kan afleggen.
arm move end effector? — Geeft aan of de eindeffector naar een bepaalde oriëntatie kan draaien.
arm increment orientation? — Geeft aan of de eindeffector kan roteren met een opgegeven aantal graden.
Is de arm klaar met bewegen? — Geeft aan of de 6-assige arm klaar is met bewegen.
arm is gecrasht? — Geeft aan of de 6-assige arm is gecrasht tijdens het bewegen.
armpositie — Geeft de huidige positie van de 6-assige arm langs een geselecteerde as terug.
armoriëntatie — Geeft de huidige oriëntatie van de eindeffector langs een geselecteerde as weer.
wanneer armbesturing is gestopt — Voert de bijgevoegde stack uit wanneer de besturing is gestopt.
wanneer arm crashte — Voert de bijgevoegde stack uit wanneer een crash wordt gedetecteerd.
Acties#
arm in positie brengen#
Het stapelblok verplaats de arm naar positie verplaatst de 6-assige arm naar een opgegeven x-, y- en z-coördinaat.
De x-, y- en z-coördinaten beschrijven de positie van de eindeffector in de driedimensionale ruimte. Gebruik arm move to position? vóór dit blok als de doelpositie zich mogelijk buiten het bereikbare werkgebied van de 6-assige arm bevindt.
beweeg [Arm1 v] naar positie x:[120] y:[0] z:[100] [mm v] ▶
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
X |
De x-coördinaat van de doelpositie. |
y |
De y-coördinaat van de doelpositie. |
z |
De z-coördinaat van de doelpositie. |
eenheid |
De eenheid die gebruikt wordt voor de x-, y- en z-coördinaten: mm (millimeter) of inches. |
uitbreidende pijl |
Standaard is de 6-assige arm klaar met bewegen voordat het volgende blok wordt uitgevoerd. Vouw het blok uit en wacht niet om de beweging te starten en ga direct door naar het volgende blok. |
Voorbeeld
wanneer gestart
[Move Arm1 to a standard position at the start of the project.]
beweeg [Arm1 v] naar positie x:(120) y:(120) z:(75) [mm v] ▶
armpositie vergroten#
Het stackblok verplaats de arm verplaatst de 6-assige arm over een bepaalde afstand vanaf de huidige positie langs de x-, y- en z-assen.
Gebruik dit blok om te bewegen ten opzichte van de huidige positie van de eindeffector. Gebruik arm increment position? vóór dit blok als de beweging de 6-assige arm buiten zijn bereikbare werkruimte kan plaatsen.
verhoog [Arm1 v] positie met x:[0] y:[0] z:[0] [mm v] ▶
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
X |
De afstand die langs de x-as moet worden afgelegd. |
y |
De afstand die langs de y-as moet worden afgelegd. |
z |
De afstand die langs de z-as moet worden afgelegd. |
eenheid |
De eenheid die gebruikt wordt voor de x-, y- en z-afstanden: mm (millimeter) of inches. |
uitbreidende pijl |
Standaard is de 6-assige arm klaar met bewegen voordat het volgende blok wordt uitgevoerd. Vouw het blok uit en wacht niet om de beweging te starten en ga direct door naar het volgende blok. |
Voorbeeld
wanneer gestart
[Move Arm1 100 millimeters along the x-axis.]
verhoog [Arm1 v] positie met x:[100] y:[0] z:[0] [mm v] ▶
arm in de juiste richting bewegen#
Het stapelblok arm naar oriëntatie bewegen roteert de eindeffector naar een opgegeven oriëntatie.
Oriëntatie beschrijft hoe de eindeffector roteert. Pitch kantelt de eindeffector omhoog of omlaag, roll roteert hem van links naar rechts en yaw roteert hem naar links of rechts.
beweeg [Arm1 v] naar oriëntatie [pitch v] [0] graden ▶
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
oriëntatie |
De as waaromheen de eindeffector draait:
|
graden |
De doeloriëntatiehoek, in graden. |
uitbreidende pijl |
Standaard is de 6-assige arm klaar met bewegen voordat het volgende blok wordt uitgevoerd. Vouw het blok uit en wacht niet om de beweging te starten en ga direct door naar het volgende blok. |
Voorbeeld
wanneer gestart
[Rotate the end effector to 270 degrees of yaw.]
beweeg [Arm1 v] naar oriëntatie [yaw v] [270] graden ▶
armoriëntatie vergroten#
Het stackblok increment arm orientation roteert de eindeffector met een bepaald aantal graden ten opzichte van de huidige oriëntatie.
Gebruik dit blok om te roteren ten opzichte van de huidige stamp-, rol- of gierbeweging van de eindeffector.
verhoog [Arm1 v] oriëntatie met [pitch v] [0] graden ▶
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
oriëntatie |
De as waaromheen de eindeffector draait:
|
graden |
Het aantal graden waarmee de eindeffector moet worden gedraaid. |
uitbreidende pijl |
Standaard is de 6-assige arm klaar met bewegen voordat het volgende blok wordt uitgevoerd. Vouw het blok uit en wacht niet om de beweging te starten en ga direct door naar het volgende blok. |
Voorbeeld
wanneer gestart
[Rotate the end effector 40 degrees in pitch.]
verhoog [Arm1 v] oriëntatie met [pitch v] [40] graden ▶
Instellingen#
stel armsnelheid in#
Het stackblok set arm speed stelt de bewegingssnelheid van de 6-assige arm in.
De snelheid van de 6-assige arm wordt aan het begin van een project ingesteld op 50%.
stel [Arm1 v] snelheid in op [50] %
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
procent |
De bewegingssnelheid van de 6-assige arm, van 1 tot 100 procent. |
Voorbeeld
wanneer gestart
[Set Arm1's speed to 30%.]
stel [Arm1 v] snelheid in op [30] %
beweeg [Arm1 v] naar positie x:[120] y:[120] z:[70] [mm v] ▶
set arm end effector#
Het stapelblok set arm end effector selecteert het gereedschap dat aan de 6-assige arm is bevestigd.
Wanneer de eindeffector wordt verwisseld, past de 6-assige arm automatisch de Z-offset aan aan het geselecteerde gereedschap. De eindeffector is aan het begin van een project ingesteld op het magneetgereedschap.
stel [Arm1 v] eindeffector in op [magneet v]
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
eindeffector |
Het gereedschap dat aan de 6-assige arm is bevestigd: magneet (Magneet Pickup Tool) of pen (Pen Holder Tool). |
Voorbeeld
wanneer gestart
[Set Arm1 to use the Pen Holder Tool.]
stel [Arm1 v] eindeffector in op [pen v]
armmagneetmodus instellen#
Het stapelblok in de stand voor magneetarm activeert of deactiveert het magneetoppakgereedschap.
De magneetmodus blijft actief totdat een ander set arm magnet mode-blok deze wijzigt. De magneetmodus wordt aan het begin van een project teruggezet naar vrijgegeven.
stel [Arm1 v] magneet in op [ingeschakeld v]
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
modus |
De magneetgrijper heeft de volgende statussen: ingeschakeld om objecten op te pakken of losgelaten om een vastgehouden object los te laten en geen nieuwe objecten op te pakken. |
Voorbeeld
wanneer gestart
[Pick up objects, then drop them after 2 seconds.]
stel [Arm1 v] magneet in op [ingeschakeld v]
wacht [2] seconden
stel [Arm1 v] magneet in op [losgelaten v]
armpen offset#
Het stapelblok set arm pen offset stelt de verticale offset in voor het penhoudergereedschap.
Stel de eindeffector in op pen voordat u dit blok gebruikt. Als het gereedschap ‘Penhouder’ niet is geselecteerd, heeft dit blok geen effect.
De penoffset is de afstand van de bovenkant van de penhouder tot de punt van de whiteboardstift. Aan het begin van een project is de penoffset ingesteld op 0. Een penoffset van 0 plaatst het nulpunt van de z-as van de arm op het punt waar de penhouder is verbonden met de 6-assige arm.
stel [Arm1 v] penoffset in op [0] [mm v]
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
verschuiving |
De penoffsetwaarde. |
eenheid |
De eenheid die wordt gebruikt voor de penoffset: mm (millimeter) of inches. |
Voorbeeld
wanneer gestart
[Set the end effector to the Pen Holder Tool and set the pen offset to 1 inch.]
stel [Arm1 v] eindeffector in op [pen v]
stel [Arm1 v] penoffset in op [1] [inches v]
beweeg [Arm1 v] naar positie x:[120] y:[120] z:[0] [mm v] ▶
arm naar de stand ‘gestopt’ zetten#
Het stackblok set arm to control stopped stopt onmiddellijk de 6-assige arm en voorkomt dat er nog meer armblokken worden uitgevoerd.
Zodra dit codeblok is uitgevoerd, kan de 6-assige arm pas weer worden ingeschakeld nadat het project opnieuw is opgestart.
stel [Arm1 v] in op aansturing gestopt
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
Voorbeeld
wanneer gestart
[Control stop after a movement.]
beweeg [Arm1 v] naar positie x:[120] y:[120] z:[70] [mm v] ▶
stel [Arm1 v] in op aansturing gestopt
Waarden#
Arm naar de juiste positie bewegen?#
Het Booleaanse blok arm bewegen naar positie? geeft aan of de 6-assige arm naar een opgegeven x-, y- en z-coördinaat kan bewegen.
Dit blok controleert een doelpositie voordat de 6-assige arm beweegt. Het kan helpen voorkomen dat een project probeert de arm buiten het bereikbare werkgebied te bewegen.
<[Arm1 v] beweeg naar positie x:[0] y:[0] z:[0] [mm v]?>
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
X |
De x-coördinaat van de doelpositie. |
y |
De y-coördinaat van de doelpositie. |
z |
De z-coördinaat van de doelpositie. |
eenheid |
De eenheid die gebruikt wordt voor de x-, y- en z-coördinaten: mm (millimeter) of inches. |
Voorbeeld
wanneer gestart
[Check if Arm1 can move to a position.]
als <niet <[Arm1 v] beweeg naar positie x:[0] y:[0] z:[0] [mm v]?>> dan
druk [The 6-Axis Arm can't move to this position.] af op scherm ▶
einde
armverhogingspositie?#
Het Booleaanse blok arm increment position? geeft aan of de 6-assige arm de opgegeven afstand vanaf zijn huidige positie kan afleggen.
Dit blok controleert een incrementele beweging voordat de 6-assige arm beweegt.
<[Arm1 v] verhoog positie met x:[0] y:[0] z:[0] [mm v]?>
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
X |
De afstand die langs de x-as moet worden afgelegd. |
y |
De afstand die langs de y-as moet worden afgelegd. |
z |
De afstand die langs de z-as moet worden afgelegd. |
eenheid |
De eenheid die gebruikt wordt voor de x-, y- en z-afstanden: mm (millimeter) of inches. |
Voorbeeld
wanneer gestart
[Check if Arm1 can increment from its current position.]
als <niet <[Arm1 v] verhoog positie met x:[0] y:[500] z:[0] [mm v]?>> dan
druk [The 6-Axis Arm can't move that distance.] af op scherm ▶
einde
armbeweging eindeffector?#
Het Booleaanse blok arm move end effector? geeft aan of de eindeffector naar een bepaalde oriëntatie kan draaien.
Gebruik dit blok om te controleren of een gewenste stamp-, rol- of gierwaarde binnen het toegestane bereik ligt voordat de eindeffector roteert.
<[Arm1 v] beweeg eindeffector naar [pitch v] [0] graden?>
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
oriëntatie |
De as waaromheen de eindeffector draait:
|
graden |
De doeloriëntatiehoek, in graden. |
Voorbeeld
wanneer gestart
[Check if Arm1 can roll its end effector to an orientation.]
als <[Arm1 v] beweeg eindeffector naar [roll v] [40] graden?> dan
druk [The end effector can roll to that orientation.] af op scherm ▶
einde
Oriëntatie van de armverhoging?#
Het Booleaanse blok arm increment orientation? geeft aan of de eindeffector met een bepaald aantal graden kan draaien ten opzichte van zijn huidige oriëntatie.
Gebruik dit blok om een incrementele stamp-, rol- of gierbeweging te controleren voordat de eindeffector wordt gedraaid.
<[Arm1 v] verhoog oriëntatie met [pitch v] [0] graden?>
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
oriëntatie |
De as waaromheen de eindeffector draait:
|
graden |
Het aantal graden waarmee de eindeffector moet worden gedraaid. |
Voorbeeld
wanneer gestart
[Check if Arm1 can increment yaw.]
als <[Arm1 v] verhoog oriëntatie met [yaw v] [20] graden?> dan
druk [The end effector can increment yaw by 20 degrees.] af op scherm ▶
einde
Is de arm gestopt met bewegen?#
Het Booleaanse blok Is de arm klaar met bewegen? retourneert of de 6-assige arm klaar is met bewegen.
Dit blok is handig nadat een bewegingsblok is uitgebreid naar en wacht niet.
<[Arm1 v] klaar met bewegen?>
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
Voorbeeld
wanneer gestart
[Display the current y-position while Arm1 moves.]
beweeg [Arm1 v] naar positie x:(-100) y:(200) z:(100) [mm v] ◀ en niet wachten
herhaal totdat <[Arm1 v] klaar met bewegen?>
druk ([Arm1 v] positie [y v] in [mm v]) af op scherm ◀ en cursor naar volgende rij
wacht [0.25] seconden
einde
Is de arm gebroken?#
Het Booleaanse blok Is de arm vastgelopen? geeft aan of de 6-assige arm tijdens het bewegen is vastgelopen.
Wanneer een botsing wordt gedetecteerd, stopt de 6-assige arm met de motorbeweging en kan deze slap lijken te hangen. Dit vermindert de belasting en helpt de motoren te beschermen tegen onbedoelde schade.
<[Arm1 v] is gecrasht?>
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
Voorbeeld
wanneer gestart
[Quickly move to the specified location.]
stel [Arm1 v] snelheid in op [100] %
beweeg [Arm1 v] naar positie x:[-20] y:[240] z:[40] [mm v] ◀ en niet wachten
[While moving, check for a crash.]
altijd
als <[Arm1 v] is gecrasht?> dan
[Indicate a crash with the Signal Tower and Brain screen.]
druk [Crash Detected] af op scherm ▶
stel [SignalTower2 v] in op [groen v] en [uit v]
stel [SignalTower2 v] in op [rood v] en [effen v]
onderbreek
einde
einde
armpositie#
Het armpositie-rapportageblok geeft de huidige positie van de 6-assige arm langs een geselecteerde as weer.
Gebruik dit blok om de huidige positie van de eindeffector langs de x-, y- of z-as af te lezen.
([Arm1 v] positie [x v] in [mm v])
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
as |
De positie-as die moet worden gerapporteerd:
|
eenheid |
De eenheid die voor de positiewaarde wordt gebruikt: mm (millimeter) of inches. |
Voorbeeld
wanneer gestart
[Display the current y-position while Arm1 moves.]
beweeg [Arm1 v] naar positie x:(-100) y:(200) z:(100) [mm v] ◀ en niet wachten
herhaal totdat <[Arm1 v] klaar met bewegen?>
druk ([Arm1 v] positie [y v] in [mm v]) af op scherm ◀ en cursor naar volgende rij
wacht [0.25] seconden
einde
armoriëntatie#
Het armoriëntatie-rapportageblok geeft de huidige oriëntatie van de eindeffector rond een geselecteerde as in graden weer.
Gebruik dit blok om de huidige stamp-, rol- of gierhoek van de eindeffector uit te lezen.
([Arm1 v] oriëntatie [pitch v] in graden)
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
oriëntatie |
De oriëntatie-as die moet worden gerapporteerd:
|
Voorbeeld
wanneer gestart
[Display the current yaw after rotating the end effector.]
beweeg [Arm1 v] naar oriëntatie [yaw v] [90] graden ◀ en niet wachten
herhaal totdat <[Arm1 v] klaar met bewegen?>
druk ([Arm1 v] oriëntatie [yaw v] in graden) af op scherm ◀ en cursor naar volgende rij
wacht [0.25] seconden
einde
toen de armbediening stopte#
Het Hat-blok wanneer de armbesturing is gestopt voert de bijbehorende stack uit wanneer de stopfunctie van de 6-assige armbesturing is ingeschakeld.
wanneer [Arm1 v] aansturing gestopt :: hat events
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
toen de arm crashte#
Het wanneer arm vastloopt Hat-blok voert de bijbehorende stack uit wanneer de 6-assige arm vastloopt tijdens het bewegen.
Wanneer een botsing wordt gedetecteerd, stopt de 6-assige arm met de motorbeweging en kan deze slap lijken te hangen. Dit vermindert de belasting en helpt de motoren te beschermen tegen onbedoelde schade.
when [Arm1 v] crashed :: hat events
Parameter |
Beschrijving |
|---|---|
apparaat |
De geconfigureerde 6-assige arm die gebruikt moet worden. |
Voorbeeld
when [Arm1 v] crashed :: hat events
[Indicate a crash with the Signal Tower and Brain screen.]
druk [Crash Detected] af op scherm ▶
stel [SignalTower2 v] in op [rood v] en [effen v]