수학 부등식을 사용하여 V5 거리 센서 코딩

VRC(VEX Robotics Competition) 경기 중에 로봇에 V5 거리 센서를 사용하면 로봇이 자율적인 움직임을 통해 더 많은 점수를 얻을 수 있습니다.

이번 글에서 예시로 사용된 게임은 2021~2022년 VRC 게임인 티핑포인트(Tipping Point)입니다. 게임에 대한 자세한 정보와 게임 진행 방법은 이 페이지 에서 확인하세요. 이 기사 전반에 사용된 게임 정의, 게임 규칙 개요, 점수에 대한 자세한 내용 Tipping Point게임 매뉴얼을 참조하세요.


V5 거리 센서

V5 거리 센서의 측면 모습.

V5 거리 센서 은 V5 로봇 플랫폼과 완벽하게 통합되도록 설계된 강력한 V5 센서 중 하나입니다.

  • 이 센서는 교실에 안전한 레이저 광 펄스를 사용하여 센서 전면에서 물체까지의 거리를 측정합니다.
  • V5 거리 센서는 물체를 감지하고 물체의 상대적 크기를 결정하는 데 사용할 수 있습니다. 물체의 대략적인 크기는 소형, 중형, 대형으로 보고됩니다.
  • 센서는 로봇의 접근 속도를 계산하는 데에도 사용할 수 있습니다. 접근 속도는 로봇/센서가 물체를 향해 이동할 때의 속도를 측정합니다.

V5 거리 센서에 대한 자세한 정보, 작동 방식 및 VEXcode V5,와 함께 사용하는 방법에 대해서는 VEX 라이브러리 의 이 문서를 참조하십시오.


V5 거리 센서 예시

이 프로젝트의 목표는 로봇이 V5 거리 센서를 사용하여 모바일 목표를 집어 이동시켜 목표가 얼마나 멀리 있는지 감지하는 것입니다.

VEXcode V5 블록 프로젝트로, 움직이는 목표물을 감지할 때까지 앞으로 나아가고, 목표물을 집어 올린 후 이동시킵니다. 프로젝트 설명에는 "시작 시, 앞으로 주행하고, DistanceCenter 객체 거리(mm)가 139 미만이 될 때까지 기다린 후 주행을 멈춥니다."라고 되어 있습니다. 다음으로, 포크 모터를 600도 위로 회전시킨 다음 왼쪽으로 90도 회전시키십시오. 다음으로, 600mm 전진한 후 포크 모터를 600도 회전시키고, 마지막으로 300mm 후진하십시오.

이번 글에서 다룰 코드 예제입니다.

예제의 동작을 분석하고 V5 거리 센서를 코딩하는 데 사용되는 매개변수를 얻는 방법을 다룹니다.

이 글을 따라가면서 VEXcode V5 로 프로젝트를 빌드할 수도 있고, 이 글을 읽고 사용자 지정 로봇을 코딩할 때 V5 거리 센서를 포함하는 방법의 예를 참고하여 영감을 얻을 수도 있습니다.

이 영상은 위의 코드가 실행되는 모습과 로봇이 모바일 목표를 집어 움직이는 모습을 보여줍니다.

이 예시에서는 VEXcode V5 장치 메뉴를 열어 장치 구성을 보여줍니다. 메뉴에는 먼저 19번 포트에 DistanceCenter라는 이름의 거리 센서가 표시됩니다. 다음으로, 1번 포트와 10번 포트에 모터가 연결된 구동계와 3번 포트에 관성 센서가 있습니다. 마지막으로 2번 포트와 9번 포트에는 ForkMotors라는 이름의 모터 그룹이 있습니다.

다음은 VEXcode V5에서 이 예제의 구성에 로봇과 거리 센서를 추가하는 데 사용되는 로봇 구성입니다. 예제를 직접 시도해보고 싶다면 다음과 같습니다.

이 예시에 사용된 로봇

위에서 본 모비 히어로 로봇의 모습이며, V5 거리 센서가 추가된 부분이 강조되어 있습니다. 거리 센서는 로봇 포크 뒤쪽 아래에 위치하며 앞쪽을 향하고 있습니다.

이번 예시에 사용된 로봇은 2021~2022 VRC 히어로봇, 모비입니다. Moby의 디자인에는 센서가 없습니다. 이 예에서는 V5 거리 센서가 Moby에 추가되었습니다.

이 예에서는 V5 거리 센서가 Moby's Forks 중앙 근처에 장착되어 있습니다.

Moby에 대한 자세한 내용 VEX 라이브러리의 문서를 참조하십시오.

V5 거리 센서를 코딩하거나 올해 대회에 참가하기 위해 Moby를 사용할 필요는 없습니다. 원하는 위치에 맞춤형 로봇에 센서를 장착할 수 있습니다.

참고: 센서 전면에 있는 작은 레이저 창 앞에 로봇의 구조물이 없는지 확인하십시오. 목표물과 센서 사이의 센서 앞에 명확한 경로가 있어야 합니다.

점수를 매길 행동 분석

V5 거리 센서의 피드백을 사용하여 모바일 목표를 선택하고 이동하려면 먼저 로봇이 어떻게 움직여야 하는지 분석하세요.

모비 로봇이 필드에 놓이고, 모바일 골대가 로봇 앞에서 몇 피트 떨어진 곳에 설치됩니다.

먼저, 로봇은 Mobile Goal을 향하도록 배치되어야 합니다.

모비 로봇이 이동 목표물을 감지하기 위해 앞으로 나아간 후의 모습입니다. 모바일 목표물이 이제 로봇의 포크형 팔 안에 들어갔습니다.

그런 다음 로봇은 거리 센서가 모바일 목표가 포크 내부에 있고 센서에 가깝다는 것을 감지할 때까지 전진해야 합니다.

모비 로봇이 모바일 목표물을 감지하고 팔을 들어 올려 목표물을 집어 올리는 모습입니다.

센서가 모바일 목표가 포크 내부 또는 센서 가까이에 있음을 감지하면 로봇은 주행을 멈추고 모바일 목표를 픽업하기 위해 포크를 올립니다.

모바일 골대를 운반하던 모비 로봇이 왼쪽으로 90도 회전했습니다.

모바일 목표가 선택되면 로봇은 왼쪽으로 90도 회전하고 600mm(밀리미터) 앞으로 이동합니다.

모비 로봇이 포크를 내려 모바일 골대를 놓은 후 뒤로 이동했습니다.

그런 다음 로봇은 포크를 내려 모바일 목표를 아래로 내리고 다음 이동 중에 실수로 넘어지지 않도록 모바일 목표에서 반대 방향으로 주행합니다.


매개변수 이해

위의 동작을 실행하기 위해서는 모바일 목표가 V5 거리 센서로부터 얼마나 떨어져 있는지 이해하는 것이 중요합니다.

V5 거리 센서를 사용하여 모바일 목표를 포착하기 위한 매개변수

모비 로봇이 필드 위에서 움직이며, 로봇의 갈래 사이에 모바일 목표 지점이 놓여 있어 최적의 거리를 측정할 수 있습니다.

거리 센서가 모바일 목표가 포크 내부에 있고 센서에 가깝다는 것을 감지할 때까지 로봇이 전진하도록 하려면 센서의 값을 V5 Brain에서 기록해야 합니다.

로봇의 포크 사이에 모바일 목표를 놓습니다.

V5 브레인 화면이 홈 메뉴에 표시되고 장치 옵션이 강조 표시됩니다.브레인 화면은 장치 정보 메뉴에 표시되며, 이 메뉴에는 브레인의 모든 스마트 포트와 연결된 장치 목록이 있습니다. 장치 정보 메뉴의 거리 센서 아이콘이 강조 표시되어 있으면 해당 항목을 선택하여 정보 메뉴를 열 수 있음을 나타냅니다.

그런 다음 Brain 화면에서 '장치'를 선택한 다음 거리 센서 아이콘을 선택합니다.

거리 센서 메뉴에는 센서 데이터가 나열되는 두뇌 모양의 화면이 표시됩니다. 메뉴에는 물체의 크기, 속도 및 거리에 대한 데이터가 표시됩니다. 메뉴에는 거리와 시간 경과에 따른 변화를 시각화한 도표도 포함되어 있습니다. 이 스크린샷에서 물체의 크기는 작고, 속도는 초당 0미터이며, 거리는 139mm입니다.

모바일 목표가 센서에서 떨어져 있는 거리가 밀리미터(mm) 단위로 브레인 화면에 보고됩니다.

이전에 소개했던 VEXcode V5 블록 프로젝트와 동일한 프로젝트로, 움직이는 목표물을 감지할 때까지 앞으로 나아가다가 목표물을 집어 들고 이동시킵니다. 프로젝트에서 거리 센서의 물체 거리를 비교하는 기준값은 139이며, 이 값이 강조 표시됩니다.

프로젝트에서 거리 센서를 사용하여 모바일 목표를 선택할 때 사용되는 값입니다.

포크를 올리고 내리는 매개변수

모비 로봇이 필드 위에 있고, 로봇의 갈래 사이에 모바일 골대가 놓여 있습니다.

다시 포크 안에 모바일 목표를 놓습니다.

브레인 화면은 장치 정보 메뉴에 표시되며, 이 메뉴에는 브레인의 모든 스마트 포트와 연결된 장치 목록이 있습니다. 장치 정보 메뉴에서 모터 아이콘이 강조 표시되어 있으면 해당 항목을 선택하여 정보 메뉴를 열 수 있음을 나타냅니다.

그런 다음 Brain 화면에서 '장치'를 선택한 다음 모터 2 아이콘을 선택합니다. 모터 2는 왼쪽 포크를 제어합니다.

모비 로봇이 필드 위에 놓여 있고, 로봇의 솟아오른 포크 사이에 모바일 골대가 놓여 있어 로봇이 그것을 집어 올립니다.

모바일 목표의 하단 부분이 거리 센서의 시야를 가리지 않을 때까지 포크를 수동으로 올립니다.

포크를 수동으로 올릴 때는 각각 자체 모터로 제어되므로 Moby의 왼쪽과 오른쪽에 있는 각 포크를 동시에 올려야 합니다.

참고사항: 포크를 수동으로 올릴 때 끼임 지점을 피하세요.

스마트 모터 메뉴에는 기기의 데이터가 표시되는데, 이때 브레인 화면이 나타납니다. 메뉴에는 기기의 데이터를 보여주는 수치와 그래프가 있습니다. 이 스크린샷에서 모터의 각도(Degrees) 값이 강조 표시되어 있으며 604로 표시됩니다.

포크가 올라간 각도는 Brain 화면에 표시됩니다.

이전에 소개했던 VEXcode V5 블록 프로젝트와 동일한 프로젝트로, 움직이는 목표물을 감지할 때까지 앞으로 나아가다가 목표물을 집어 들고 이동시킵니다. 프로젝트에서 포크 모터 그룹이 회전하는 각도는 600도로 표시되며, 이는 강조되어 있습니다.

프로젝트에서 모바일 골대를 들어올리고 놓기 위해 포크를 올리고 내릴 때 사용될 값입니다.

연산자 블록 사용

VEXcode V5 '보다 작음' 연산자 블록이 표시됩니다. 이 코드 블록은 두 값을 비교하고 첫 번째 값이 두 번째 값보다 낮은지 여부를 보고하는 데 사용됩니다.

이 프로젝트에서는 <Less than> 연산자 블록을 사용하여 거리 센서를 코딩합니다.

거리 센서 메뉴에는 센서 데이터가 나열되는 두뇌 모양의 화면이 표시됩니다. 메뉴에는 물체의 크기, 속도 및 거리에 대한 데이터가 표시됩니다. 메뉴에는 거리와 시간 경과에 따른 변화를 시각화한 도표도 포함되어 있습니다. 이 스크린샷에서 물체의 크기는 작고, 속도는 초당 0미터이며, 거리는 139mm입니다.

이는 거리 센서가 물체에 점점 더 가까워질수록 센서와 해당 물체 사이의 거리(밀리미터)가 감소하기 때문입니다.

이전에 소개했던 VEXcode V5 블록 프로젝트와 동일한 프로젝트로, 움직이는 목표물을 감지할 때까지 앞으로 나아가다가 목표물을 집어 들고 이동시킵니다. 프로젝트에서 거리 센서의 물체 거리를 비교하는 기준값은 139이며, 이 값이 강조 표시됩니다.

거리가 미리 결정된 양보다 작을 때 로봇의 동작을 트리거하기 위해 임계값을 선택할 수 있습니다.

예를 들어, 로봇이 Mobile Goal을 향해 운전할 때 <Less than> 연산자 블록을 사용하여 거리가 약 139mm( 작은 경우 로봇이 멈추는 동작을 트리거합니다.

모비 로봇이 필드 위에서 포크 사이에 모바일 골대를 장착하고 있습니다. 거리 센서에서 이동 목표물까지의 거리는 빨간색 화살표로 표시됩니다.

예를 들어 해당 값이 10밀리미터(mm)로 변경되면 로봇이 실제로 모바일 목표에 부딪혀 잠재적으로 스스로 손상될 수 있습니다. 센서에서 10밀리미터(mm) 떨어진 거리는 로봇의 포크가 닿는 것을 방지할 만큼 충분하지 않기 때문입니다. 모바일 목표.

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

Last Updated: