2과: 5번지까지 운전하세요
이 수업에서 VR 로봇은 번 숫자 그리드 맵 놀이터에서 숫자 '5'까지 주행하고 숫자 '1'로 돌아옵니다!

VR 로봇이 X축을 따라 이동하며 X 값이 증가하면서 숫자 그리드 맵 놀이터의 숫자 '5'로 이동합니다.

VR 로봇은 숫자 그리드 맵 놀이터에 있는 숫자 '5'의 위치로 이동합니다. 하지만 VR 로봇이 해당 번호로 이동하려면 먼저 VR 로봇에게 해당 번호의 위치가 어디인지 알려야 합니다. 놀이터 중앙에서 시작하여 숫자 '5'의 좌표는 (-100, -900)입니다.

- 시작하려면 VR 로봇이 숫자 '5'를 마주보고 있어야 합니다. 드래그하거나 turn_for 명령을 입력하세요.
# "main"
에 프로젝트 코드 추가 def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)- turn_for명령 아래로 while 루프를 끌어옵니다. 프로젝트는 다음과 같아야 합니다.
# "main"에 프로젝트 코드 추가
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while condition:
wait(5, MSEC)- 거리 센서 장치와 마찬가지로 이 프로젝트에서는 비교 연산자와 함께 위치 센서 위치 조건을 사용하여 숫자 그리드 맵 플레이그라운드탐색합니다. while 루프의 조건을 X축의 위치 명령으로 밀리미터(mm) 단위로 -100 미만으로 설정합니다. 프로젝트는 다음과 같아야 합니다.
# "main"에 프로젝트 코드 추가
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
wait(5, MSEC)- while 루프 안에 대기하지 않는 drive 명령을 끌거나 입력하세요. 프로젝트는 다음과 같아야 합니다.
# "main"에 프로젝트 코드 추가
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)- VR 로봇이 놀이터의 왼쪽에서 오른쪽으로 주행하기 때문에 '보다 큼' 연산자 대신 '보다 작음' 연산자가 사용된다는 점에 유의하세요. VR 로봇은 -900밀리미터(mm)의 X값에서 시작합니다. VR 로봇이 앞으로 나아갈수록 X 값이 증가하므로 X 값이 -100보다 작은 동안 로봇은 계속 앞으로 나아갑니다.

귀하의 정보를 위해
VR 로봇이 X축이나 Y축을 따라 이동하길 원하는 방향에 따라 프로젝트에서 사용할 비교 연산자를 선택해야 합니다. VR 로봇이 더 큰 값을 향해 이동할 때,while 루프와 함께 '보다 작음(<)' 연산자가 사용됩니다. VR 로봇이 더 작은 값을 향해 이동할 때,while 루프와 함께 '보다 큼(>)' 연산자가 사용됩니다.
이는 놀이터를 볼 때 좌우로 움직이는 것과 일치합니다. VR 로봇이 왼쪽에서 오른쪽으로 또는 아래에서 위로 움직이는 경우(더 큰 값), 목표 값보다 에서 이 작은 위치에서는 '작음' 연산자를 사용하여 구동합니다.
VR 로봇이 오른쪽에서 왼쪽으로 또는 위에서 아래로 움직이는 경우(값이 작을수록), 목표 값보다 또는 큰 위치가 되는 동안 '보다 큼' 연산자를 사용하여 구동합니다.
비교 연산자를 사용하면 VR 로봇은 위치 센서에서 보고된 값이 임계값보다 크거나(>) 작을 때(<) 이동합니다. 이 예에서 VR 로봇은 X축에서 양의 500밀리미터(mm)로 이동합니다. VR 로봇은 X축의 위치 이 0에서 양의 499 사이인 동안 운전됩니다. 위치 센서가위치 이 501 이상이라고 보고하면 VR 로봇은 운전을 멈춥니다.
# "main"에 프로젝트 코드 추가
def main():
monitor_sensor(location.position)
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < 500:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()위치 센서에서 보고된 값이 정확히 밀리미터(mm)인이 아니라는 점에 유의하세요. 거리 센서와 마찬가지로 비교 연산자는 VR 로봇이 프로젝트를 반복하고 값을 보고하는 데 시간이 걸리기 때문에 사용됩니다.
- while 루프 밖으로 stop 명령을 끌거나 입력하세요. 프로젝트는 다음과 같아야 합니다.
# "main"에 프로젝트 코드 추가
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()- 놀이터 창이 아직 열려 있지 않으면 엽니다. 숫자 그리드 맵 놀이터이 열리고 프로젝트를 실행하세요.
- 번호 그리드 맵 놀이터에서 VR 로봇이 숫자 '5'를 향해 주행하는 모습을 지켜보세요.

- 이 프로젝트에서 VR 로봇은 숫자 그리드 맵 놀이터의 숫자 '5'를 향해 주행합니다. while 루프는 X 값이 해당 숫자가 있는 좌표의 X 값보다 에서 작은 동안 VR 로봇이 계속 전진하도록 사용됩니다.
- X 값이 -100보다 커지면 프로젝트는 루프 외부의 다음 명령인 stop 명령으로 이동합니다. 숫자 '5'의 X 값은 -100이므로, X 값이 -100보다 커지면 VR 로봇이 운전을 멈춥니다.

귀하의 정보를 위해
위치 센서에서 보고하는 값은 정확히이 아니라~100밀리미터(mm)일 수 있습니다. 거리 센서와 마찬가지로 비교 연산자는 VR 로봇이 프로젝트를 반복하고 값을 보고하는 데 시간이 걸리기 때문에 사용됩니다.
VEXcode VR Python에서는 프로젝트에서보다 크거나과 같음(>=) 또는 보다 작거나과 같음(<=) 비교 연산자를 사용하여 움직임의 정확도를 높일 수 있습니다.
# "main"에 프로젝트 코드 추가
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) <= -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()VR 로봇의 속도와 프로젝트가 루프를 반복하는 속도에 따라 연산자에<= 또는 >=와 같은 값이 추가되면 VR 로봇이 임계값에 더 가깝게 멈출 수 있음을 알 수 있습니다.
이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.