Skip to main content

레슨 2: While 루프를 사용한 프런트 아이 센서 사용

이 수업에서는 while 루프와not 조건을 사용하여 전면 눈 센서를 사용하여 VR 로봇을 디스크 미로 놀이터로 이동시키는 프로젝트를 만듭니다. 귀하의 프로젝트에서는 VR 로봇이 전면 눈 센서에 녹색 디스크가 감지되면 오른쪽으로 회전하고, 파란색 디스크가 감지되면 왼쪽으로 회전하도록 지시합니다. 미니 챌린지에서는 이러한 기술을 적용하여 VR 로봇을 디스크 미로 놀이터의 각 디스크로 운전하고 빨간색 디스크에서 마무리합니다.

디스크 미로 놀이터에 있는 VR 로봇의 측면 모습. 배경에 검은색 화살표가 있어 로봇이 디스크에서 디스크로 이동하는 경로를 나타냅니다. 로봇은 미로 끝, 빨간 디스크 앞에 있습니다.

학습 성과

  • while 루프가 눈 센서와 함께 사용될 수 있다는 것을 알아봅니다.
  • VR 로봇이 프로젝트에서 결정을 내리도록 하기 위해 Eye Sensor 데이터를 사용하려면 조건을 사용해야 한다는 것을 알아보세요.
  • 프로젝트에서 패턴을 식별하여 코드를 단순화하는 방법을 설명하세요.

첫 번째 4개 디스크로 이동

프론트 아이 센서를 사용하면 VR 로봇이 디스크와 그 색상을 감지하고, 해당 데이터에 따라 결정을 내릴 수 있습니다. VR 로봇은 감지된 물체의 색상과 관련된 센서 피드백을 사용하여 디스크 미로를 탐색하고 로봇의 움직임을 결정할 수 있습니다. 기본적으로, 전방 눈 센서의 데이터는 VR 로봇의 회전을 '색상 코드'로 사용하는 데 사용됩니다. 즉, 한 가지 색상이 감지되면 좌회전하고 다른 색상이 감지되면 우회전합니다.

먼저, VR 로봇이 디스크 미로의 첫 번째 부분을 탐색하기 위해 이동할 경로를 살펴보겠습니다. 디스크 미로 놀이터의 위에서 내려다본 모습. 로봇은 시작 위치에 있습니다. 화살표는 VR 로봇이 첫 번째 녹색 디스크까지 전진하여 오른쪽으로 돌아, 파란색 디스크까지 이동하고, 왼쪽으로 돌아, 두 번째 파란색 디스크까지 이동하고, 왼쪽으로 돌아, 세 번째 파란색 디스크에서 멈추는 경로를 나타냅니다.

귀하의 정보를 위해

디스크 미로 놀이터에는 놀이터 바닥의 각 색깔 디스크 위치에 색깔 표시가 있습니다.디스크 미로 놀이터에 있는 VR 로봇의 측면 모습. 검은색 화살표는 로봇이 녹색 디스크로 이동한 후 오른쪽으로 돌아간다는 것을 나타냅니다. 

이 단원에서는 디스크를 감지하기 위해 프론트 아이 센서를 사용하지만, 다운 아이 센서에도 동일한 논리와 프로젝트를 적용할 수 있습니다. 다운 아이 센서는 튀어나온 디스크를 감지하는 대신 놀이터 바닥의 색상을 감지하고 해당 데이터를 바탕으로 결정을 내립니다. 다운 아이 센서는 놀이터의 바닥을 물체로 감지하지 않지만, 색상이 있는 공간은 감지합니다. 

Eye Sensor 데이터를 사용한While루프 사용

이전 단원에서는 조건이 충족되는 동안 VR 로봇이 구동되도록while루프를 사용하거나, 조건이 충족되지 않는 동안 구동되도록not조건과 함께 while 루프를 사용했습니다. 눈 센서에서 얻은 데이터도 같은 방식으로 사용할 수 있습니다. 디스크 메이즈 경로의 첫 번째 단계를 살펴보겠습니다.

 디스크 미로 놀이터에 있는 VR 로봇을 위에서 내려다본 모습. 검은색 화살표는 로봇이 시작 위치 바로 맞은편에 있는 녹색 디스크로 이동한 다음 오른쪽으로 돌아간다는 것을 나타냅니다.

VR 로봇은 앞으로 주행해야 하지만 전방 눈 센서이 녹색을 감지하지 못하는 동안 을 감지하지 못합니다. 전방 눈 센서가 녹색을 감지하면 VR 로봇은 미로의 다음 디스크를 향하기 위해 오른쪽으로 90도 회전해야 합니다.

프로젝트 이름 지정 및 저장

디스크로 구성된 미로 놀이터에서 전면 눈 센서가 첫 번째(녹색) 디스크를 감지하면 VR 로봇이 회전하도록 지시하기 위해 while루프를 사용하는 프로젝트를 빌드해 보겠습니다.

  • 새 프로젝트를 시작하고 메시지가 표시되면Disk Maze Playground선택합니다. VEXcode VR의 디스크 메이즈 놀이터 선택 타일입니다.
  • 프로젝트 이름을 Unit7Lesson2.지정하세요.프로젝트 이름 상자가 호출된 VEXcode VR 도구 모음입니다. 프로젝트 이름은 단원 7, 수업 2입니다.

     

  • 시작하려면 VR 로봇의 동작을 설명하는 주석을 추가하세요. 이 프로젝트에서는 프로젝트의 다음 섹션에서 VR 로봇의 동작에 대한 의도가 무엇인지 사용자에게 상기시키기 위해 주석을 사용합니다. VEXcode VR Python의 주석은 #(파운드) 기호로 시작한다는 점을 기억하세요. 
def main():
    # 첫 번째 디스크(녹색)로 이동하여 오른쪽으로 돌립니다.
  • VR 로봇은 디스크 미로 놀이터의 첫 번째 디스크를 향해 주행해야 합니다. 작업 공간에 while루프와 not 조건을 드래그하거나 입력합니다. VR 로봇이 프로젝트를 올바르게 실행하도록 하려면while루프의 일부로wait명령을 포함하는 것을 잊지 마세요.
def main():
    # 첫 번째 디스크(녹색)로 이동, 오른쪽으로 회전
    while not condition:
        wait(5, MSEC)
  • 루프의 조건을 Front Eye Sensor의detect명령으로 설정하고, 매개변수를 "GREEN"으로 설정합니다.
def main():
    # 첫 번째 디스크(녹색)로 이동하여 오른쪽으로
    회전(front_eye.detect(GREEN):
        wait(5, MSEC))
  • while 루프 내부에서 대기하지 않는 drive 명령을 드래그하거나 입력하면 프로젝트가 다음과 같이 표시됩니다.
def main():
    # 첫 번째 디스크(녹색)로 주행하고 오른쪽으로
    회전(GREEN이 아닌 경우):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
  • while 루프 외부에서 turn_for명령을 드래그하거나 입력하여 VR 로봇이 녹색 디스크를 감지하면 오른쪽으로 90도 회전하도록 지시합니다. 프로젝트는 다음과 같아야 합니다.
def main():
    # 첫 번째 디스크(녹색)로 주행하고 오른쪽으로
    회전(GREEN이 아닌 경우):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)
  • 놀이터 창이 아직 열려 있지 않으면 엽니다. Disk Maze Playground 가 열리고프로젝트를 실행하세요.
  • VR 로봇이 첫 번째 녹색 디스크를 향해 앞으로 주행한 다음 오른쪽으로 회전하는 모습을 지켜보세요.

    디스크 미로 놀이터에 있는 VR 로봇의 측면 모습. 검은색 화살표는 로봇이 녹색 디스크로 이동한 후 오른쪽으로 돌아간다는 것을 나타냅니다.
  • VR 로봇이 전진하는 반면, 전방 눈 센서 색상 상태는 False로 보고됩니다. 녹색 디스크가 감지되면 전면 눈 센서 색상이 True를 보고하고 루프를 종료합니다. 그러면 오른쪽으로 90도 회전하는 다음 명령을 실행합니다.

이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.