2과: 다음 디스크로 이동
블루 디스크로 드라이브하세요
이전 프로젝트에서는 VR 로봇이 전방 눈 센서가 녹색 디스크를 감지하면 오른쪽으로 돌아서서 미로의 첫 번째 단계를 통과했습니다. 이제 우리는 VR 로봇이 디스크 미로 놀이터의 처음 4개 디스크로 이동하도록 프로젝트를 계속 구축할 것입니다.
녹색 디스크에서 우회전한 후 VR 로봇이 향하는 방향을 살펴보면, 다음 세 개의 파란색 디스크로 이동하려면 VR 로봇이 앞으로 주행하고 각 파란색 디스크에서 좌회전해야 합니다. while루프와 동일한 논리를not조건과 함께 사용하면 VR 로봇이 미로를 계속 주행하고 파란색 디스크를 감지하면 좌회전하게 할 수 있습니다.
- 기존 프로젝트의 turn_for 아래에 VR 로봇의 다음 동작을 설명하는 주석을 추가합니다. 프로젝트는 다음과 같아야 합니다.
def main():
# 첫 번째 디스크(녹색)로 주행하고 우회전
while not front_eye.detect(GREEN):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# 두 번째 디스크(파란색)로 주행하고 좌회전- 새로운 주석 아래에 not 조건을 포함한 while 루프를 추가합니다. 조건을 detect명령으로 설정하고 매개변수를 "BLUE"로 설정합니다. VR 로봇이 다음에 마주칠 디스크는 파란색이기 때문입니다.
# 2번째 디스크(파란색)로 이동, front_eye.detect(BLUE):
wait(5, MSEC) 동안 좌회전
- while 루프 내부에서 대기하지 않는 drive 명령을 드래그하거나 입력합니다.
# 2번째 디스크(파란색)로 이동하여 front_eye.detect(BLUE)가 감지되지 않는 동안 좌회전
:
drivetrain.drive(FORWARD)
wait(5, MSEC)- turn_for 명령을 드래그하거나 입력한 후 매개변수를 좌회전 90도 설정하세요.
# 2번째 디스크(파란색)로 이동하여 front_eye.detect(BLUE)가 아닌 동안 좌회전
번:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)- VR 로봇이 Disk Maze Playground.을 어떻게 움직이는지 보려면 프로젝트를 실행하세요.
- VR 로봇은 전방 눈 센서가 녹색 디스크를 감지하면 오른쪽으로 회전하고, 전방 눈 센서가 파란색 디스크를 감지하면 왼쪽으로 회전합니다.
- 전면 눈 센서를 사용하여 VR 로봇을 디스크 미로 놀이터 에 있는 두 개의 파란색 디스크로 이동시키는 이 프로젝트를 계속 구축하세요. 프로젝트에 명령을 추가하여 VR 로봇을 다음 두 디스크로 이동시킨 후 중지합니다. 이제 전체 프로젝트는 다음과 같습니다.
def main():
# 1번째 디스크(녹색)로 주행하고, 우회전
(없음) front_eye.detect(GREEN):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# 2번째 디스크(파란색)로 주행하고, 좌회전
(없음) front_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)
# 3번째 디스크(파란색)로 주행하고, 좌회전
(없음) front_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)
# 4번째 디스크(파란색)로 주행하고, 좌회전
(없음) front_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)VR 로봇의 움직임에서 패턴 식별
전면 눈 센서로 디스크 미로를 성공적으로 탐색하는 목표는 전면 눈 센서가 녹색 디스크를 감지하면 VR 로봇이 오른쪽으로 회전하고, 전면 눈 센서가 파란색 디스크를 감지하면 왼쪽으로 회전하는 일관된 패턴을 만드는 것입니다. 이런 패턴을 식별하면 프로젝트가 복잡해짐에 따라 프로젝트를 단순화하는 데 도움이 될 수 있습니다.

귀하의 정보를 위해
프로젝트의 명령 순서에도 패턴이 있다는 점에 유의하세요. 이 프로젝트에서는 파란색 디스크에 대한 일련의 명령이 세 번 반복됩니다. 이 코드 부분은 for 루프를 사용하여 요약할 수 있습니다. 여기에 표시된 프로젝트는 파란색 디스크와 관련된 3개의 while 루프를 단일 for 루프로 결합합니다.
def main():
# 첫 번째 디스크(녹색)로 이동하여 우회전
while not front_eye.detect(GREEN):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# 다음 3개 디스크(파란색)로 이동하여 좌회전
for value in range(3):
while not front_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.turn_for(LEFT, 90, DEGREES)을루프로 사용하면 프로젝트가 더 간단하고 읽기 쉬워지지만, 반복되는 명령을 하나의 루프 안에 포함하게 됩니다.
- 아직 열려 있지 않으면 Disk Maze Playground 을 열고 프로젝트를 실행합니다.
-
VR 로봇이 디스크 미로 놀이터에서 4개의 디스크를 탐색하는 모습을 지켜보세요.

- 이 프로젝트에서는 VR 로봇이 전방 눈 센서가 녹색을 감지할 때까지 앞으로 주행합니다.
- VR 로봇은 오른쪽으로 90도 회전한 후 파란색이 감지될 때까지 다시 앞으로 주행합니다.
- 그런 다음 VR 로봇은 좌회전하고 전방 눈 센서가 파란색을 감지할 때까지 앞으로 주행합니다. 파란색이 감지되면 VR 로봇은 다시 왼쪽으로 회전합니다.
- 마지막으로, VR 로봇은 전방 눈 센서가 파란색을 감지할 때까지 앞으로 주행한 후 멈춥니다.
- 전방 눈 센서가 녹색을 감지하면 VR 로봇이 오른쪽으로 회전하는 패턴을 주목하세요. 전방 눈 센서가 파란색을 감지하면 이 프로젝트에서는 VR 로봇이 왼쪽으로 회전합니다.
이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.