TOPST D-Racer Kit는 D3-G를 이용한 ROS2 기반 Racing Kit입니다. 사용자는 D3-G 플랫폼 위에서 카메라, 조이스틱, 모터 제어, 배터리 상태, 웹 모니터링 기능을 ROS2 패키지로 다루며 RC Racing 시스템을 구성하고 확장할 수 있습니다.
이 저장소는 D-Racer Kit의 ROS2 패키지 소스 코드와 조립, 개발환경 설정, 패키지별 사용 가이드를 제공합니다.
D-Racer Kit는 D3-G 기반 차량 플랫폼을 ROS2에서 제어할 수 있도록 구성한 Racing Kit입니다. 하드웨어 제어와 센서 데이터를 ROS2 토픽과 노드 구조로 분리해, 사용자가 수동주행, 데이터 수집, 모니터링, 영상처리 실험 등을 단계적으로 구현할 수 있습니다.
주요 구성 요소:
- D3-G 기반 Racing Kit 플랫폼
- ROS2 패키지 기반 소프트웨어 구조
- 카메라 영상 스트리밍
- 조이스틱 기반 수동주행
- 차량 throttle / steering 제어
- 배터리 상태 모니터링
- 웹 기반 대시보드
- OpenCV 영상처리 테스트 패키지
D-Racer Kit는 D3-G를 차량 제어 플랫폼으로 사용합니다. ROS2 환경에서 차량의 구동부와 센서 데이터를 다룰 수 있도록 패키지가 구성되어 있어, RC Racing 실습과 ROS2 기반 로봇 소프트웨어 개발에 활용할 수 있습니다.
각 기능은 ROS2 노드와 토픽 중심으로 분리되어 있습니다. 사용자는 필요한 패키지만 실행하거나, launch 파일을 통해 여러 노드를 함께 실행할 수 있습니다.
Joystick Node ---> Control Node ---> Motor / Steering
Camera Node ---> Monitor Node ---> Web Dashboard
Battery Node ---> Monitor Node
조이스틱 입력을 ROS2 토픽으로 변환하고, 제어 패키지에서 throttle과 steering 명령으로 전달해 차량을 수동으로 주행할 수 있습니다. 하드웨어 조립 후 동작 확인, 주행 테스트, 데이터 수집 전에 기본 제어 상태를 확인하는 용도로 사용할 수 있습니다.
카메라 패키지는 차량에 장착된 카메라 영상을 ROS2 sensor_msgs/msg/CompressedImage 형식으로 publish합니다.
기본 이미지 토픽:
/camera/image/compressed
Monitor 패키지는 ROS2 토픽 데이터를 웹 대시보드로 제공합니다. 차량 상태를 브라우저에서 확인할 수 있어 주행 테스트 중 디버깅과 상태 확인에 활용할 수 있습니다.
대시보드에서 확인할 수 있는 정보:
- 메인 카메라 스트림
- 배터리 상태
- 제어값 throttle / steering
- 녹화 상태
- 저장장치 사용량
- ROS2 노드 및 토픽 상태
- OpenCV 디버그 이미지
OpenCV 기반 자율주행은 D-Racer Kit에서 카메라 영상처리와 차량 제어 흐름을 검증하기 위해 테스트한 데모입니다. 기본 제품 소개의 핵심 기능이라기보다는, ROS2 토픽 구조 위에서 영상처리 결과를 주행 제어에 연결할 수 있음을 보여주는 예시로 볼 수 있습니다. (* 테스트 트랙: WaveShare PiRacer 트랙)
D-Racer OpenCV Lane Following Test
| Package | Description |
|---|---|
camera |
카메라 이미지 publish |
control |
차량 throttle / steering 제어 |
joystick |
조이스틱 입력 처리 및 수동주행 |
monitor |
웹 기반 상태 모니터링 |
battery |
배터리 상태 publish |
opencv |
OpenCV 기반 영상처리 테스트 |
topst_utils |
D3-G 및 하드웨어 제어 유틸리티 |
battery_msgs |
배터리 custom message |
control_msgs |
제어 custom message |
joystick_msgs |
조이스틱 custom message |
자세한 조립, 개발환경 설정, 패키지별 사용법은 아래 문서를 참고합니다.
D-Racer-Kit/
├── src/
│ ├── camera/
│ ├── control/
│ ├── joystick/
│ ├── monitor/
│ ├── opencv/
│ ├── battery/
│ ├── topst_utils/
│ ├── battery_msgs/
│ ├── control_msgs/
│ └── joystick_msgs/
├── docs/
├── bagfile/
├── README.md
└── LICENSE
This project is licensed under the terms described in LICENSE.


