매크로#

소개#

VEX AIM 파이썬 매크로는 파이썬 프로젝트에 끌어다 놓을 수 있는 미리 만들어진 코드 블록입니다. 각 매크로는 로봇이 더 큰 동작을 완료하도록 함께 작동하는 파이썬 명령어 그룹입니다.

이것들은 코드에서 호출되는 개별 메서드가 아닙니다. 대신, 각 매크로는 미리 만들어진 코드 시퀀스로 삽입되므로 프로젝트에 추가된 후 그대로 사용하거나 편집할 수 있습니다.

이 페이지에서 각 파이썬 코드 블록은 해당 매크로가 사용될 때 실제로 삽입되는 코드 순서를 보여줍니다.

다음은 모든 매크로 목록입니다.

감정 — 로봇이 감정을 표현하며 움직이도록 하세요.

  • act happy — 로봇이 행복한 척하게 만듭니다.

  • act sad — 로봇이 슬픈 척하게 만듭니다.

  • act silly — 로봇이 바보짓을 하게 만듭니다.

  • act angry — 로봇이 화난 척하게 만듭니다.

  • act excited — 로봇이 흥분한 척하게 만듭니다.

AI 비전(스포츠 공) — 스포츠 공을 향해 몸을 돌리거나 수집합니다.

AI 비전(주황색 배럴) — 주황색 배럴 쪽으로 몸을 돌리거나 주황색 배럴을 모으세요.

AI 비전(파란색 배럴) — 파란색 배럴 쪽으로 방향을 바꾸거나 파란색 배럴을 모으세요.

AI 비전(AIM 로봇) — 다른 AIM 로봇 쪽으로 방향을 바꾸거나 이동합니다.

AI 비전(AprilTag) — AprilTag 방향으로 몸을 돌리거나 이동하세요.

감정#

act happy#

이 매크로는 로봇이 행복한 표정을 짓고, 행복한 소리를 내고, LED를 바꾸고, 앞뒤로 움직이는 등 행복한 모습을 보이도록 합니다. 로봇이 쾌활하거나 긍정적인 반응을 보여야 할 때 사용하세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 로봇이 슬픈 표정을 짓고, 슬픈 소리를 내고, LED를 서서히 깜빡이고, 여러 방향으로 천천히 움직이는 등의 동작을 통해 슬픈 감정을 표현하도록 합니다. 로봇이 실망하거나 기운이 없는 모습을 보여줘야 할 때 사용하세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 로봇이 빙글빙글 돌고, 표정을 바꾸고, 다양한 LED 색상을 깜빡이는 등 우스꽝스러운 행동을 하도록 만듭니다. 로봇이 장난스럽거나 놀라운 반응을 보여야 할 때 사용하세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 로봇이 화난 표정을 짓고, 화난 소리를 내고, LED를 빨갛게 켜고, 급격하게 움직이는 등의 행동을 보이도록 합니다. 로봇이 좌절감이나 경고 반응을 보여야 할 때 사용하세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 로봇이 신나는 표정을 짓고, 신나는 소리를 내고, 좌우로 빠르게 움직이고, 주황색 LED를 깜빡이게 하여 로봇이 흥분한 모습을 보이도록 합니다. 로봇이 축하하거나 활기찬 반응을 보여야 할 때 사용하세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

# 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 비전(스포츠 공)#

turn right until sports ball#

이 매크로는 AI 비전 센서가 스포츠 공을 감지할 때까지 로봇을 오른쪽으로 회전시킨 다음, 감지된 물체를 향해 회전시킵니다. 로봇이 스포츠 공을 향해 이동하거나 수집하기 전에 공을 찾아야 할 때 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 AI 비전 센서가 스포츠 공을 감지할 때까지 로봇을 왼쪽으로 회전시킨 다음, 감지된 물체를 향해 회전시킵니다. 로봇이 스포츠 공을 찾아 이동하거나 수집해야 할 때 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 로봇이 감지된 스포츠 공을 향해 이동하여 공을 획득할 때까지 계속 진행합니다. 로봇이 스포츠 공을 인식할 수 있게 된 후 또는 스포츠 공을 찾아 방향을 바꾸는 매크로를 사용한 후에 이 매크로를 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_move_velocity 및 set_turn_velocity를 사용하여 로봇의 이동 및 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

# 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 비전(오렌지 배럴)#

turn right until orange barrel#

이 매크로는 AI 비전 센서가 주황색 배럴을 감지할 때까지 로봇을 오른쪽으로 회전시킨 다음, 감지된 물체를 향해 회전합니다. 로봇이 주황색 배럴로 이동하거나 배럴을 수집하기 전에 배럴을 찾아야 할 때 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 AI 비전 센서가 주황색 배럴을 감지할 때까지 로봇을 왼쪽으로 회전시킨 다음, 감지된 물체를 향해 회전합니다. 로봇이 주황색 배럴로 이동하거나 배럴을 수집하기 전에 배럴을 찾아야 할 때 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 로봇이 감지된 주황색 배럴을 향해 이동하다가 배럴을 획득할 때까지 계속합니다. 로봇이 주황색 배럴을 인식할 수 있게 된 후 또는 주황색 배럴을 찾기 위해 ‘주황색 배럴까지 이동’ 매크로를 사용한 후에 이 매크로를 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_move_velocity 및 set_turn_velocity를 사용하여 로봇의 이동 및 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

# 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 비전(블루 배럴)#

turn right until blue barrel#

이 매크로는 AI 비전 센서가 파란색 배럴을 감지할 때까지 로봇을 오른쪽으로 회전시킨 다음, 감지된 물체를 향해 회전시킵니다. 로봇이 파란색 배럴로 이동하거나 수집하기 전에 배럴을 찾아야 할 때 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 AI 비전 센서가 파란색 배럴을 감지할 때까지 로봇을 왼쪽으로 회전시킨 다음, 감지된 물체를 향해 회전시킵니다. 로봇이 파란색 배럴로 이동하거나 배럴을 수집하기 전에 배럴을 찾아야 할 때 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 로봇이 감지된 파란색 배럴을 향해 이동시켜 획득할 때까지 작동합니다. 로봇이 파란색 배럴을 인식할 수 있게 된 후 또는 ‘파란색 배럴이 있는 곳까지 이동’ 매크로를 사용하여 배럴을 찾은 후에 이 매크로를 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_move_velocity 및 set_turn_velocity를 사용하여 로봇의 이동 및 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

# 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 비전(AIM 로봇)#

turn right until AIM robot#

이 매크로는 AI 비전 센서가 다른 VEX AIM 코딩 로봇을 감지할 때까지 로봇을 오른쪽으로 회전시킨 다음, 감지된 로봇을 향해 회전합니다. 로봇이 이동하기 전에 다른 로봇을 탐색해야 할 때 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 AI 비전 센서가 다른 VEX AIM 코딩 로봇을 감지할 때까지 로봇을 왼쪽으로 회전시킨 다음, 감지된 로봇을 향해 회전시킵니다. 로봇이 이동하기 전에 다른 로봇을 탐색해야 할 때 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 로봇이 다른 VEX AIM 코딩 로봇에 충분히 가까워질 때까지 이동시킵니다. 이 매크로는 로봇이 다른 로봇을 인식한 후 또는 AIM 로봇을 찾을 때까지 회전하는 매크로를 사용한 후에 사용하십시오.

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_move_velocity 및 set_turn_velocity를 사용하여 로봇의 이동 및 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

# 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 비전 (AprilTag)#

turn right until AprilTag#

이 매크로는 AI 비전 센서가 AprilTag ID 0을 감지할 때까지 로봇을 오른쪽으로 회전시킨 다음 감지된 AprilTag 방향으로 회전합니다. 로봇이 AprilTag를 향해 이동하기 전에 AprilTag를 검색해야 할 때 사용합니다. 로봇이 회전할 AprilTag를 변경하려면 TAG0 의 0 을 0 에서 37 사이의 숫자로 바꿉니다(AprilTag 5~37은 AIM Printables에서 인쇄된 AprilTag와 함께 사용할 수 있습니다).

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 AI 비전 센서가 AprilTag ID 0을 감지할 때까지 로봇을 왼쪽으로 회전시킨 다음 감지된 AprilTag 방향으로 회전합니다. 로봇이 AprilTag를 향해 이동하기 전에 AprilTag를 검색해야 할 때 사용합니다. 로봇이 회전할 AprilTag를 변경하려면 TAG0 의 0 을 0 에서 37 사이의 숫자로 바꿉니다(AprilTag 5~37은 AIM Printables에서 인쇄된 AprilTag와 함께 사용할 수 있습니다).

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_turn_velocity를 사용하여 로봇의 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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

이 매크로는 로봇이 정지할 수 있을 만큼 가까워질 때까지 AprilTag ID 0 방향으로 이동합니다. 로봇이 AprilTag를 인식할 수 있게 된 후 또는 AprilTag를 찾기 위해 turn-until-AprilTag 매크로를 사용한 후에 이 매크로를 사용하십시오. 로봇이 이동할 AprilTag를 변경하려면 TAG0 의 0 을 0 부터 37 까지의 숫자로 바꾸십시오(AprilTag 5~37은 AIM Printables에서 인쇄된 AprilTag와 함께 사용할 수 있습니다).

참고: 로봇이 물체를 감지하는 데 어려움을 겪는 경우 set_move_velocity 및 set_turn_velocity를 사용하여 로봇의 이동 및 회전 속도를 낮춰 보세요.

아래 코드는 이 매크로를 도구 상자에서 드래그하여 프로젝트에 추가할 때 사용되는 파이썬 시퀀스를 보여줍니다. 이 시퀀스는 추가한 후 그대로 사용하거나 편집할 수 있습니다.

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