Skip to main content

레슨 2: 여러 While 루프 사용

벽 미로를 계속 통과하다

이제 범퍼 센서와 함께while루프를 사용하여 VR 로봇이 벽에 도달하면 주행을 멈추도록 했습니다. 그러나 벽 미로를 통과하려면 VR 로봇이 벽에 도달했을 때을 해야 하며, 그렇게 하면 방향을 바꾸어 계속 진행할 수 있습니다. 

  • 시작하려면while루프 외부의 stop 명령을 제거하고 turn_for명령으로 교체합니다. VR 로봇이 90도 왼쪽으로 회전하도록 매개변수를 설정합니다. 이제 프로젝트는 다음과 같이 보일 것입니다.

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	drivetrain.turn_for(LEFT, 90, DEGREES)
  • 아직 열려 있지 않으면 Wall Maze Playground 을 실행하고 프로젝트를 실행하세요.
  • VR 로봇이 벽 미로의 시작 부분에서 주행하다가 범퍼 센서가 벽에 닿으면 멈추고 왼쪽으로 90도 회전하는 모습을 지켜보세요.

    월 미로 놀이터를 위에서 내려다본 모습. VR 로봇은 놀이터 아래쪽의 녹색 시작 화살표에서 앞으로 이동하여 앞에 있는 벽에 부딪혔습니다. 이제 왼쪽으로 90도 각도로 향하고 있으므로 왼쪽 벽을 향하고 있습니다.

다중 루프와 벽 미로 문제

이제 VR 로봇은 벽에 도달했고, 미로를 계속 주행할 수 있도록 방향을 돌렸습니다. 미로의 첫 번째 단계를 위해 while 루프에서 범퍼 센서 데이터가 사용된 것과 같은 방식으로, 동일한 구조를 동일한 프로젝트에서 여러 번 사용하여 VR 로봇이 미로를 계속 통과하도록 할 수 있습니다. 동일한 프로젝트에서 여러 개의 while루프를 사용할 수 있습니다.

  • VR 로봇의 현재 위치에서 출발하여 벽 미로를 해결하기 위한 다음 단계는 다음 벽으로 이동하여 오른쪽으로 90도 회전하는 것입니다. 기존 명령은 이전 while loop와 turn_for 명령 아래에 복사하여 붙여 넣을 수 있습니다. 들여쓰기에 주의하고 새로운 turn_for 명령 매개변수를 오른쪽으로 90도 회전하도록 변경하세요. 이제 프로젝트는 다음과 같이 보일 것입니다.

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    	
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
  • 벽 미로 놀이터 을 재설정하고 프로젝트를 다시 실행합니다.
  • VR 로봇이 벽 미로의 시작 부분에서 주행하다가 범퍼 센서가 벽에 닿으면 멈추고, 왼쪽으로 90도 회전한 후 범퍼 센서가 다시 벽에 닿을 때까지 앞으로 주행한 다음 오른쪽으로 90도 회전하고 멈추는 모습을 지켜보세요.

    월 미로 놀이터를 위에서 내려다본 모습. VR 로봇은 녹색 시작 화살표에서 출발하여 앞으로 이동한 후, 왼쪽으로 돌고 다시 앞으로 이동하여 다음 벽에 부딪혔습니다. 이동 후 오른쪽으로 90도 돌아서서 윗벽을 바라보게 됩니다.

미니 챌린지

이 미니 챌린지에서는 여러 개의 while루프와 범퍼 센서를 사용하여 VR 로봇이 벽 미로 놀이터 에서 시작점에서 문자 'A'까지 주행하는 프로젝트를 만들어 보세요!

VR 로봇이 놀이터 중앙 하단의 시작 위치에 있는 벽 미로 놀이터의 위에서 내려다본 모습. A라는 글자는 로봇의 바로 왼쪽에 있으며, 짧은 벽으로 구분되어 있습니다.

미니 챌린지를 완료하려면 다음 단계를 따르세요.

  • 아래의 솔루션 영상을 시청하여 미니 챌린지를 완료하기 위해 VR 로봇이 어떻게 운전해야 하는지 알아보세요. 이 영상 클립에서 VR 로봇은 놀이터 중앙 하단에서 시작합니다. 범퍼 센서가 반대편 벽에 닿을 때까지 앞으로 주행한 다음, 왼쪽으로 돌아 앞에 있는 다음 벽으로 주행합니다. 범퍼가 벽에 닿으면 로봇은 다시 왼쪽으로 돌아 마지막 벽과 문자 A에 도달할 때까지 전진합니다.

  • Unit4Lesson2 프로젝트에 필요한 명령을 추가하거나 제거하여 프로젝트를 만듭니다.
  • 프로젝트를 시작하여 테스트해 보세요.
  • 프로젝트가 성공적이지 않으면, 편집하고 다시 시도하세요. VR 로봇이 처음부터 'A' 문자까지 성공적으로 주행할 때까지 프로젝트를 계속 수정하고 실행합니다.
  • VR 로봇이 처음부터 'A' 문자까지 성공적으로 주행하면 프로젝트를 저장합니다.

축하해요! 미니 챌린지를 해결했습니다!

질문

아래 링크를 선택하여 수업 퀴즈에 참여하세요.

Google 문서 / .docx / .pdf