Skip to main content

수업 1: 거리 센서란 무엇인가?

이 수업에서는 거리 센서가 무엇이고, VR 로봇에 거리 센서를 사용하는 이유를 알아보겠습니다. 또한 거리 센서가 작동하는 방식과 VEXcode VR Python 프로젝트에서 거리 센서를 사용하는 방법도 알아봅니다.

학습 성과

  • 거리 센서가 센서 자체와 가장 가까운 물체 사이의 거리를 보고한다는 것을 확인합니다.
  • 거리 센서는 레이저 빛 펄스가 물체에 반사되어 센서로 돌아오는 데 걸리는 시간을 사용하여 거리를 측정한다는 것을 알아봅니다.
  • found_object명령은 거리 센서가 객체를 찾았는지 여부를 부울 값으로 보고한다는 것을 확인합니다.
  • get_distance명령은 센서에서 가장 가까운 물체까지의 거리를 밀리미터(mm) 또는 인치 단위로 보고한다는 것을 확인합니다.
  • 프로젝트에서 거리 센서를 사용하는 이유를 설명하세요.

거리 센서

거리 센서는 VR 로봇 앞에 물체가 있는지 감지할 수 있으며, 만약 있다면 그 물체가 거리 센서로부터 얼마나 떨어져 있는지를 감지할 수 있습니다. 이 기능은 미로를 탐색할 때 벽에 계속 부딪히지 않고 탐색하거나, 물체를 피하거나, 놀이터에서 물체나 벽으로 운전하는 데 도움이 될 수 있습니다.

이 단원에서는 레이저 광선 펄스를 사용하여 물체를 감지하는 센서인 거리 센서를 사용합니다. 거리 센서는 VR 로봇의 거리 센서 앞부분과 가장 가까운 물체 사이의 거리를 보고합니다. 거리 센서는 VR 로봇의 앞쪽 눈에 있습니다. 범퍼 센서와 마찬가지로 VR 로봇은 거리 센서의 데이터를 사용하여 결정을 내릴 수 있습니다. 

로봇의 전면 중앙에 거리 센서가 장착된 VR 로봇의 전면 모습이 빨간색 상자로 강조 표시되어 있습니다.

거리 센서는 레이저 광선 펄스가 물체에 반사되어 센서로 돌아오는 데 걸리는 시간을 사용하여 거리를 계산합니다. 거리 센서는Wall Maze Playground에서 VR 로봇이 벽으로부터 얼마나 떨어져 있는지 감지하는 데 사용할 수 있습니다.

캐슬 크래셔 놀이터의 블록이 중앙에 쌓인 반대편에 있는 VR 로봇의 위에서 내려다본 이미지입니다. 로봇의 앞면과 블록 사이에는 빨간색과 녹색 곡선이 일렬로 있습니다. 빨간색은 센서에서 물체로 방출된 신호를 보여주고, 녹색은 물체에서 센서로 반사되어 돌아오는 신호를 보여주며, 이를 통해 센서는 거리를 계산할 수 있습니다.

거리 발견 객체 명령

거리 센서는 앞에 물체(예: 벽)가 있는지 감지하는 데 사용할 수 있습니다. 이러한 데이터는 프로젝트에서 사용되어 거리 센서가 물체를 감지했을 때 VR 로봇이 결정을 내릴 수 있도록 해줍니다.

Python 프로젝트에서 found_object 명령을 사용하여 거리 센서의 상태를 확인합니다. found_object 명령은 센서가 객체를 감지했는지 여부에 따라 True 또는 False의 부울 값을 반환합니다.

VEXcode VR Python Distance found object 명령은 distance dot found underscore object( )를 읽어옵니다.

  • found_object거리 센서가 시야 내에 있고 센서로부터 3000mm 이내에 있는 물체나 표면을 감지하면 True반환합니다.
  • found_object거리 센서가 3000mm 이내의 물체나 표면을 감지하지 못하면 False반환합니다.

found_object명령은 일반적으로 while 루프와 같은 제어 구조와 함께 사용되어 VR 로봇이 거리 센서의 데이터를 사용하여 결정을 내릴 수 있도록 합니다.

프로젝트에서 found_object 명령을 사용하는 경우, 사용되는 거리 센서를 지정해야 합니다. 벽 미로 놀이터에서는 VR 로봇에 전면 거리 센서만 사용할 수 있습니다. 도구 상자에서 found_object명령을 프로젝트로 끌어다 놓으면found_object명령은 여기에 표시된 대로 사용 중인 거리 센서를 자동으로 지정합니다. 아래 비디오 클립에서는 도구 상자에서 found_object 명령을 선택하여 작업 공간으로 끌어옵니다. 프로젝트에 나타나면 해당 명령은 자동으로 Device를 "front_distance"로 작성하여 나타납니다.

비디오 파일

거리 명령 얻기

거리 센서는 물체의 거리를 보고하고, 그 값을 사용하여 결정을 내릴 수도 있습니다. get_distance명령은 VR 로봇의 정면에서 가장 가까운 물체까지의 거리를 숫자로 반환합니다.

매개변수를 "MM" 또는 "INCHES"로 설정하여 거리를 밀리미터(mm)로 보고할지 인치로 보고할지 선택합니다.

VEXcode VR Python 거리 명령을 두 번 작성합니다. 첫 번째 줄은 매개변수가 밀리미터로 설정된 명령을 보여주고, 두 번째 줄은 매개변수가 인치로 설정된 명령을 보여줍니다.

get_distance 명령은while루프와 같은 다른 명령과 함께 프로젝트에서 사용하여 VR 로봇에게 객체로부터 특정 거리만큼 멀어지도록(또는 객체에 접근하도록) 지시하거나, 특정 거리가 보고되면 작업을 완료하도록 지시할 수 있습니다.

프로젝트에서 get_distance명령을 사용하는 경우, 사용되는 거리 센서를 지정해야 합니다. 벽 미로 놀이터에서는 VR 로봇에 전면 거리 센서만 사용할 수 있습니다. get_distance명령을 도구 상자에서 프로젝트로 끌어다 놓으면get_distance명령은 여기에 표시된 대로 사용 중인 거리 센서를 자동으로 지정합니다. 아래 비디오 클립에서는 도구 상자에서 get_distance 명령을 선택하여 작업 공간으로 끌어옵니다. 프로젝트에 나타나면 해당 명령은 자동으로 Device를 "front_distance"로 작성하여 나타납니다.

비디오 파일

거리 센서와 벽 미로 문제

벽 미로 문제에 대해 생각해 보면, 목표는 VR 로봇이 벽으로부터 멀리 떨어진 곳에서 운전하도록 하는 것입니다. VR 로봇이 벽에 가까워지면 미로를 계속 통과하기 위해 벽에 닿지 않고 멈추거나 방향을 바꿔야 합니다. 거리 센서를 사용하면 VR 로봇이 물체에 닿지 않고도 물체까지 이동할 수 있습니다.

다음 비디오 클립의 예에서 VR 로봇은 거리 센서가 물체와의 거리가 50mm 이상이라고 보고하는 동안 앞으로 주행합니다. VR 로봇은 50mm 이내로 접근하면 주행을 멈춥니다. VR 로봇이 벽에 닿지 않는다는 점에 주목하세요.

비디오 파일

프로젝트가 실행되는 동안 대시보드에 거리 센서가 보고하는 값이 실시간으로 표시됩니다. 값이 보다 밀리미터 크면 VR 로봇은 계속해서 전진합니다.왼쪽에 작업 공간, 오른쪽에 놀이터 창이 있는 VEXcode VR입니다. 놀이터 창에서 VR 로봇은 벽 근처가 아닌 시작 위치에 있습니다. 놀이터 창의 맨 위에 대시보드가 열려 있고, 가장 오른쪽에는 거리가 287mm로 보고되어 빨간색 상자로 강조 표시되어 있습니다.

거리 센서가미만의 값을 보고하면 VR 로봇은 벽에 닿지 않고 벽 근처에 있으므로 운전을 멈춥니다. 왼쪽에 작업 공간, 오른쪽에 놀이터 창이 있는 VEXcode VR입니다. 놀이터 창에서 VR 로봇은 앞으로 이동하여 이제 첫 번째 벽 근처에서 멈췄습니다. 놀이터 창의 맨 위에 대시보드가 열려 있고, 가장 오른쪽에는 거리가 27mm로 보고되어 빨간색 상자로 강조 표시되어 있습니다.

이 예에서 get_distance명령은 비교 연산자와 함께 사용되어 루프에서 부울 값을 반환합니다. 이 단원에서는 보다 큰 연산자(>)와 보다 작은 연산자(>)에 대해 자세히 알아봅니다.

질문

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

Google 문서 / .docx / .pdf