Macro#
Invoering#
VEX AIM Python-macro’s zijn vooraf gedefinieerde codeblokken die naar een Python-project kunnen worden gesleept. Elke macro is een groep Python-opdrachten die samenwerken om de robot een grotere taak te laten uitvoeren.
Dit zijn geen afzonderlijke methoden die vanuit de code worden aangeroepen. In plaats daarvan wordt elke macro ingevoegd als een kant-en-klare codesequentie die direct kan worden gebruikt of na toevoeging aan een project kan worden bewerkt.
Op deze pagina toont elk Python-codeblok de daadwerkelijke code die wordt ingevoegd wanneer die macro wordt gebruikt.
Hieronder vindt u een lijst van alle macro’s:
Emoties — Laat de robot expressief reageren.
act happy— Zorgt ervoor dat de robot zich gelukkig gedraagt.act sad— Zorgt ervoor dat de robot verdrietig doet.act silly— Laat de robot zich gek gedragen.act angry— Zorgt ervoor dat de robot boos wordt.act excited— Zorgt ervoor dat de robot opgewonden reageert.
AI Vision (Sportbal) — Draai je naar sportballen toe of verzamel ze.
turn right until sports ball— Draait rechtsaf tot een sportbal wordt gedetecteerd.turn left until sports ball— Draait naar links tot een sportbal wordt gedetecteerd.get sports ball— Verplaatst de robot om een sportbal te verzamelen.
AI-zicht (Oranje vat) — Draai je naar oranje vaten of verzamel ze.
turn right until orange barrel— Draait rechtsaf tot een oranje vat wordt gedetecteerd.turn left until orange barrel— Draait naar links tot een oranje vat wordt gedetecteerd.get orange barrel— Verplaatst de robot om een oranje vat te verzamelen.
AI-zicht (blauwe vaten) — Draai je naar blauwe vaten of verzamel ze.
turn right until blue barrel— Draait rechtsaf tot een blauw vat wordt gedetecteerd.turn left until blue barrel— Draait naar links tot een blauw vat wordt gedetecteerd.get blue barrel— Verplaatst de robot om een blauw vat te verzamelen.
AI Vision (AIM Robot) — Draai je naar andere AIM Robots of beweeg je ernaartoe.
turn right until AIM robot— Draait naar rechts tot een andere AIM-robot wordt gedetecteerd.turn left until AIM robot— Draait naar links tot een andere AIM-robot wordt gedetecteerd.move to AIM robot— Beweegt naar een andere AIM-robot.
AI Vision (AprilTag) — Richt je op of beweeg je naar AprilTags.
turn right until AprilTag— Gaat rechtsaf tot een AprilTag wordt gedetecteerd.turn left until AprilTag— Draait naar links totdat een AprilTag wordt gedetecteerd.move to AprilTag— Beweegt zich naar een AprilTag.
Emoties#
act happy#
Deze macro zorgt ervoor dat de robot vrolijk reageert door blije gezichtjes te tonen, een vrolijk geluid af te spelen, de ledlampjes te laten veranderen en heen en weer te bewegen. Gebruik deze macro wanneer de robot op een vrolijke of positieve manier moet reageren.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# act happy
robot.screen.show_emoji(HAPPY)
wait(.5,SECONDS)
robot.sound.play(ACT_HAPPY)
wait(115, MSEC)
robot.screen.show_emoji(HAPPY, LOOK_RIGHT)
robot.led.on(ALL_LEDS, YELLOW)
robot.turn_for(RIGHT, 4, 100)
robot.led.on(ALL_LEDS, WHITE)
robot.screen.show_emoji(HAPPY, LOOK_LEFT)
robot.turn_for(RIGHT, -8, 100)
robot.led.on(ALL_LEDS, YELLOW)
robot.screen.show_emoji(HAPPY, LOOK_RIGHT)
robot.turn_for(RIGHT, 4, 100)
wait(100,MSEC)
for i in range(3):
robot.screen.show_emoji(QUIET)
robot.led.on(ALL_LEDS, WHITE)
robot.move_for(1,-90)
robot.screen.show_emoji(HAPPY)
robot.led.on(ALL_LEDS, YELLOW)
robot.move_for(1,90)
robot.stop_all_movement()
robot.led.off(ALL_LEDS)
wait(.5,SECONDS)
act sad#
Deze macro zorgt ervoor dat de robot verdrietig reageert door droevige gezichtjes te tonen, een droevig geluid af te spelen, de LED’s te dimmen en langzaam in verschillende richtingen te bewegen. Gebruik deze macro wanneer de robot een teleurgestelde of lusteloze reactie moet laten zien.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# act sad
robot.screen.show_emoji(SAD)
wait(.5,SECONDS)
robot.sound.play(ACT_SAD)
wait(115, MSEC)
robot.led.on(ALL_LEDS, Color(0, 0, 250))
robot.screen.show_emoji(SAD, LOOK_RIGHT)
robot.move_for(11, 135, 70)
robot.led.on(ALL_LEDS, Color(0, 0, 100))
robot.screen.show_emoji(SAD, LOOK_FORWARD)
robot.move_for(11, 315, 70)
robot.led.on(ALL_LEDS, Color(0, 0, 50))
robot.screen.show_emoji(SAD, LOOK_LEFT)
robot.move_for(11, 225, 70)
robot.led.on(ALL_LEDS, Color(0, 0, 10))
robot.screen.show_emoji(SAD, LOOK_FORWARD)
robot.move_for(11, 45, 70)
wait(.5,SECONDS)
robot.led.off(ALL_LEDS)
act silly#
Deze macro zorgt ervoor dat de robot zich grappig gedraagt door te draaien, gezichtsuitdrukkingen te veranderen en verschillende LED-kleuren te laten knipperen. Gebruik hem wanneer de robot een speelse of verrassende reactie moet geven.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# act silly
robot.screen.show_emoji(SILLY)
wait(.5,SECONDS)
robot.sound.play(ACT_SILLY)
wait(115,MSEC)
robot.turn_for(RIGHT, 360, 100, wait=False)
face_list = [SILLY, HAPPY, EXCITED, PROUD, THRILLED, LAUGHING]
colors = [BLUE, CYAN, GREEN, ORANGE, PURPLE, RED, WHITE, YELLOW]
while robot.is_turn_active():
robot.screen.show_emoji(SILLY)
robot.led.on(ALL_LEDS, random.choice(colors))
wait(110,MSEC)
robot.screen.show_emoji(random.choice(face_list))
wait(110,MSEC)
robot.screen.show_emoji(SILLY)
robot.led.off(ALL_LEDS)
wait(.5,SECONDS)
act angry#
Deze macro zorgt ervoor dat de robot boos reageert door boze gezichtsuitdrukkingen te tonen, een boos geluid af te spelen, de LED’s rood te laten branden en abrupt te bewegen. Gebruik deze macro wanneer de robot een gefrustreerde of waarschuwende reactie moet laten zien.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# act angry
robot.screen.show_emoji(ANGRY)
wait(.5,SECONDS)
robot.sound.play(ACT_ANGRY)
wait(115,MSEC)
robot.led.on(ALL_LEDS, RED)
robot.move_for(25, 0, 50)
wait(50,MSEC)
for i in range(5):
robot.screen.show_emoji(ANNOYED)
robot.move_for(5, 180, 50)
robot.screen.show_emoji(ANGRY)
wait(50,MSEC)
wait(.5,SECONDS)
robot.led.off(ALL_LEDS)
act excited#
Deze macro zorgt ervoor dat de robot enthousiast reageert door een opgewonden gezicht te trekken, een enthousiast geluid af te spelen, snel heen en weer te bewegen en oranje ledjes te laten knipperen. Gebruik deze macro wanneer de robot iets moet vieren of energiek moet reageren.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# act excited
robot.screen.show_emoji(EXCITED)
wait(.5,SECONDS)
robot.sound.play(ACT_EXCITED)
wait(115, MSEC)
for angle in [3,-3,2,-2,2,-2,2,-2,1,-1]:
if angle > 0:
robot.screen.show_emoji(EXCITED, LOOK_RIGHT)
robot.led.on(LED4, ORANGE)
robot.led.on(LED5, ORANGE)
robot.led.on(LED6, ORANGE)
robot.led.off(LED1)
else:
robot.screen.show_emoji(EXCITED, LOOK_LEFT)
robot.led.on(LED1, ORANGE)
robot.led.on(LED2, ORANGE)
robot.led.on(LED3, ORANGE)
robot.led.off(LED6)
robot.turn_for(RIGHT, angle)
robot.led.off(ALL_LEDS)
robot.screen.show_emoji(EXCITED, LOOK_FORWARD)
wait(.5,SECONDS)
AI-visie (sportbal)#
turn right until sports ball#
Deze macro laat de robot naar rechts draaien totdat de AI Vision Sensor een sportbal detecteert, waarna de robot zich naar het gedetecteerde object toe beweegt. Gebruik deze macro wanneer de robot eerst naar een sportbal moet zoeken voordat hij ernaartoe beweegt of deze oppakt.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn right until sports ball is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(SPORTS_BALL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until sports ball#
Deze macro laat de robot naar links draaien totdat de AI Vision Sensor een sportbal detecteert, waarna hij zich naar het gedetecteerde object toe beweegt. Gebruik deze macro wanneer de robot eerst naar een sportbal moet zoeken voordat hij ernaartoe beweegt of deze oppakt.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn left until sports ball is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(SPORTS_BALL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
get sports ball#
Deze macro laat de robot naar een gedetecteerde sportbal bewegen totdat de robot deze heeft opgepakt. Gebruik deze macro nadat de robot een sportbal kan zien, of nadat je een macro hebt gebruikt om er een te vinden die de robot tot een sportbal laat draaien.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de bewegings- en draaisnelheden van de robot te verlagen met set_move_velocity en set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Get sports ball
while True:
vision_data = robot.vision.get_data(SPORTS_BALL)
if vision_data[0].exists:
if robot.has_sports_ball():
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)
AI-visie (oranje vat)#
turn right until orange barrel#
Deze macro laat de robot naar rechts draaien totdat de AI Vision Sensor een oranje vat detecteert, waarna de robot zich naar het gedetecteerde object toe beweegt. Gebruik deze macro wanneer de robot eerst naar een oranje vat moet zoeken voordat hij ernaartoe beweegt of het oppakt.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn right until orange barrel is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(ORANGE_BARREL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until orange barrel#
Deze macro laat de robot naar links draaien totdat de AI Vision Sensor een oranje vat detecteert, waarna de robot zich naar het gedetecteerde object toe beweegt. Gebruik deze macro wanneer de robot eerst naar een oranje vat moet zoeken voordat hij ernaartoe beweegt of het oppakt.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn left until orange barrel is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(ORANGE_BARREL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
get orange barrel#
Deze macro laat de robot naar een gedetecteerd oranje vat bewegen totdat de robot het heeft opgepakt. Gebruik deze macro nadat de robot een oranje vat kan zien, of nadat je een macro hebt gebruikt om er een te vinden die draait totdat het oranje vat wordt gevonden.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de bewegings- en draaisnelheden van de robot te verlagen met set_move_velocity en set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Get orange barrel
while True:
vision_data = robot.vision.get_data(ORANGE_BARREL)
if vision_data[0].exists:
if robot.has_orange_barrel():
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)
AI-visie (Blauwe Ton)#
turn right until blue barrel#
Deze macro laat de robot naar rechts draaien totdat de AI Vision Sensor een blauw vat detecteert, waarna de robot zich naar het gedetecteerde object toe beweegt. Gebruik deze macro wanneer de robot eerst naar een blauw vat moet zoeken voordat hij ernaartoe beweegt of het oppakt.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn right until blue barrel is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(BLUE_BARREL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until blue barrel#
Deze macro laat de robot naar links draaien totdat de AI Vision Sensor een blauw vat detecteert, waarna de robot zich naar het gedetecteerde object toe beweegt. Gebruik deze macro wanneer de robot eerst naar een blauw vat moet zoeken voordat hij ernaartoe beweegt of het oppakt.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn left until blue barrel is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(BLUE_BARREL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
get blue barrel#
Deze macro laat de robot naar een gedetecteerd blauw vat bewegen totdat de robot het heeft opgepakt. Gebruik deze macro nadat de robot een blauw vat kan zien, of nadat je een macro hebt gebruikt om er een te vinden die draait totdat er een blauw vat wordt gedetecteerd.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de bewegings- en draaisnelheden van de robot te verlagen met set_move_velocity en set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Get blue barrel
while True:
vision_data = robot.vision.get_data(BLUE_BARREL)
if vision_data[0].exists:
if robot.has_blue_barrel():
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)
AI-visie (AIM-robot)#
turn right until AIM robot#
Deze macro laat de robot naar rechts draaien totdat de AI Vision Sensor een andere VEX AIM Coding Robot detecteert, waarna de robot zich ernaartoe draait. Gebruik deze macro wanneer de robot eerst naar een andere robot moet zoeken voordat hij ernaartoe beweegt.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn right until AIM robot is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(AIM_ROBOT)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until AIM robot#
Deze macro laat de robot naar links draaien totdat de AI Vision Sensor een andere VEX AIM Coding Robot detecteert, waarna de robot ernaartoe draait. Gebruik deze macro wanneer de robot eerst naar een andere robot moet zoeken voordat hij ernaartoe beweegt.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn left until AIM robot is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(AIM_ROBOT)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
move to AIM robot#
Deze macro laat de robot naar een andere VEX AIM Coding Robot bewegen totdat deze dichtbij genoeg is om te stoppen. Gebruik deze macro nadat de robot een andere robot kan zien, of nadat u een macro ‘draaien tot een AIM-robot’ hebt gebruikt om er een te vinden.
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de bewegings- en draaisnelheden van de robot te verlagen met set_move_velocity en set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Move to AIM robot
while True:
vision_data = robot.vision.get_data(AIM_ROBOT)
if vision_data[0].exists:
if vision_data[0].width >= 140:
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)
AI Vision (AprilTag)#
turn right until AprilTag#
Deze macro laat de robot naar rechts draaien totdat de AI Vision Sensor AprilTag ID 0 detecteert, waarna de robot naar de gedetecteerde AprilTag draait. Gebruik deze macro wanneer de robot eerst naar een AprilTag moet zoeken voordat hij ernaartoe beweegt. Om te wijzigen naar welke AprilTag de robot draait, vervangt u de 0 in TAG0 door een willekeurig getal van 0 tot 37 (AprilTags 5 tot en met 37 kunnen worden gebruikt met geprinte AprilTags van AIM Printables.)
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn right until AprilTag ID 0 is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(TAG0)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until AprilTag#
Deze macro laat de robot naar links draaien totdat de AI Vision Sensor AprilTag ID 0 detecteert, waarna de robot naar de gedetecteerde AprilTag draait. Gebruik deze macro wanneer de robot eerst naar een AprilTag moet zoeken voordat hij ernaartoe beweegt. Om te wijzigen naar welke AprilTag de robot draait, vervangt u de 0 in TAG0 door een willekeurig getal van 0 tot 37 (AprilTags 5 tot en met 37 kunnen worden gebruikt met geprinte AprilTags van AIM Printables.)
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de draaisnelheid van de robot te verlagen met set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Turn left until AprilTag ID 0 is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(TAG0)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
move to AprilTag#
Deze macro laat de robot naar AprilTag ID 0 bewegen totdat hij dichtbij genoeg is om te stoppen. Gebruik deze macro nadat de robot een AprilTag kan zien, of nadat je een macro hebt gebruikt om er een te vinden die draait totdat de robot een AprilTag ziet. Om te wijzigen naar welke AprilTag de robot beweegt, vervang je de 0 in TAG0 door een willekeurig getal van 0 tot 37 (AprilTags 5 tot en met 37 kunnen worden gebruikt met afgedrukte AprilTags van AIM Printables.)
Opmerking: Als de robot moeite heeft met het detecteren van objecten, probeer dan de bewegings- en draaisnelheden van de robot te verlagen met set_move_velocity en set_turn_velocity.
De onderstaande code toont de Python-sequentie die aan uw project wordt toegevoegd wanneer u deze macro vanuit de Toolbox sleept. U kunt de sequentie direct gebruiken of bewerken nadat u deze hebt toegevoegd.
# Move to AprilTag ID 0
while True:
vision_data = robot.vision.get_data(TAG0)
if vision_data[0].exists:
if vision_data[0].width >= 60:
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)