Makró#

Bevezetés#

A VEX AIM Python makrók előre elkészített kódblokkok, amelyek behúzhatók egy Python projektbe. Minden makró Python parancsok csoportja, amelyek együttesen arra késztetik a robotot, hogy egy nagyobb viselkedést hajtson végre.

Ezek nem egyetlen metódusok, amelyeket kódból hívnak meg. Ehelyett minden makró egy kész kódsorozatként kerül beillesztésre, amely felhasználható önállóan, vagy szerkeszthető a projekthez való hozzáadás után.

Ezen az oldalon minden Python kódblokk azt a kódsorozatot mutatja, amely a makró használatakor beszúródik.

Az alábbiakban az összes makró listája látható:

Érzelmek – Cselekedj a robottal kifejezően.

AI Vision (Sportlabda) – Fordulj a sportlabdák felé, vagy gyűjtsd össze őket.

AI látás (Narancssárga hordó) – Fordulj a narancssárga hordók felé, vagy gyűjtsd össze őket.

AI látás (Kék hordó) – Fordulj a kék hordók felé, vagy gyűjtsd össze őket.

AI látás (AIM robot) – Forduljon vagy mozogjon más AIM robotok felé.

AI Vision (AprilTag) – Az AprilTags felé fordulás vagy elmozdulás.

Érzelmek#

act happy#

Ez a makró vidám arcok mutatásával, vidám hangok lejátszásával, a LED-ek váltásával és előre-hátra mozgással készteti a robotot vidám viselkedésre. Akkor használd, amikor a robotnak vidáman vagy pozitívan kell reagálnia.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró szomorú arcok mutatásával, szomorú hang lejátszásával, a LED-ek elhalványításával és lassú, különböző irányokba történő mozgással szomorúvá teszi a robotot. Akkor használd, ha a robotnak csalódott vagy alacsony energiájú reakciót kell mutatnia.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró viccesre sikerrel jár, ha a robot játékosan, játékosan reagál, arcot vált, és különböző LED-színeket villogtat. Használd, ha játékos vagy meglepő reakciót kell mutatnia.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró dühös arcok mutatásával, dühös hang lejátszásával, a LED-ek pirosra váltásával és hirtelen mozgással készteti a robotot dühösnek. Akkor használd, ha a robotnak frusztrált vagy figyelmeztető reakciót kell mutatnia.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró izgatott arckifejezéssel, izgatott hang lejátszásával, gyors oldalirányú mozgással és narancssárga LED-ek villogtatásával izgatottá teszi a robotot. Akkor használd, ha a robotnak ünnepelnie vagy nagy energiával kell reagálnia.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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 Vision (sportlabda)#

turn right until sports ball#

Ez a makró jobbra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő nem érzékel egy sportlabdát, majd a detektált tárgy felé fordul. Akkor használja, amikor a robotnak sportlabdát kell keresnie, mielőtt felé haladna vagy elvenné.

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró balra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő nem érzékel egy sportlabdát, majd a detektált tárgy felé fordul. Akkor használja, amikor a robotnak sportlabdát kell keresnie, mielőtt felé haladna vagy elvenné.

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró a robotot egy észlelt sportlabda felé mozgatja, amíg a robot el nem gyűjti azt. Ezt a makrót akkor használd, miután a robot már látott egy sportlabdát, vagy miután egy „fordulj-amíg-sportlabdát” makróval megtaláltad.

Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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 Vision (narancssárga hordó)#

turn right until orange barrel#

Ez a makró jobbra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő egy narancssárga hordót nem érzékel, majd az észlelt tárgy felé fordul. Akkor használja, amikor a robotnak narancssárga hordót kell keresnie, mielőtt feléje mozdulna vagy elvenné azt.

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró balra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő egy narancssárga hordót nem érzékel, majd az észlelt tárgy felé fordul. Akkor használja, amikor a robotnak narancssárga hordót kell keresnie, mielőtt feléje mozdulna vagy elvenné azt.

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró a robotot egy észlelt narancssárga hordó felé mozgatja, amíg a robot el nem gyűjti azt. Ezt a makrót akkor használd, miután a robot már lát egy narancssárga hordót, vagy miután egy „fordulj, amíg narancssárga hordó” makróval találtál egyet.

Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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 Vision (kék hordó)#

turn right until blue barrel#

Ez a makró jobbra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő kék hordót nem érzékel, majd az észlelt tárgy felé fordul. Akkor használja, amikor a robotnak kék hordót kell keresnie, mielőtt feléje mozdulna vagy elvenné azt.

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró balra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő kék hordót nem érzékel, majd az észlelt tárgy felé fordul. Akkor használja, amikor a robotnak kék hordót kell keresnie, mielőtt felé haladna vagy elvenné.

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró a robotot egy észlelt kék hordó felé mozgatja, amíg a robot el nem gyűjti azt. Ezt a makrót akkor használd, miután a robot már látott egy kék hordót, vagy miután egy „fordulj, amíg kék hordó nem lesz” makróval találtál egyet.

Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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 látás (AIM robot)#

turn right until AIM robot#

Ez a makró jobbra forgatja a robotot, amíg az AI látásérzékelő egy másik VEX AIM kódoló robotot nem érzékel, majd felé fordul. Akkor használd, amikor a robotnak egy másik robotot kell keresnie, mielőtt felé haladna.

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró balra forgatja a robotot, amíg az AI látásérzékelő egy másik VEX AIM kódoló robotot nem érzékel, majd felé fordul. Akkor használd, amikor a robotnak egy másik robotot kell keresnie, mielőtt felé haladna.

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró egy másik VEX AIM kódoló robot felé mozgatja a robotot, amíg elég közel nem kerül ahhoz, hogy megálljon. Ezt a makrót akkor használd, miután a robot már lát egy másik robotot, vagy miután egy „fordulj, amíg meg nem találod” makróval megtaláltad a robotot.

Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró jobbra forgatja a robotot, amíg az AI Vision Sensor nem érzékeli az AprilTag ID 0 azonosítót, majd az érzékelt AprilTag felé fordul. Akkor használja, ha a robotnak AprilTag-et kell keresnie, mielőtt felé haladna. Annak megváltoztatásához, hogy a robot melyik AprilTag-ig forduljon, cserélje ki a TAG0 -ban lévő 0 bármilyen 0 és 37 közötti számra (az 5-től 37-ig terjedő AprilTag-ek használhatók az AIM Printables oldalról kinyomtatott AprilTag-ekkel).

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró balra forgatja a robotot, amíg az AI Vision Sensor nem érzékeli az AprilTag ID 0 azonosítót, majd az érzékelt AprilTag felé fordul. Akkor használja, ha a robotnak AprilTag-et kell keresnie, mielőtt felé haladna. Annak megváltoztatásához, hogy a robot melyik AprilTag-ig forduljon, cserélje ki a TAG0 -ban lévő 0 bármilyen 0 és 37 közötti számra (az 5-től 37-ig terjedő AprilTag-ek használhatók az AIM Printables oldalról kinyomtatott AprilTag-ekkel).

Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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#

Ez a makró a robotot az AprilTag ID 0 felé mozgatja, amíg elég közel nem kerül a megálláshoz. Ezt akkor kell használni, miután a robot már látott egy AprilTag-et, vagy miután egy „fordulj-az-AprilTag-ig” makróval megtalálta azt. Annak megváltoztatásához, hogy a robot melyik AprilTag-re mozduljon, cserélje ki a TAG0 -ban lévő 0 et bármilyen 0 és 37 közötti számra (az 5-től 37-ig terjedő AprilTag-ek használhatók az AIM Printables kinyomtatott AprilTag-jeivel).

Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.

Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.

# 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)