Makro#

giriiş#

VEX AIM Python makroları, bir Python projesine sürüklenip bırakılabilen önceden oluşturulmuş kod bloklarıdır. Her makro, robotun daha büyük bir davranışı tamamlamasını sağlamak için birlikte çalışan bir grup Python komutundan oluşur.

Bunlar koddan çağrılan tekil metotlar değildir. Bunun yerine, her makro, olduğu gibi kullanılabilen veya projeye eklendikten sonra düzenlenebilen hazır bir kod dizisi olarak eklenir.

Bu sayfada, her bir Python kod bloğu, o makro kullanıldığında eklenen gerçek kod dizisini göstermektedir.

Aşağıda tüm makroların listesi bulunmaktadır:

Duygular — Robotun duygularını ifade etmesini sağlayın.

  • act happy — Robotun mutlu davranmasını sağlar.

  • act sad — Robotun üzgün davranmasını sağlar.

  • act silly — Robotun aptalca davranmasını sağlar.

  • act angry — Robotun kızgın davranmasını sağlar.

  • act excited — Robotun heyecanlı davranmasını sağlar.

Yapay Zeka Görüşü (Spor Topu) — Spor toplarına doğru dönün veya topları toplayın.

Yapay Zeka Görüşü (Turuncu Varil) — Turuncu varillere doğru dönün veya onları toplayın.

Yapay Zeka Görüşü (Mavi Varil) — Mavi varillere doğru dönün veya onları toplayın.

Yapay Zeka Görüşü (AIM Robotu) — Diğer AIM Robotlarına doğru dönün veya onlara doğru hareket edin.

Yapay Zeka Görüşü (AprilTag) — AprilTag’lere doğru dönün veya onlara doğru hareket edin.

Duygular#

act happy#

Bu makro, robotun mutlu yüz ifadeleri göstermesini, mutlu bir ses çıkarmasını, LED’lerin renk değiştirmesini ve ileri geri hareket etmesini sağlayarak robotun mutlu davranmasını sağlar. Robotun neşeli veya olumlu bir şekilde tepki vermesi gerektiğinde kullanın.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, robotun üzgün yüz ifadeleri göstermesini, üzgün bir ses çıkarmasını, LED’lerin sönmesini ve farklı yönlere yavaşça hareket etmesini sağlayarak robotun üzgün davranmasını sağlar. Robotun hayal kırıklığına uğramış veya düşük enerjili bir tepki göstermesi gerektiğinde kullanın.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, robotun dönerek, yüz ifadelerini değiştirerek ve farklı LED renkleri yakıp söndürerek komik hareketler yapmasını sağlar. Robotun eğlenceli veya şaşırtıcı bir tepki vermesi gerektiğinde kullanın.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, robotun kızgın yüz ifadeleri göstermesini, kızgın bir ses çıkarmasını, LED’leri kırmızıya çevirmesini ve ani hareketler yapmasını sağlayarak robotun kızgın davranmasını sağlar. Robotun hayal kırıklığına uğramış veya uyarıcı bir tepki göstermesi gerektiğinde kullanın.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, robotun heyecanlı bir yüz ifadesi göstermesi, heyecanlı bir ses çıkarması, hızlıca sağa sola hareket etmesi ve turuncu LED’leri yakıp söndürmesi gibi hareketlerle robotun heyecanlı davranmasını sağlar. Robotun kutlama yapması veya yüksek enerjiyle tepki vermesi gerektiğinde kullanın.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Yapay Zeka Görüşü (Spor Topu)#

turn right until sports ball#

Bu makro, yapay zeka görüş sensörü bir spor topu algılayana kadar robotu sağa doğru döndürür, ardından algılanan nesneye doğru döner. Robotun bir spor topunu araması, ardından ona doğru hareket etmesi veya onu toplaması gerektiğinde kullanın.

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, yapay zeka görüş sensörü bir spor topu algılayana kadar robotu sola doğru döndürür, ardından algılanan nesneye doğru döner. Robotun bir spor topunu araması, ardından ona doğru hareket etmesi veya onu toplaması gerektiğinde kullanın.

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, robotu tespit edilen spor topuna doğru hareket ettirir ve robot topu alana kadar bu hareketi sürdürür. Robot bir spor topunu görebildikten sonra veya bir spor topu bulmak için “spor topu bulana kadar dön” makrosunu kullandıktan sonra bu makroyu kullanın.

Not: Eğer robot nesneleri algılamakta zorlanıyorsa, robotun hareket ve dönüş hızlarını set_move_velocity ve set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Yapay Zeka Görüşü (Turuncu Varil)#

turn right until orange barrel#

Bu makro, yapay zeka görüş sensörü turuncu bir varil algılayana kadar robotu sağa doğru döndürür, ardından algılanan nesneye doğru döner. Robotun turuncu bir varile doğru hareket etmeden veya onu toplamadan önce onu araması gerektiğinde kullanın.

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, yapay zeka görüş sensörü turuncu bir varil algılayana kadar robotu sola doğru döndürür, ardından algılanan nesneye doğru döner. Robotun turuncu bir varile doğru hareket etmeden veya onu toplamadan önce onu araması gerektiğinde kullanın.

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, robotu tespit edilen turuncu varile doğru hareket ettirir ve varili alana kadar bu hareketi sürdürür. Robot turuncu bir varil gördükten sonra veya turuncu varil bulana kadar dön makrosunu kullandıktan sonra bu makroyu kullanın.

Not: Eğer robot nesneleri algılamakta zorlanıyorsa, robotun hareket ve dönüş hızlarını set_move_velocity ve set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Yapay Zeka Görüşü (Mavi Varil)#

turn right until blue barrel#

Bu makro, yapay zeka görüş sensörü mavi bir varil algılayana kadar robotu sağa doğru döndürür, ardından algılanan nesneye doğru döner. Robotun mavi bir varile doğru hareket etmeden veya onu toplamadan önce onu araması gerektiğinde kullanın.

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, yapay zeka görüş sensörü mavi bir varil algılayana kadar robotu sola doğru döndürür, ardından algılanan nesneye doğru döner. Robotun mavi bir varile doğru hareket etmeden veya onu toplamadan önce onu araması gerektiğinde kullanın.

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, robotu tespit edilen mavi varile doğru hareket ettirir ve varili alana kadar bu hareketi sürdürür. Robot mavi bir varil gördükten sonra veya mavi varil bulana kadar dön makrosunu kullandıktan sonra bu makroyu kullanın.

Not: Eğer robot nesneleri algılamakta zorlanıyorsa, robotun hareket ve dönüş hızlarını set_move_velocity ve set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Yapay Zeka Görüntüleme (AIM Robotu)#

turn right until AIM robot#

Bu makro, yapay zeka görüş sensörü başka bir VEX AIM kodlama robotunu algılayana kadar robotu sağa doğru döndürür, ardından ona doğru döner. Robotun başka bir robota doğru hareket etmeden önce onu araması gerektiğinde kullanın.

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, yapay zeka görüş sensörü başka bir VEX AIM kodlama robotunu algılayana kadar robotu sola doğru döndürür, ardından ona doğru döner. Robotun başka bir robota doğru hareket etmeden önce onu araması gerektiğinde kullanın.

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, robotu başka bir VEX AIM Kodlama Robotuna doğru, durabilecek kadar yaklaşana kadar hareket ettirir. Robot başka bir robotu görebildikten sonra veya bir AIM robotu bulana kadar dönme makrosu kullandıktan sonra bunu kullanın.

Not: Eğer robot nesneleri algılamakta zorlanıyorsa, robotun hareket ve dönüş hızlarını set_move_velocity ve set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Yapay Zeka Görüşü (Nisan Etiketi)#

turn right until AprilTag#

Bu makro, yapay zeka görüş sensörü AprilTag ID 0’ı algılayana kadar robotu sağa döndürür, ardından algılanan AprilTag’e doğru döner. Robotun hareket etmeden önce bir AprilTag araması gerektiğinde kullanın. Robotun hangi AprilTag’e kadar döneceğini değiştirmek için, TAG0 0 0 ile 37 arasında herhangi bir sayıyla değiştirin (5 ila 37 arasındaki AprilTag’ler AIM Printables’den yazdırılan AprilTag’lerle kullanılabilir).

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, yapay zeka görüş sensörü AprilTag ID 0’ı algılayana kadar robotu sola döndürür, ardından algılanan AprilTag’e doğru döner. Robotun hareket etmeden önce bir AprilTag araması gerektiğinde kullanın. Robotun hangi AprilTag’e kadar döneceğini değiştirmek için, TAG0 0 0 ile 37 arasında herhangi bir sayıyla değiştirin (5 ila 37 arasındaki AprilTag’ler AIM Printables’den yazdırılan AprilTag’lerle kullanılabilir).

Not: Robot nesneleri algılamakta zorluk çekiyorsa, robotun dönüş hızını set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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

Bu makro, robotu duracak kadar yaklaşana kadar AprilTag ID 0’a doğru hareket ettirir. Robot bir AprilTag’i görebildikten sonra veya bir AprilTag bulmak için bir “turn-until-AprilTag” makrosu kullandıktan sonra bunu kullanın. Robotun hangi AprilTag’e hareket edeceğini değiştirmek için, TAG0 0 0 ile 37 arasında herhangi bir sayıyla değiştirin (5 ila 37 arasındaki AprilTag’ler, AIM Printables’den yazdırılan AprilTag’lerle kullanılabilir).

Not: Eğer robot nesneleri algılamakta zorlanıyorsa, robotun hareket ve dönüş hızlarını set_move_velocity ve set_turn_velocity ile düşürmeyi deneyin.

Aşağıdaki kod, bu makro Araç Kutusu’ndan sürüklenip alındığında projenize eklenen Python dizisini göstermektedir. Diziyi olduğu gibi kullanabilir veya ekledikten sonra düzenleyebilirsiniz.

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