Skip to main content

수업 3: 거리 조정

이전 수업에서는 거리 센서와 비교 연산자를 사용하여 VR 로봇이 Wall Maze Playground의 시작 지점에서 숫자 '1'까지 주행하도록 했습니다. 이 수업에서는 대시보드의 센서 값을 모니터링하는 방법과 VR 로봇이 Wall Maze Playground의 시작 지점에서 'B' 문자까지 주행하는 방법을 알아봅니다.

벽 미로 놀이터의 위에서 내려다본 모습. VR 로봇이 중앙 하단의 시작 위치에 있고, 왼쪽 벽 중앙에 빨간색 상자로 B라는 글자가 강조 표시되어 있으며, 여러 개의 벽으로 구분되어 있습니다.

학습 성과

  • 대시보드를 사용하여 거리 센서의 데이터를 모니터링할 수 있는지 확인합니다.
  • VR 로봇이 벽면 미로 놀이터를 통과하도록 거리 센서 데이터를 사용하여 프로젝트에서 매개변수를 변경하는 방법을 식별합니다.

'B' 문자로 운전 

벽 미로에서 'B' 문자로 이동하는 방법에는 여러 가지가 있습니다. 우선, 'B'라는 글자로 가는 가장 직접적인 경로가 무엇인지 살펴보겠습니다. 벽 미로 놀이터를 위에서 내려다본 모습. VR 로봇이 왼쪽 벽 중앙의 B 위치에 있고, 시작점에서 B로 가는 경로를 검은색 선으로 표시했습니다. 첫 번째 선은 반대편 첫 번째 벽을 향해 위쪽으로 뻗어 있고, 그다음 선은 왼쪽으로 다음 벽까지 뻗어 있습니다. 다음 3개의 선분은 위쪽, 왼쪽, 아래쪽을 가리키며 벽 주위를 돌아 미로 바닥으로 이어지는 열린 길로 이어지는 경로를 추적합니다. 마지막 두 줄은 왼쪽으로 먼 벽까지 이어지고 위로는 문자 B까지 이어진다.

 

새로운 프로젝트 시작

  • 새로운 텍스트 프로젝트를 시작하고 메시지가 표시되면 Wall Maze Playground선택합니다. 벽 미로 놀이터 선택 타일.
  • 프로젝트 이름을 Unit5Lesson3로 지정하세요.
    VEXcode VR 도구 모음과 중앙의 프로젝트 이름 상자에는 Unit 5 Lesson 3이라고 적혀 있습니다.

문자 'B'로 운전하세요

  • 우선, VR 로봇의 처음 몇 가지 동작은 이전 수업에서 했던 것과 비슷합니다. 다음 프로젝트를 빌드하여 경로를 시작하세요.

    def main():
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(전진)
            wait(5, MSEC)
    
        drivetrain.turn_for(좌회전, 90, 도)
    
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(전진)
            wait(5, MSEC)
    
        drivetrain.turn_for(우회전, 90, 도)
    
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(전진)
            wait(5, MSEC)
    
        drivetrain.turn_for(좌회전, 90, 도)
    
  • 아직 열려 있지 않으면 놀이터 창을 엽니다. Wall Maze Playground이 열리는지 확인하고 프로젝트를 실행하세요.
  • 이 프로젝트에서 VR 로봇이 어디에서 멈췄는지 주목하세요. 'B' 문자로 계속 운전하려면 왼쪽을 향하고 있어야 합니다. 왼쪽 작업 공간에 위 프로젝트가 표시되어 있고, VR 로봇의 종료 위치가 놀이터에서 노란색 원으로 강조 표시된 VEXcode VR입니다. 로봇은 A 문자 맞은편 벽 옆, 왼쪽을 향하고 있습니다.

원하는 회전 위치 파악

VR 로봇은 이제 경로의 다음 부분으로 계속 이동할 수 있는 올바른 방향을 향하고 있습니다. 하지만 이전 레슨에서 했던 것처럼 거리 센서에서 나온 동일한 거리 값을 사용하여 계속 진행하면 VR 로봇은 이 경로를 따라갈 것입니다. 이전 프로젝트의 마지막 위치에 VR 로봇이 있는 벽 미로 놀이터의 위에서 내려다본 모습. 실선은 시작점에서부터 로봇의 경로를 표시하고, 점선은 로봇 앞에서 반대편 벽까지 확장되어 현재 매개변수를 적용한 로봇의 잠재적 경로를 보여줍니다. 이렇게 되면 로봇은 움직이지 못하고 B라는 글자에 도달하지 못하게 됩니다. 

이전 단원에서 범퍼 센서를 사용하여 수행한 것과 마찬가지로 드라이브트레인 명령을 후진하여 사용하여 원하는 회전 지점에 도달할 수 있습니다. 이는 다음과 같습니다.이전 프로젝트의 마지막 위치에 VR 로봇이 있는 벽 미로 놀이터의 위에서 내려다본 모습. 실선은 시작점에서부터 로봇의 경로를 표시하고, 점선은 로봇 앞에서 반대편 벽까지 이어지며, 돌아오는 경로는 범퍼 센서를 사용할 경우 로봇의 잠재적 경로를 보여줍니다. 이렇게 되면 로봇은 움직이지 못하고 B라는 글자에 도달하지 못하게 됩니다.

하지만 거리 센서를 사용하면 VR 로봇이 벽으로부터 , 떨어진 거리에서 회전할 수 있습니다. 이 턴에서 VR 로봇은 다른 턴보다 벽으로부터 더 멀리 떨어져 있습니다. 비교 연산자에서 거리 값을 조정하여 VR 로봇이 벽으로부터 더 먼 거리에서 회전할 수 있도록 함으로써 프로젝트와 VR 로봇의 경로를 더욱 효율적으로 만들 수 있습니다. 

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