이동 로봇 · 제어 코드

Rover Robotics ROS 2 — 설치·기본 실행·조이스틱 안내

번역 범위와 자료 버전

Rover Robotics(미국)의 공식 ROS 2 드라이버 README 중 About, Installation, Usage와 Controller buttons까지를 한국어로 옮겼습니다. 자료 버전은 2026-09-29 공개 커밋입니다. 로봇 최초 발표일과 구분하며, 이후의 전체 Driver Configuration·Troubleshooting·Release Notes 절까지 번역한 문서가 아닙니다. 전체 영문 README도 첨부하므로 실제 설치 전 해당 로봇의 설정·변경사항을 함께 확인하세요.

패키지 소개와 지원 환경

이 패키지는 Rover 로봇의 ROS 2용 기능을 보완하기 위해 만들어졌습니다. 기존 ROS 2 패키지에서 즉시 사용하기 어려웠던 URDF, 시뮬레이션, SLAM, 내비게이션 등을 개선하는 것이 목적이며, 이전 roverrobotics_ros2 드라이버를 토대로 반복되는 결함을 수정하고 기능을 추가합니다. ROS 2 전용입니다. jazzy 브랜치는 Ubuntu 24.04와 ROS 2 Jazzy(NVIDIA Jetson에서는 JetPack 7), humble 브랜치는 Ubuntu 22.04와 ROS 2 Humble(JetPack 6)에서 시험했다고 원문은 설명합니다. Jetson의 JetPack 버전 및 사용하는 ROS 2 배포판에 맞는 브랜치를 선택하세요. 안정 배포는 배포판별 브랜치에서 제공하며 개발 브랜치를 그대로 쓰는 방식은 권장하지 않습니다.

설치 방법 1 — 공식 설치 스크립트

원문이 권장하는 방법은 별도 공식 rover_install_scripts_ros2 저장소의 설치 스크립트입니다. 다음 명령을 순서대로 사용한 뒤 스크립트의 질문을 따릅니다: git clone https://github.com/RoverRobotics/rover_install_scripts_ros2 → cd rover_install_scripts_ros2 → bash setup_rover.sh. 스크립트는 설치할 로봇 종류, roverrobotics.service 생성 및 udev 규칙 설정 여부를 묻습니다. 서비스를 만들면 부팅할 때 드라이버가 자동으로 시작되므로 자동 시작을 원하지 않으면 서비스 생성을 거절하세요. 이 별도 설치 저장소의 파일은 이번 첨부에 포함하지 않았습니다.

Mini·MITI의 통신 연결

Mini와 MITI 대부분은 CAN-USB 변환기를 사용하며 설치 스크립트가 관련 드라이버를 설정합니다. 다른 방법으로 오른쪽 뒤 허브 모터를 제어하는 VESC 포트에 Micro USB를 연결할 수 있습니다. 이 경우 Mini 또는 MITI 설정 파일에서 comm_type: serial로 바꾸고 해당 /dev/tty* 포트를 지정해야 합니다. 설치를 마치면 실행 단계로 넘어갑니다.

설치 방법 2 — 수동 빌드

작업공간의 src로 이동해 배포판에 맞는 저장소를 복제하고 colcon으로 빌드한 뒤 설치 환경을 불러옵니다. 원문 명령 순서는 cd <ros2_ws>/src → git clone https://github.com/RoverRobotics/roverrobotics_ros2.git -b ${ROS_DISTRO} → cd .. → colcon build → source install/setup.sh입니다. <ros2_ws>는 자신의 ROS 2 작업공간으로 바꿉니다. 이 방법만으로 udev 규칙이나 roverrobotics.service가 만들어지지 않으며 CAN-USB 장치 설정도 완료되지 않습니다. 필요하면 setup_rover.sh를 이용해 서비스·장치를 설정할 수 있습니다. 제조사는 정상적인 설치를 위해 설치 스크립트 사용을 강하게 권장합니다.

기본 실행과 원격 조작 실행

작업공간 환경을 불러온 뒤 ros2 launch roverrobotics_driver <robot>.launch.py로 실행합니다. 원문이 안내한 <robot> 값은 zero, pro, mini, mini_2wd, miti, miti_65, max, mega입니다. 조이스틱에 연결을 시도하는 원격 조작 노드를 함께 쓰려면 ros2 launch roverrobotics_driver <robot>_teleop.launch.py를 사용합니다. 모델에 맞는 launch 파일과 실제 장착 부품·설정의 일치 여부를 확인하세요.

실행 파일이 구성하는 노드

원문은 드라이버, 로봇 모델 설명, 액세서리 실행 파일, PS5 컨트롤러 드라이버로 구성을 설명합니다. 로봇 드라이버는 하드웨어 통신과 속도 명령, 바퀴 오도메트리 발행을 맡습니다. 로봇 설명은 /robot_description과 base_link·chassis_link·payload_link 사이 좌표 변환을 제공합니다. 좌표 프레임을 추가하거나 링크를 제거하려면 해당 URDF를 편집합니다. 액세서리 launch는 로봇 실행 때 센서 패키지를 함께 실행하기 위한 편의 구성이고 PS5 드라이버는 DualSense 입력을 처리합니다. 편집자 확인: 첨부한 기본 mini.launch.py 자체는 드라이버·모델 발행·액세서리 구성이며, 조이스틱 구동은 위의 teleop 실행과 구분해야 합니다.

PS4·PS5 선택과 매핑

teleop 실행 파일의 기본 컨트롤러는 ps5_controller.launch.py입니다. PS4를 쓰려면 setup_rover.sh에 --gamepad ps4를 전달하거나, 해당 로봇의 *_teleop.launch.py에서 ps4_controller.launch.py를 포함하도록 바꿉니다. 버튼·축 매핑은 config/ps4_controller_config.yaml 및 config/ps5_controller_config.yaml에 있습니다. *_jp6 변형은 JetPack 6 및 이후 Jetson 이미지에서 장치가 다르게 인식될 때 사용하는 매핑입니다.

컨트롤러 조작표

왼쪽 스틱 세로축: 전진·후진 속도. 오른쪽 스틱 가로축: 회전 속도. 방향키 위·아래: 선속도 배율 올리기·내리기. 방향키 왼쪽·오른쪽: 회전 속도 배율 올리기·내리기. 원형 버튼 ○: 소프트웨어 비상정지로, 재설정할 때까지 정지 상태를 유지합니다. 삼각형 버튼 △: 비상정지 재설정으로, 이후 스틱 입력을 받으면 로봇이 다시 움직입니다.

비상정지 버튼의 설정

원문에 따르면 비상정지 버튼은 PS4와 PS5 모두에서 작동합니다. config/topics.yaml에서는 Circle을 B, Triangle을 Y라는 버튼 이름으로 정의하고, 각 컨트롤러 설정이 해당 커널 드라이버의 물리 버튼에 연결하므로 컨트롤러별로 별도 변경할 필요는 없습니다. 한 번 누르면 한 메시지를 보내며 누르고 있어도 반복 전송하지 않습니다. 이 설명은 소프트웨어 기능이며 하드웨어 안전장치의 인증이나 로봇노드의 실제 구동 시험을 뜻하지 않습니다.

첨부파일과 이용 조건

첨부는 고정 커밋의 전체 영문 README, Mini 기본 실행 코드 mini.launch.py, Apache-2.0 LICENSE 원본과 한국어 번역 안내입니다. 코드·영문 문서는 변경하지 않았습니다. 이 작은 첨부 묶음은 전체 드라이버나 독립 실행 패키지가 아니므로 원본 저장소와 필요한 의존성이 별도로 필요합니다. 한국어 문서는 위 범위의 번역 및 명시한 편집자 설명을 추가한 변경본이며 같은 Apache-2.0으로 제공합니다. 원저작자와 출처·변경 사실·라이선스를 유지해야 하며, 원문은 보증 없이 제공됩니다. 전체 저장소에서 별도 NOTICE 파일은 확인되지 않았습니다.

첨부파일

  • README-original.md ↓67512 bytes · SHA-256 20da808c5abad6f6196aa29dbbe5c141775b7e4040ac4d2423805c7abdaca832
  • mini.launch.py ↓1992 bytes · SHA-256 dc920f521701f65d0ce27b6f20a5cb668485ab22ecfdedb2bc25d2abc00d0f5e
  • LICENSE.txt ↓11357 bytes · SHA-256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4
  • guide-ko.md ↓7331 bytes · SHA-256 771313c481af0d6165ddfa3de0efc3893e14ba2a8ebcf2a48e6dd894d7f4bdc0
원저작자 · Rover Robotics 및 기여자
국가 · 미국
자료 버전 공개일 · 2026-09-29 (공식 저장소 커밋 기준, 로봇 최초 발표일과 구분)
등록·정리일 · 2026-09-29T23:15:00.238477+00:00
원본 · 공식 저장소의 확인된 버전
버전 · 4ab7367871630f71d0a16a3e70c0df5d62148738
이용 조건 · Apache-2.0
공식 README의 About·Installation·Usage·Controller buttons 절 한국어 번역 및 명시한 편집자 설명. 전체 README 전문 번역은 아닙니다. 고정 버전의 원본 파일은 변경하지 않았습니다. 번역·편집본도 Apache-2.0으로 공유합니다.

목록보기