VEX EXP와 거리 센서 사용

거리 센서는 EXP 로봇 플랫폼과 완벽하게 통합되도록 설계된 강력한 센서 중 하나입니다. 이 센서는 교실에 안전한 레이저 광 펄스를 사용하여 센서 전면에서 물체까지의 거리를 측정합니다.

VEX 거리 센서 조각.


센서 설명

거리 센서에는 다음과 같은 기능이 있습니다.

  • 측정 거리: 센서는 교실에 안전한 레이저 광 펄스를 사용하여 센서 전면에서 물체까지의 거리를 측정합니다. 거리는 Brain의 센서 대시보드에서 인치 또는 센티미터로 보고되고 VEXcode EXP에서는 인치 또는 밀리미터로 보고됩니다.
  • 물체 감지: 센서는 물체 근처에 있을 때 감지하는 데에도 사용할 수 있습니다.
  • 물체의 상대적 크기 결정: 센서는 감지된 물체의 상대적 크기를 결정하는 데에도 사용할 수 있습니다. 물체의 대략적인 크기는 소형, 중형, 대형으로 보고됩니다.
  • 물체 속도 보고: 센서는 센서에 접근하는 물체 또는 물체에 접근하는 센서의 속도를 초당 미터 단위로 계산하고 보고하는 데 사용할 수 있습니다.

두 개의 나사로 지지대에 거리 센서를 부착한 다이어그램입니다.

센서 하우징 뒷면에는 센서를 로봇에 장착할 때 유연성을 제공하기 위한 5개의 구멍이 있습니다.

감지 창이 강조 표시된 거리 센서 조각입니다. 창문은 센서의 앞쪽으로 약간 들어가 있습니다. 라벨에는 '레이저용 창'이라고 적혀 있습니다.

센서 전면에는 거리를 측정하기 위해 레이저 빔이 전송되고 수신되는 작은 창이 있습니다.

VEX 거리 센서에 연결된 EXP 브레인의 다이어그램입니다.

거리 센서가 EXP Brain과 함께 작동하려면 센서의 스마트 포트와 EXP Brain의 스마트 포트를 스마트 케이블로 연결해야 합니다.

센서는 EXP Brain의 10개 스마트 포트 중 하나와 작동합니다.

EXP Smart Cable을 포트에 연결할 때 케이블의 커넥터가 포트에 완전히 삽입되어 있고 커넥터의 잠금 탭이 완전히 맞물려 있는지 확인하십시오.


거리 센서의 작동 방식

거리 센서는 교실에 안전한 레이저 광 펄스를 내보내고 펄스가 반사되는 데 걸리는 시간을 측정합니다. 이를 통해 거리를 계산할 수 있습니다.

센서의 클래스 1 레이저는 현대 휴대폰에서 머리 감지에 사용되는 레이저와 유사합니다. 레이저를 사용하면 센서의 시야가 매우 좁아지므로 항상 센서 바로 앞에서 감지할 수 있습니다.

센서의 측정 범위는 20밀리미터(mm) ~ 2,000밀리미터(mm)(0.79인치 ~ 78.74인치)입니다. 200밀리미터(mm) 미만에서는 정확도가 약 +/‐15밀리미터(mm)입니다. 200mm(밀리미터) 이상에서는 정확도가 약 5%입니다.

거리 센서는 VEXcode EXP와 쌍을 이루어 EXP Brain이 센서의 판독값을 활용하여 로봇의 동작을 제어할 수 있는 사용자 프로그램을 만들어야 합니다.

사용자 프로젝트와 함께 EXP Brain을 사용하여 거리 센서 판독값을 다음으로 변환할 수 있습니다.

  • 센티미터, 밀리미터 또는 인치로 측정된 물체까지의 거리입니다.
  • 초당 미터 단위의 물체 속도입니다.
  • 개체 크기는 소형, 중형 또는 대형입니다.
  • 개체가 발견되었습니다.

거리 센서 설정

놓기

로봇 앞을 가리키고 강조 표시된 거리 센서가 부착된 BaseBot 빌드입니다.

거리 센서의 배치는 정확한 판독값을 얻는 데 매우 중요합니다.

센서 전면에 있는 작은 센서 창 앞에 로봇의 구조물이 없는지 확인하십시오.

측정 대상 물체와 센서 사이의 센서 앞에 명확한 경로가 있어야 합니다.

거리 센서 값 읽기

거리 센서 장치가 선택된 상태에서 장치 메뉴에 뇌 화면이 표시됩니다.

EXP Brain의 장치 화면을 사용하면 거리 센서가 보고하는 정보를 확인하는 데 도움이 됩니다.

센서 대시보드에서 거리 센서 대시보드는 가장 가까운 물체의 거리를 인치 또는 센티미터로 보고합니다.

Brain에서 확인 버튼을 선택하여 인치와 센티미터 사이를 전환하면 단위를 변경할 수 있습니다.

센서 대시보드를 사용하려면 이 문서의 단계를 따르세요. 


VEXcode EXP에 거리 센서를 장치로 추가하기

센서를 프로그래밍 언어와 함께 사용할 때마다 해당 언어 내에서 구성해야 합니다. 

장치 추가 버튼을 선택한 후의 VEXcode EXP 장치 메뉴입니다. 거리 옵션이 강조 표시됩니다.

VEXcode EXP를 사용하면 장치 창에서 '장치 추가' 기능을 사용하여 이를 달성할 수 있습니다.

구성에 거리 센서를 추가하려면 이 문서의 단계를 따르세요. 

장치 메뉴가 열려 있는 VEXcode EXP의 스크린샷입니다. 연결된 거리 센서는 장치 메뉴에 나열되고 강조 표시됩니다. 블록 도구 상자가 열려 있고 블록의 거리 감지 범주가 강조 표시되어 있습니다.

프로젝트에 거리 센서가 추가되면 새로운 센서 블록 세트를 사용할 수 있습니다.

거리 센서와 관련된 '감지' 카테고리의 블록에 대한 자세한 내용은 도움말 정보(블록 프로젝트)를 참조하세요.


거리 센서의 일반적인 용도

거리 센서는 로봇의 동작을 변경하는 데 사용할 수 있는 여러 측정값을 생성할 수 있습니다. 이러한 기능은 다음과 같습니다.

물체 감지

VEXcode EXP 블록은 거리 센서를 사용하여 물체를 찾은 다음 그 물체를 향해 운전하는 프로젝트입니다. 이 프로젝트는 "시작할 때 오른쪽으로 돌아서 Distance7이 물체를 찾을 때까지 기다린 후 400mm 동안 전진합니다."로 시작됩니다.

이 기능을 사용하면 로봇이 거리 센서 범위 내에 있는 물체를 감지할 수 있습니다. 거리 센서는 물체가 약 1000mm 미만 떨어져 있을 때 발견된 물체를 보고합니다.

왼쪽의 예제 프로젝트는 전면에 거리 센서가 장착된 로봇이 큐브와 같은 물체를 감지할 때까지 회전하고, 센서에 물체가 감지되면 전진하도록 코딩하는 데 사용됩니다.

물체까지의 거리

VEXcode EXP 블록 프로젝트는 거리 센서를 사용하여 로봇을 물체 쪽으로 이동시킨 다음 집게발을 사용하여 물체를 잡습니다. 이 프로젝트는 시작 시 전진하고 Distance7 객체 거리(mm)가 75 미만이 될 때까지 기다립니다. 마지막으로 운전을 멈추고 ClawMotor를 25도 정도 돌립니다.

이는 센서 전면과 물체 또는 장벽/벽 사이의 측정을 제공합니다.

왼쪽에 표시된 예제 프로젝트는 전면에 거리 센서가 장착되고 발톱이 부착된 로봇을 코딩하는 데 사용됩니다. 로봇은 센서에서 75mm 미만 떨어진 물체를 감지할 때까지 주행한 다음 물체 주위의 클로를 닫습니다. 이 예는 로봇 앞에 물체가 있다는 것을 알고 로봇이 앞으로 이동하여 해당 물체를 수집하도록 하려는 경우에 도움이 될 것입니다. 

물체가 센서로부터 얼마나 멀리 떨어져 있는지 확인하고 프로젝트에서 해당 매개변수를 사용하려면 EXP Brain의 센서 대시보드를 사용하십시오. 센서 대시보드 사용에 대한 자세한 내용은 이 문서를 참조하세요.

물체 속도 보고

VEXcode EXP 블록은 거리 센서와 인쇄 블록을 사용하여 객체의 속도를 실시간으로 보고하는 프로젝트입니다. 이 프로젝트는 시작 시 Brain에서 인쇄 정밀도를 0.1로 설정합니다. 다음은 5개의 블록이 있는 Forever 루프입니다. 5개의 블록은 Brain에서 모든 행을 지우고, Brain에서 커서를 행 1, 열 1로 설정하고, Distance7을 출력하여 Brain에서 물체를 찾았다는 메시지를 표시하고 커서를 다음 행으로 설정하고, Distance7을 출력하여 Brain에서 물체의 속도(m/s)를 표시한 후 마지막으로 0.25초간 기다립니다.

이 기능은 센서에 접근하는 물체 또는 물체에 접근하는 센서의 속도를 초당 미터 단위로 측정합니다.

접근하는 물체에 따른 속도 변화를 관찰하기 위해 왼쪽의 예를 사용할 수 있습니다. 이 프로젝트에서는 정보가 Brain의 화면에 인쇄됩니다. 거리 센서에 의해 물체가 감지되면 두뇌는 해당 물체의 속도를 미터/초 단위로 인쇄합니다. 이러한 변화하는 숫자를 보다 정확하게 확인하기 위해 인쇄 정밀도는 0.1로 설정됩니다. 

큐브를 센서에서 더 가깝고 멀게 이동하여 이 프로젝트를 테스트합니다. 물체 및/또는 센서가 서로 멀어지면 속도 값은 음수가 됩니다.

객체의 상대적 크기 결정

VEXcode EXP 블록은 거리 센서와 인쇄 블록을 사용하여 객체의 크기를 실시간으로 보고하는 프로젝트입니다. 이 프로젝트는 When started 블록과 그 뒤에 13개의 명령이 포함된 Forever 루프로 구성됩니다. Forever 루프의 처음 세 가지 명령은 Brain의 모든 행 지우기, Brain의 커서를 행 1 열 1로 설정, Brain의 개체 크기 인쇄 및 커서를 다음 행으로 설정합니다. 다음은 Distance7이 객체를 찾았는가?라는 If 블록입니다. 첫 번째 If 블록 안에는 Else if 문과 Else 문에 연결된 두 번째 If 블록이 있습니다. 이러한 내부 If 문은 함께 Distance7 객체 크기가 작으면 Brain에 Small을 출력하고, Distance7 객체 크기가 중간이면 Brain에 Medium을 출력하고, 그렇지 않으면 Brain에 Large를 출력합니다. 첫 번째 If 블록 뒤에는 else print No object found on Brain이라는 Else 문이 옵니다. 마지막으로, 두 If 문 밖에는 Wait 0.25초를 기다리는 대기 블록이 있습니다.

이 기능을 사용하면 로봇은 센서의 판독값에 따라 물체를 소형, 중형 또는 대형으로 식별할 수 있습니다.

왼쪽의 예시에서는 [If then else] 및 [Print] 블록을 사용하여 뇌에 있는 개체의 상대적인 크기를 인쇄합니다. 센서 앞에 다양한 물체를 놓고 브레인 화면의 판독값을 보면 실시간으로 크기 식별이 가능합니다.

물체의 상대적인 크기를 결정하기 위해 센서는 센서에서 다시 반사되는 빛의 양에 대한 정보를 사용합니다. 크기를 가장 정확하게 표현하려면 센서에서 100mm~300mm(약 4~12인치) 떨어진 곳에 물체를 배치해야 합니다.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: