Skip to main content

레슨 3: 보고된 센서 피드백을 사용하여 디스크 픽업

이 수업에서는 보고된 센서 피드백을 사용하여 수업 2와 동일한 과제를 해결합니다. VR 로봇은 첫 번째 파란색 디스크를 집어 파란색 골대로 옮깁니다.

  • VEXcode VR에서 새 프로젝트를 시작하고 프로젝트 이름을 Unit8Lesson3로 지정합니다.

    VEXcode VR 도구 모음 중앙에 있는 프로젝트 이름 상자는 빨간색 상자로 강조 표시되어 있으며, 플레이그라운드 선택 버튼 왼쪽에 있습니다. 프로젝트 이름은 Unit 8 Lesson 3입니다.
  • 4개의 주석 블록을 작업 공간으로 끌어다 놓습니다. VR 로봇이 첫 번째 디스크까지 운전하고, 디스크를 집어 들고, 파란색 목표로 돌려놓는 데 필요한 각 단계에 대한 주석을 추가하세요.

    시작 시 블록에 4개의 주석 블록이 첨부된 새로운 VEXcode VR 프로젝트입니다. 댓글은 순서대로 다음과 같습니다. 1. 첫 번째 파란색 디스크로 이동하세요. 2. 첫 번째 파란색 디스크를 집어 올리세요. 3. 블루 골을 향해 운전하세요. 4. 파란색 원반을 파란색 골대에 넣으세요.
  • 첫 번째 주석 아래의 작업 공간으로 [반복] 블록을 끌어다 놓습니다.

    동일한 VEXcode VR 프로젝트에 첫 번째 주석 뒤에 반복 블록이 추가되었습니다. 반복 블록의 매개변수가 비어 있습니다.

귀하의 정보를 위해

[반복] 블록은 부울 리포터 블록을 허용하는 C 블록입니다. [반복할 때까지] 블록은 각 루프의 시작 부분에서만 부울 조건을 확인합니다. 부울 조건이 FALSE로 보고되면 내부 블록이 실행됩니다. 부울 조건이 TRUE로 보고되면 내부 블록은 건너뜁니다.

도구 상자의 VEXcode VR Repeat Until 블록입니다.
  • VR 로봇이 Disk Mover Playground에서 색상이 있는 디스크를 감지하면 <Eye Sensor near object> 블록이 TRUE를 보고합니다. 이 블록을 프로젝트로 끌어다 놓으세요.

    동일한 VEXcode VR 프로젝트에서 Repeat Until 블록의 매개변수에 객체 근처의 Eye Sensor가 추가되었습니다. 이제 프로젝트 시작 부분은 '시작 시'로 시작되며, 첫 번째 파란색 디스크로 이동한 후 프런트 아이가 객체에 가까워질 때까지 반복한다는 설명이 포함됩니다.
  • 디스크 무버 플레이그라운드 의 디스크는 플레이그라운드 바닥에 있기 때문에 프런트 아이 센서로 감지할 수 없습니다. 이러한 이유로 <Eye Sensor near object> 블록을 'DownEye'로 설정합니다.

    동일한 VEXcode VR 프로젝트에서, 객체 블록 근처의 눈 센서 매개변수가 열려 있고, 아래쪽 눈이 선택되었습니다. 반복 블록은 이제 '눈이 객체 근처에 있을 때까지 반복'으로 읽힙니다.
  • [반복] 블록 내부의 블록은 VR 로봇이 객체를 감지하지 못할 때 실행됩니다. 디스크 중 하나에 도달하려면 VR 로봇이 디스크가 감지될 때까지 앞으로 주행해야 합니다.

    VR 로봇이 파란색 골대 시작 위치에 있고, 그 앞에 파란색 디스크가 있는 디스크 이동 놀이터.
  • [드라이브] 블록을 [반복 대상] 블록으로 끌어다 놓습니다.

    이전과 동일한 VEXcode VR 프로젝트이지만, Repeat until 블록의 C에 Drive 블록이 추가되었습니다. 이제 프로젝트는 시작 시 블록과 첫 번째 파란색 디스크로 이동하라는 주석으로 시작됩니다. 그런 다음 Down Eye가 물체를 감지할 때까지 반복하고 앞으로 주행하세요.
  • 디스크가 감지되면 VR 로봇은 운전을 멈추고 디스크를 집어 올려야 합니다. [운전 중지] 블록을 끌어서 [반복] 블록 아래에 놓습니다.

    동일한 VEXcode VR 프로젝트인데, Repeat Until 블록과 두 번째 Comment 블록 사이에 정지 주행 블록이 추가되었습니다.
  • 이제 VR 로봇에게 전자석이 있는 디스크를 집어 올리도록 지시하여 두 번째 주석 아래에 [전자석 활성화] 블록을 놓습니다.

    두 번째 댓글 아래에 Energize Electromagnet 블록이 추가된 동일한 VEXcode VR 프로젝트입니다. 이제 프로젝트는 시작 시 첫 번째 파란색 디스크로 이동합니다. 아래 눈이 물체를 감지할 때까지 전진 주행을 반복한 후 주행을 중지합니다. 그런 다음 첫 번째 파란색 디스크를 집어 자석에 에너지를 공급하여 부스트하세요.
  • 아직 열려 있지 않으면 Disk Mover Playground 을 열고 프로젝트를 실행합니다.
  • VR 로봇은 다운 아이 센서에 의해 첫 번째 파란색 디스크가 감지될 때까지 앞으로 주행하고, 감지되면 주행을 멈추고 전자석에 전원을 공급하여 디스크를 집어 올립니다.

    디스크 이동 놀이터의 VR 로봇. 첫 번째 파란색 디스크가 로봇의 전자석에 부착되어 있습니다.
  • 이 프로젝트에서 [반복] 블록이 어떻게 작동하는지 주목하세요.
    • VR 로봇의 다운 아이 센서가 물체를 감지하면 프로젝트는 [반복] 블록 아래에 있는 스택의 다음 블록으로 이동합니다.
    • 이 프로젝트에서는 VR 로봇이 운전을 멈추고 전자석에 전원을 공급한다는 의미입니다.
VR 로봇이 앞으로 주행하기 시작하고 Down Eye가 객체를 감지하고 해당 부울 매개변수가 참으로 보고될 때까지 계속 앞으로 주행하는 것을 보여주는 Repeat until 블록이 있는 프로젝트 흐름 다이어그램입니다. 그런 다음 프로젝트는 운전을 멈추고 전자석에 에너지를 공급하여 부스트합니다.

스위치 블록 사용 

아래 이미지는 스위치 블록을 사용한 이 수업의 워크플로 그래픽을 보여줍니다. 이 그래픽을 위의 그래픽과 비교하면 현재 배우고 있는 새로운 Switch Python 명령의 워크플로를 더 잘 이해하는 데 도움이 될 수 있습니다. 

Switch 블록을 사용한 동일한 프로젝트의 프로젝트 흐름 다이어그램입니다. VR 로봇은 앞으로 주행을 시작하고, 다운아이가 물체를 감지하고 해당 부울 매개변수가 참으로 보고될 때까지 계속 앞으로 주행합니다. 그런 다음 프로젝트는 운전을 멈추고 전자석에 에너지를 공급하여 부스트합니다.

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