매크로#
소개#
VEX AIM 파이썬 매크로는 파이썬 프로젝트에 끌어다 놓을 수 있는 미리 만들어진 코드 블록입니다. 각 매크로는 로봇이 더 큰 동작을 완료하도록 함께 작동하는 파이썬 명령어 그룹입니다.
이것들은 코드에서 호출되는 개별 메서드가 아닙니다. 대신, 각 매크로는 미리 만들어진 코드 시퀀스로 삽입되므로 프로젝트에 추가된 후 그대로 사용하거나 편집할 수 있습니다.
이 페이지에서 각 파이썬 코드 블록은 해당 매크로가 사용될 때 실제로 삽입되는 코드 순서를 보여줍니다.
다음은 모든 매크로 목록입니다.
감정 — 로봇이 감정을 표현하며 움직이도록 하세요.
act happy— 로봇이 행복한 척하게 만듭니다.act sad— 로봇이 슬픈 척하게 만듭니다.act silly— 로봇이 바보짓을 하게 만듭니다.act angry— 로봇이 화난 척하게 만듭니다.act excited— 로봇이 흥분한 척하게 만듭니다.
AI 비전(스포츠 공) — 스포츠 공을 향해 몸을 돌리거나 수집합니다.
turn right until sports ball까지 오른쪽으로 회전 — 스포츠 공이 감지될 때까지 오른쪽으로 회전합니다.turn left until sports ball까지 왼쪽으로 회전 — 스포츠 공이 감지될 때까지 왼쪽으로 회전합니다.get sports ball가져오기 — 로봇을 움직여 스포츠볼을 수집합니다.
AI 비전(주황색 배럴) — 주황색 배럴 쪽으로 몸을 돌리거나 주황색 배럴을 모으세요.
turn right until orange barrel까지 오른쪽으로 회전 — 주황색 배럴이 감지될 때까지 오른쪽으로 회전합니다.turn left until orange barrel까지 왼쪽으로 회전 — 주황색 배럴이 감지될 때까지 왼쪽으로 회전합니다.get orange barrel가져오기 — 로봇을 움직여 주황색 배럴을 수집합니다.
AI 비전(파란색 배럴) — 파란색 배럴 쪽으로 방향을 바꾸거나 파란색 배럴을 모으세요.
turn right until blue barrel까지 오른쪽으로 회전 — 파란색 배럴이 감지될 때까지 오른쪽으로 회전합니다.turn left until blue barrel까지 왼쪽으로 회전 — 파란색 배럴이 감지될 때까지 왼쪽으로 회전합니다.get blue barrel가져오기 — 로봇을 움직여 파란색 배럴을 수집합니다.
AI 비전(AIM 로봇) — 다른 AIM 로봇 쪽으로 방향을 바꾸거나 이동합니다.
turn right until AIM robot까지 오른쪽으로 회전 — 다른 AIM 로봇이 감지될 때까지 오른쪽으로 회전합니다.turn left until AIM robot까지 좌회전 — 다른 AIM 로봇이 감지될 때까지 좌회전합니다.move to AIM robot로 이동 — 다른 AIM 로봇으로 이동합니다.
AI 비전(AprilTag) — AprilTag 방향으로 몸을 돌리거나 이동하세요.
turn right until AprilTag까지 오른쪽으로 회전 — AprilTag가 감지될 때까지 오른쪽으로 회전합니다.turn left until AprilTag까지 좌회전 — AprilTag가 감지될 때까지 좌회전합니다.move to 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)