Makro#

Ievads#

VEX AIM Python makro ir iepriekš izveidoti koda bloki, kurus var ievilkt Python projektā. Katrs makro ir Python komandu grupa, kas darbojas kopā, lai liktu robotam veikt plašāku darbību.

Tās nav atsevišķas metodes, kas tiek izsauktas no koda. Tā vietā katrs makro tiek ievietots kā gatava koda secība, ko var izmantot tādu, kāda tā ir, vai rediģēt pēc pievienošanas projektam.

Šajā lapā katrs Python koda bloks parāda faktisko koda secību, kas tiek ievietota, kad tiek izmantots šis makro.

Zemāk ir visu makro saraksts:

Emocijas — Lieciet robotam rīkoties izteiksmīgi.

  • act happy — Liek robotam uzvesties laimīgi.

  • act sad — Liek robotam uzvesties skumji.

  • act silly — Liek robotam uzvesties muļķīgi.

  • act angry — Liek robotam izlikties dusmīgam.

  • act excited — Liek robotam rīkoties satrauktam.

AI redze (sporta bumba) — pagriezieties sporta bumbu virzienā vai savāciet tās.

AI redze (oranža muca) — pagriezies pret oranžām mucām vai savāc tās.

AI redze (zilā muca) — pagriezies pretī vai savāc zilās mucas.

Mākslīgā intelekta redze (AIM robots) — pagriezieties vai pārvietojieties citu AIM robotu virzienā.

AI vīzija (AprilTag) — pagriezieties vai virzieties AprilTag virzienā.

Emocijas#

act happy#

Šis makrokomands liek robotam rīkoties laimīgi, rādot laimīgas sejas, atskaņojot priecīgu skaņu, mainot gaismas diodes un pārvietojoties uz priekšu un atpakaļ. Izmantojiet to, ja robotam ir jāreaģē priecīgā vai pozitīvā veidā.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro liek robotam uzvesties skumji, parādot skumjas sejas, atskaņojot skumju skaņu, izbalējot gaismas diodes un lēnām pārvietojoties dažādos virzienos. Izmantojiet to, ja robotam ir jāizrāda vīlusies vai zema enerģijas līmeņa reakcija.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro liek robotam uzvesties muļķīgi, griežoties, mainot sejas un mirgojot dažādās LED krāsās. Izmantojiet to, ja robotam ir jāveic rotaļīga vai pārsteidzoša reakcija.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro liek robotam rīkoties dusmīgi, parādot dusmīgas sejas, atskaņojot dusmīgu skaņu, iedegot sarkanās gaismas diodes un strauji pārvietojoties. Izmantojiet to, ja robotam ir jāizrāda neapmierinātības vai brīdinājuma reakcija.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makrokomands liek robotam rīkoties satrauktam, parādot satrauktu seju, atskaņojot satrauktu skaņu, ātri pārvietojoties no vienas puses uz otru un mirgojot oranžām gaismas diodēm. Izmantojiet to, ja robotam ir jāgaida vai jāreaģē ar lielu enerģiju.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

# 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 redze (sporta bumba)#

turn right until sports ball#

Šis makro pagriež robotu pa labi, līdz mākslīgā intelekta redzes sensors atrod sporta bumbu, pēc tam pagriežas pret atrasto objektu. Izmantojiet to, ja robotam ir jāmeklē sporta bumba, pirms tas virzās uz to vai to savāc.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pagriež robotu pa kreisi, līdz mākslīgā intelekta redzes sensors atrod sporta bumbu, pēc tam pagriežas pret atrasto objektu. Izmantojiet to, ja robotam ir jāmeklē sporta bumba, pirms tas virzās uz to vai to savāc.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pārvieto robotu uz atrasto sporta bumbu, līdz robots to savāc. Izmantojiet to pēc tam, kad robots ir ieraugis sporta bumbu vai pēc tam, kad esat izmantojis makro “apgriezties līdz sporta bumbai”, lai to atrastu.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota kustības un pagrieziena ātrumu, izmantojot set_move_velocity un set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

# 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 redze (oranžā muca)#

turn right until orange barrel#

Šis makro pagriež robotu pa labi, līdz mākslīgā intelekta redzes sensors nosaka oranžu mucu, pēc tam pagriežas pret noteikto objektu. Izmantojiet to, ja robotam ir jāmeklē oranža muca, pirms tas virzās uz to vai to savāc.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pagriež robotu pa kreisi, līdz mākslīgā intelekta redzes sensors nosaka oranžu mucu, pēc tam pagriežas pretī noteiktajam objektam. Izmantojiet to, ja robotam ir jāmeklē oranža muca, pirms tas virzās uz to vai to savāc.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pārvieto robotu uz noteiktu oranžu mucu, līdz robots to savāc. Izmantojiet to pēc tam, kad robots ir ieraugis oranžu mucu vai pēc tam, kad esat izmantojis makro “pagriez, līdz oranžā muca” tās atrašanai.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota kustības un pagrieziena ātrumu, izmantojot set_move_velocity un set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

# 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 redze (zilā muca)#

turn right until blue barrel#

Šis makro pagriež robotu pa labi, līdz mākslīgā intelekta redzes sensors nosaka zilu mucu, pēc tam pagriežas pret noteikto objektu. Izmantojiet to, ja robotam ir jāmeklē zila muca, pirms tas virzās uz to vai to savāc.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pagriež robotu pa kreisi, līdz mākslīgā intelekta redzes sensors nosaka zilu mucu, pēc tam pagriežas pret noteikto objektu. Izmantojiet to, ja robotam ir jāmeklē zila muca, pirms tas virzās uz to vai to savāc.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pārvieto robotu uz noteiktu zilu mucu, līdz robots to savāc. Izmantojiet to pēc tam, kad robots ir ieraugis zilu mucu vai pēc tam, kad esat izmantojis makro “pagriezies līdz zilai mucai”, lai to atrastu.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota kustības un pagrieziena ātrumu, izmantojot set_move_velocity un set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Mākslīgā intelekta redze (AIM robots)#

turn right until AIM robot#

Šis makro pagriež robotu pa labi, līdz AI redzes sensors atrod citu VEX AIM kodēšanas robotu, pēc tam pagriežas tā virzienā. Izmantojiet to, ja robotam ir jāmeklē cits robots, pirms tas virzās uz to.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pagriež robotu pa kreisi, līdz AI redzes sensors atrod citu VEX AIM kodēšanas robotu, pēc tam pagriežas tā virzienā. Izmantojiet to, ja robotam ir jāmeklē cits robots, pirms tas virzās uz to.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pārvieto robotu cita VEX AIM kodēšanas robota virzienā, līdz tas ir pietiekami tuvu, lai apstātos. Izmantojiet to pēc tam, kad robots ir ieraugis citu robotu vai pēc tam, kad esat izmantojis makro “apgriezies, līdz AIM robots”, lai to atrastu.

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota kustības un pagrieziena ātrumu, izmantojot set_move_velocity un set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

# 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 vīzija (AprilTag)#

turn right until AprilTag#

Šis makro pagriež robotu pa labi, līdz AI redzes sensors nosaka AprilTag ID 0, pēc tam pagriežas noteiktā AprilTag virzienā. Izmantojiet to, ja robotam ir jāmeklē AprilTag, pirms tas virzās uz to. Lai mainītu, līdz kuram AprilTag robots griezīsies, nomainiet 0 TAG0 ar jebkuru skaitli no 0 līdz 37 (AprilTags no 5 līdz 37 var izmantot ar izdrukātiem AprilTags no AIM Printables.)

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pagriež robotu pa kreisi, līdz AI redzes sensors nosaka AprilTag ID 0, pēc tam pagriežas noteiktā AprilTag virzienā. Izmantojiet to, ja robotam ir jāmeklē AprilTag, pirms tas virzās uz to. Lai mainītu, līdz kuram AprilTag robots griezīsies, nomainiet 0 TAG0 ar jebkuru skaitli no 0 līdz 37 (AprilTags no 5 līdz 37 var izmantot ar izdrukātiem AprilTags no AIM Printables.)

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota pagrieziena ātrumu ar set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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

Šis makro pārvieto robotu AprilTag ID 0 virzienā, līdz tas ir pietiekami tuvu, lai apstātos. Izmantojiet to pēc tam, kad robots ir redzējis AprilTag vai pēc tam, kad esat izmantojis makro “turn-until-AprilTag”, lai to atrastu. Lai mainītu, uz kuru AprilTag robots pārvietosies, nomainiet 0 iekš TAG0 ar jebkuru skaitli no 0 līdz 37 (AprilTags no 5 līdz 37 var izmantot ar izdrukātajām AprilTags vērtībām no AIM Printables.)

Piezīme: Ja robotam ir grūtības noteikt objektus, mēģiniet samazināt robota kustības un pagrieziena ātrumu, izmantojot set_move_velocity un set_turn_velocity.

Zemāk redzamajā kodā ir parādīta Python secība, kas tiek pievienota jūsu projektam, kad šis makro tiek vilkts no rīklodziņa. Varat izmantot secību tādu, kāda tā ir, vai rediģēt to pēc pievienošanas.

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