David's RRPathVisualizer

RRPathVisualizer는 Recharged Green 7236 팀의 리드 프로그래머인 David가 작성한 경로 “시각화 도구"입니다.
이 도구는 로봇용 경로를 작성하듯이 경로를 작성한 뒤, 이를 커스텀 Kotlin 프로젝트에 추가하는 방식으로 작동합니다.
프로그램을 실행하면 창이 열리며, 지정된 경로를 따라 로봇이 움직이는 애니메이션을 표시합니다.
개인적으로는 이 워크플로우를 선호하는데, RRPathVisualizer에서 작성한 경로를 간단히 복사하여
자신의 FTC 프로젝트에 붙여넣을 수 있기 때문입니다.
참고로, RRPathVisualizer는 Kotlin으로 작성되었습니다. Java를 알고 있다면 Kotlin을 이해하는 데 큰 어려움이 없을 것입니다.
노트
David의 RRPathVisualizer와 Road Runner 공식 GUI는 모두 회전된 필드 좌표계를 사용합니다. 두 프로그램의 필드는 관중의 관점을 기준으로 90도 회전되어 있으며, 이로 인해 Y축은 수평이고 X축은 수직입니다. Y축 값은 왼쪽으로 증가하고, X축 값은 위로 증가합니다. 두 애플리케이션을 사용할 때 혼란을 방지하기 위해 이 점을 유의하세요.
MeepMeep은 회전된 필드를 사용하지 않습니다. 관중의 관점에서 필드가 표시되지는 않지만, X축과 Y축은 전형적인 데카르트 좌표계를 따릅니다. 더 자세한 내용은 좌표계 명세서를 참조하세요.
설치 방법
Intellij 설치
- 커뮤니티 에디션은 무료입니다.
- 학생 계정으로 Ultimate Edition을 무료로 사용할 수도 있습니다.
RRPathVisualizer를 클론하거나 다운로드
Intellij에서 프로젝트 열기
사용 방법
Intellij에서 프로젝트 열기
- Android Studio와 유사한 인터페이스이므로 익숙할 것입니다.
상단의 재생 버튼을 눌러 실행
- 정상적으로 실행되어야 합니다.

프로젝트 SDK 설정이 필요할 수 있음
- File > Project Structure로 이동
- “Project SDK” 설정에서 최신 JDK 버전을 선택
- Intellij는 JDK 14를 기본적으로 포함
TrajectoryGen.kt
파일 열기driveConstraints
값이 로봇의 Road Runner 설정에서 사용하는DriveConstraints
와 일치하는지 확인trackWidth
값이DriveConstants.java
파일의TRACK_WIDTH
와 일치하는지 확인- 이는 경로 길이 추정치를 보다 정확하게 만듭니다.
builder1
찾기builder1
객체는 제공된 예제TrajectoryBuilder
입니다.- 추가 경로를 생성하려면 더 많은 builder를 자유롭게 추가 가능
일반적으로 경로를 생성하듯이 builder 사용
list.add(trajectory)
를 호출하여 더 많은 경로 추가 가능참고: RRPathVisualizer는 **포인트 턴(point turns)**을 시뮬레이션할 수 없습니다.
주의 사항
실제 로봇에서는 각 경로 완료 후 0.5초의 타임아웃이 설정되어 있습니다.
- 이는 경로를 이탈한 경우 PID를 통해 이동 및 헤딩 보정을 허용하기 위함입니다.
- 로봇이 경로를 벗어나지 않고 도달하면 이 타임아웃은 더 빨리 종료됩니다.
- 따라서 각 경로에 최대 0.5초가 추가될 수 있으며, 이 추가 시간은 RRPathVisualizer의 경로 시간 추정치에 반영되지 않습니다.
- 타임아웃 지속 시간을 변경하려면,
SampleMecanumDrive.java
의HolonomicPIDVAFollower
에 설정된 마지막 매개변수(기본값 0.5)를 수정하세요.
참고 자료
팀 Bots in Black(16633)의 RRPathVisualizer 설치, 기본 문제 해결 및 사용법 설명 영상: