Skip to content

RBQ SDK (C++)

RBQ SDKEclipse Cyclone DDS를 통해 RBQ 소프트웨어 스택과 통신하는 C++ 애플리케이션을 만들기 위한 라이브러리입니다. DDS 참가자·토픽·생성된 메시지 타입을 감싸고, 저수준 제어(관절 레퍼런스, 학습 정책, 타이밍, 필터 등)를 위한 헬퍼를 제공합니다.

SDK 구성

영역역할
DDS 입출력Publisher / Subscriber 템플릿 (rbq_sdk/dds/) — 이름이 지정된 토픽에 CycloneDDS-CXX reader/writer.
메시지rbq_sdk/idl/의 IDL → C++ 타입 (rbq_msgs, sensor_msgs 등 네임스페이스). RBQ 전용 타입, ROS2와 호환되는 일부 타입, 빌드에 포함된 Go2 호환 타입 등이 있습니다.
제어 헬퍼예: JointControl, Policy / PolicyParams (ONNX + info.json), Filter, Timer, Thread(RT 스레드 옵션).

요구 사항

  • 개발 PC 기준으로 이 저장소에서는 Ubuntu 22.04 (x86_64) 가 일반적입니다.
  • CMake ≥ 3.22, C++17 컴파일러.
  • Cyclone DDS: 저장소에 rbq_sdk/3rdparty/로 묶여 있으며, 최초 빌드 시 DDS 부트스트랩 스크립트가 필요합니다(아래 참고).

빌드 및 설치 (rbq_sdk/)

RBQ 저장소의 rbq_sdk 디렉터리에서:

  1. 최초 1회 — 번들 CycloneDDS 빌드:

    bash
    sudo bash scripts/build_dds.bash
  2. 설정·빌드·설치:

    bash
    sudo bash scripts/build.bash

설치 레이아웃에는 include/rbq_sdk/ 및 생성된 IDL 헤더가 포함됩니다. CMake가 패키지를 찾지 못하면 설치 접두어를 CMAKE_PREFIX_PATH에 넣으세요.

헤더·네임스페이스

  • 진입점: 제공되는 경우 rbq_sdk/rbq_sdk.hpp.
  • DDS: rbq_sdk/dds/Publisher.hpp, Subscriber.hpp
  • 생성 IDL: #include <rbq_sdk/idl/rbq/...>

앱에서 쓰는 토픽 이름은 문자열(예: rt/rbq/...)이며, 정확한 목록은 예제 또는 드라이버 문서를 참고하세요.

관련 문서

This user manual is intended for RBQ users.