GPS 내비게이션
히어로봇을 경기장 내 특정 위치로 이동시키는 알고리즘을 만드세요. [Drive for] 및 [Turn to heading] 블록, GPS 센서, 암 모터 및 흡입 모터를 사용하여 Hero Bot을 (1380,-1380) 위치로 이동시켜 빨간색으로 강조 표시된 Triball을 획득하세요. 그런 다음 로봇을 (600,-300) 위치로 이동시켜 레드 얼라이언스 골대에 트라이볼을 넣으세요.
- VRC 가상 기술 - 오버 언더 플레이그라운드를 선택하세요.
- 경기 전 체크리스트를 사용하여 로봇의 시작 위치 "H",방향 "북쪽", 로봇 사전 부하 "아니요" .
- 로봇을 특정 위치로 이동시키는 알고리즘을 만드세요.
- 로봇이 경기장에서 트라이볼을 집어 올리기 위해 팔 모터를 회전시켜 팔을 완전히 내리도록 코딩하세요.
- 알고리즘을 사용하여 로봇을 좌표 (1380, -1380)로 이동시키고 로봇의 방향을 135도로 회전시키십시오.
- 빨간색으로 강조 표시된 녹색 트라이볼을 집어 올리도록 로봇이 흡입 모터를 회전시키도록 코딩하세요.
- 알고리즘을 사용하여 로봇을 좌표 (600, -300)로 이동시키고 로봇의 방향을 90도로 회전시키세요.
- 로봇이 흡입 모터를 회전시켜 트라이볼을 레드 얼라이언스 골대에 쏘도록 코딩하세요.
유용한 팁
- GPS 센서를 사용하여 필드에서 히어로 봇의 X, Y 좌표를 확인합니다. VRC 오버 언더 플레이그라운드에서 GPS 센서 사용에 대한 자세한 내용은 여기 클릭하세요.
감지(Sensing) 범주의 리포터(Reporter) 블록을 사용하여 GPS 센서에서 위치 값을 가져옵니다.


일치하는 Python 명령:
gps.x_position(MM) gps.y_position(MM)
변수 범주의 set 블록을 사용하여 히어로 봇의 원래 X 및 Y 좌표를 저장할 두 개의 변수를 선언합니다.

일치하는 Python 명령:
X1 = gps.x_position(MM) Y1 = gps.y_position(MM)
프로젝트에서 변수를 선언하고 데이터 "튜토리얼" 버튼을 선택하고 데이터 저장 "을 선택하십시오.


- VEXcode VR의 변수 이름 규칙에 대한 자세한 내용은 이 문서 참조 .
- 로봇의 좌표(x1,y1), 목표 위치의 좌표(x2,y2), 그리고 atan 함수를 이용하여 구동 방향을 구합니다.
이 두 점을 연결하는 선분의 각도 θ를 계산하세요.


각도 세타(θ)를 구동 방향(헤딩)으로 변환합니다.
수학 표현식 에 대한 의사 코드 예시 (시작 방향: 북쪽):
X1이 X2와 같으면: Y2 > Y1이면: 헤딩 = 0, 그렇지 않으면: 헤딩 = 180 그렇지 않으면: X2 > 이면: 헤딩 = 90 - atan((Y2 - Y1) / (X2 - X1)), 그렇지 않으면: 헤딩 = 270 - atan((Y2 - Y1) / (X2 - X1))
연산자 범주에서 함수 블록을 사용하고 atan 함수를 선택하여 각도 θ를 계산합니다.

일치하는 Python 명령:
math.atan() / math.pi * 180
로봇의 좌표(x1,y1), 목표 위치의 좌표(x2,y2) 및 피타고라스 정리를 이용하여 이동 거리를 구하십시오.


연산자 범주에서 함수 블록을 사용하고 sqrt 함수를 선택하여 주행 거리를 계산합니다.

일치하는 Python 명령:
math.sqrt()