Driver Tutorials#
What you’ll do
Driver기반 예제를 통해 주행 명령 송신과 상태 수신(큐 처리) 패턴을 익힙니다.
Prerequisites
Next
ROS2 노드 튜토리얼(선택): ROS2 Driver Tutorials
공개 API 상세: C++ API Reference
Driver는 UART I/O를 전용 스레드에서 처리하고, 사용자 코드는 setCommand(v, omega)를 이용하여 명령을 업데이트 합니다.
Basic: Driver Demo
Intermediate: Driver Observe, Driver Read AllState, Driver High Rate Control
빌드 (CMake)#
SDK 루트에서 빌드합니다.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
실행#
예제 실행 파일은 build/ 아래에 생성됩니다.
./build/driver_demo /dev/ttyKMC 5
./build/driver_observe /dev/ttyKMC 5
./build/driver_read_allstate /dev/ttyKMC 5
./build/high_rate_control /dev/ttyKMC 5 1000000 100 50
주요 API#
용어 |
SDK API |
설명 |
|---|---|---|
명령 입력 |
|
주행 목표값을 업데이트합니다. 단위는 각각 \(v\)(\(\mathrm{m/s}\)), \(\omega\)(\(\mathrm{rad/s}\)), \(\kappa\)(\(\mathrm{m}^{-1}\))입니다. |
속도 요청 |
|
설정한 주기로 차량의 중심 속도를 읽어 큐로 전달합니다. 메인 루프에서는 큐에서 |
보조 명령 |
|
배터리 전압/AllState 등 차량과 모터의 데이터를 읽습니다. 주기 폴링 또는 1회 요청을 사용할 수 있습니다. |
옵션 필드(주기/타임아웃 등) 정의는 Driver::Options에 정리되어 있습니다.