Skip to main content

수업 1: 위치 센서란 무엇인가요?

이 수업에서는 위치 센서가 무엇인지, 그리고 위치 센서를 사용하여 번 그리드 맵 놀이터의 좌표 평면에서 VR 로봇을 탐색하는 방법을 알아봅니다. 위치 센서가 작동하는 방식과 VEXcode VR Python 프로젝트에서 위치 센서를 사용하는 방법을 알아봅니다.

학습 성과

  • 위치 센서가 VR 로봇의 중심 회전점으로부터 (X,Y) 좌표를 읽는다는 것을 확인합니다.
  • position명령은 VR 로봇의 X 또는 Y 좌표 위치를 밀리미터 또는 인치로 보고한다는 것을 확인합니다.
  • 프로젝트에서 위치 센서를 사용하는 이유를 설명하세요.

위치 센서

VR 로봇에는 VR 로봇의 (X, Y) 위치를 보고하는 위치 센서가 내장되어 있습니다. VR 로봇의 위치는 전면 중앙의 회전 지점에 따라 결정됩니다. VR 로봇의 펜 위치도 여기에 있습니다.

VR 로봇을 위에서 내려다본 모습. 로봇의 중앙을 가리키는 원과 화살표가 있으며, 위치 센서가 값을 읽는 곳입니다.

위치 센서 값은 VEXcode VR의 대시보드에서 확인할 수 있습니다.

VR 놀이터의 위치 센서 및 좌표

위치 센서는 모든 놀이터의 좌표를 탐색하는 데 사용할 수 있습니다. 각 플레이그라운드의 X 및 Y 위치 범위는 -1000밀리미터(mm)에서 1000밀리미터(mm)입니다.

좌표 격자가 겹쳐진 숫자 격자 지도 놀이터입니다. x축과 y축의 교차점은 숫자 45, 46, 55, 56의 교차점에 표시됩니다. x축은 왼쪽에서 오른쪽으로 이동하며 값의 범위는 -1000에서 +1000입니다. y축은 아래에서 위로 이동하며 값의 범위는 -1000에서 +1000입니다.

VEXcode VR 대시보드는 위치 센서로부터 확인된 VR 로봇의 (X, Y) 위치를 표시합니다.

VR에서 모니터 콘솔을 엽니다. 콘솔 내부에는 센서 섹션 내부에 두 행이 있는 표가 표시됩니다. 첫 번째 행에는 'x 위치(mm) -900'이라고 적혀 있습니다. 두 번째 행의 데이터는 'mm 단위의 y 위치 -900'으로 읽힙니다.

놀이터에서 (X, Y) 좌표를 식별하는 방법과 VR 로봇의 현재 위치와 각도의 좌표를 식별하는 방법에 대한 정보는 다음 문서를 참조하세요.

모니터 콘솔에 대한 자세한 내용은 이 문서를 참조하세요.

좌표계(X, Y)와 위치 명령을 사용하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.

위치 명령

위치 센서는 X, Y 좌표를 기준으로 놀이터의 정확한 위치로 VR 로봇을 이동시키는 데 사용할 수 있습니다. 위치 센서에서 수집된 데이터는 VR 로봇이 좌표 평면에서 보고된 위치를 기반으로 결정을 내릴 수 있도록 프로젝트에 활용될 수 있습니다. 

텍스트 프로젝트에서 position 명령을 사용하여 위치 센서의 위치를 보고합니다. position 명령은 위치 센서 중심(VR 로봇 중심)의 X 또는 Y 좌표 위치를 보고하는 숫자 값을 반환합니다. X 또는 Y 매개변수를 입력하여 X 또는 Y 좌표 위치를 보고할지 선택합니다.

위치.위치(X, MM)
위치.위치(Y, MM)

위치 명령은 밀리미터(mm) 또는 인치 단위로 값을 보고할 수도 있습니다.

위치.위치(X, MM)
위치.위치(X, INCHES)

5단원에서 설명한 get_distance 명령과 마찬가지로position 명령은 일반적으로while 루프와 같은 제어 구조와 비교 연산자와 함께 사용되므로 VR 로봇이 위치 센서의 데이터를 사용하여 X축과 Y축을 따라 위치로 이동할 수 있습니다. 이 단원에서는 이런 방식으로위치 명령을 사용하는 방법에 대해 자세히 알아보겠습니다.

위치 센서 데이터 보기

위치 센서에서 보고된 데이터는 VR 대시보드 또는 모니터 콘솔을 통해 볼 수 있습니다. "위치" 예제 프로젝트를 로드하고 실행하여 위치 센서 데이터가 어떻게 보고되는지 확인하고, 이를 프로젝트에서 사용하여 VR 로봇을 특정 위치로 이동할 수 있습니다.

귀하의 정보를 위해

위치 센서는 VR 로봇의 위치 각도를 도 단위로 보고하는 데에도 사용할 수 있습니다. 이 기능은 정확한 위치로 방향을 바꾸거나, 현재 위치에서 정확한 양만큼 이동하려고 할 때 유용할 수 있습니다.

position_angle명령은 VR 로봇의 위치 각도의 수치 값을 도 단위로 보고하는 데 사용할 수 있습니다.

위치.위치_각도(도)

 '위치 감지' 예제 프로젝트는positionposition_angle명령을 모두 사용하여 위치 센서에서 보고된 값을 사용합니다.

  • VEXcode VR에서 파일 드롭다운 메뉴에서 "예제 열기"를 선택합니다.
    VEXcode VR에서 파일 메뉴가 열립니다. 목록의 맨 위에서 네 번째 옵션에는 '열린 예제'라고 적힌 빨간색 상자가 있습니다.
  • "위치" 예제 프로젝트를 선택하세요. 
'위치'라고 적힌 프로젝트 아이콘의 예입니다. VR 로봇의 아이콘에는 위쪽을 가리키는 화살표와 회전하는 다른 화살표가 표시되어 있습니다. 아래에는 'x가 0보다 크다'와 'y가 0보다 크다'라는 텍스트가 있습니다.
  • 놀이터 창이 아직 열려 있지 않으면 엽니다. 숫자 그리드 맵 놀이터이 열리고 프로젝트를 실행하세요. 이 프로젝트도 여기에 나와 있습니다.
# "main"에 프로젝트 코드 추가
def main():

    # 로봇은 Y축에서 0을 지날 때까지 주행합니다.
    while location.position(Y, MM) < 0:
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)

    # 로봇은 X축에서 0을 지날 때까지 주행합니다.
    while location.position(X, MM) < 0:
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.stop()

# VR 스레드 - 삭제하지 마세요
vr_thread(main)
  • VR 로봇은 Y 좌표가 0보다 커질 때까지 주행하고, 오른쪽으로 회전한 다음 X 좌표가 0보다 커질 때까지 주행합니다. 이렇게 하면 VR 로봇이 숫자 그리드 맵 놀이터의 중앙 근처, 위치 (0, 0)에 배치됩니다.

왼쪽에 놀이터 창이 있고 오른쪽에 모니터 콘솔이 열려 있는 VEXcode VR입니다. 놀이터 창에서 VR 로봇은 숫자 그리드 맵 놀이터 중앙에 보입니다. 모니터 콘솔에서 로봇의 위치 X와 위치 Y는 밀리미터와 인치로 모두 0으로 표시됩니다.

질문

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

Google 문서 / .docx / .pdf