수업 1: 위치 센서란 무엇인가요?
이 수업에서는 위치 센서가 무엇인지, 그리고 위치 센서를 사용하여 번 그리드 맵 놀이터의 좌표 평면에서 VR 로봇을 탐색하는 방법을 알아봅니다. 위치 센서가 작동하는 방식과 VEXcode VR Python 프로젝트에서 위치 센서를 사용하는 방법을 알아봅니다.
학습 성과
- 위치 센서가 VR 로봇의 중심 회전점으로부터 (X,Y) 좌표를 읽는다는 것을 확인합니다.
- position명령은 VR 로봇의 X 또는 Y 좌표 위치를 밀리미터 또는 인치로 보고한다는 것을 확인합니다.
- 프로젝트에서 위치 센서를 사용하는 이유를 설명하세요.
위치 센서
VR 로봇에는 VR 로봇의 (X, Y) 위치를 보고하는 위치 센서가 내장되어 있습니다. VR 로봇의 위치는 전면 중앙의 회전 지점에 따라 결정됩니다. VR 로봇의 펜 위치도 여기에 있습니다.

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

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

놀이터에서 (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 로봇의 위치 각도의 수치 값을 도 단위로 보고하는 데 사용할 수 있습니다.
위치.위치_각도(도)'위치 감지' 예제 프로젝트는position및position_angle명령을 모두 사용하여 위치 센서에서 보고된 값을 사용합니다.
- VEXcode VR에서 파일 드롭다운 메뉴에서 "예제 열기"를 선택합니다.

- "위치" 예제 프로젝트를 선택하세요.

- 놀이터 창이 아직 열려 있지 않으면 엽니다. 숫자 그리드 맵 놀이터이 열리고 프로젝트를 실행하세요. 이 프로젝트도 여기에 나와 있습니다.
# "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)에 배치됩니다.
