Skip to content

ROS 2 토픽 레퍼런스

rbq_driver 노드가 발행하고 구독하는 모든 ROS 2 토픽의 전체 레퍼런스입니다.

  • Pub — 로봇이 발행, 사용자 노드가 구독
  • Sub — 사용자 노드가 발행, 로봇이 구독

커스텀 메시지 타입(rbq_msgs/*)은 워크스페이스 소싱 후 사용 가능합니다:

bash
source ros2/install/setup.bash

모션 명령 토픽

/rbq/motion/autoStart

항목내용
타입std_msgs/Bool
방향Sub
설명전체 초기화 시퀀스 실행: CAN 확인 → 홈 탐색 → 제어 시작. 올바른 초기 자세 필요. 진행 상황은 /rbq/status/robot_statuscan_check, find_home, con_start 플래그로 확인.

/rbq/motion/canCheck

항목내용
타입std_msgs/Bool
방향Sub
설명전체 모터 컨트롤러와의 CAN 통신 확인. 결과는 robot_status.can_check에 반영.

/rbq/motion/findHome

항목내용
타입std_msgs/Bool
방향Sub
설명전체 관절 엔코더 홈 탐색 실행. 결과는 robot_status.find_home에 반영.

/rbq/motion/switchGait

항목내용
타입std_msgs/Int8
방향Sub
설명gait_id 값으로 목표 보행 모드로 전환. 아래 보행 상태 레퍼런스 참조.

/rbq/motion/switchControlMode

항목내용
타입std_msgs/Bool
방향Sub
설명true → 하이레벨 명령 모드 (/rbq/motion/cmd_highLevel 수신). false → 조이스틱 모드 (기본값).

/rbq/motion/emergency

항목내용
타입std_msgs/Bool
방향Sub
설명즉시 전체 관절을 고감쇠 모드로 설정합니다. 로봇이 즉시 쓰러집니다. 테스트 시 먼저 앉히고 사용하세요.

/rbq/motion/recoveryFlex

항목내용
타입std_msgs/Bool
방향Sub
설명낙하 모드에서 복구. 특정 관절 동작으로 앉기 자세로 복귀합니다. 낙하 모드(gait_id: -2)에서만 수락됩니다.

/rbq/motion/recoveryErrorClear

항목내용
타입std_msgs/Bool
방향Sub
설명복구 동작 없이 복구 가능한 에러 플래그만 초기화합니다.

/rbq/motion/staticLock

항목내용
타입std_msgs/Bool
방향Sub
설명현재 위치에서 위치 제어로 전체 관절을 고정합니다.

/rbq/motion/staticReady

항목내용
타입std_msgs/Bool
방향Sub
설명정적 위치 제어로 준비 자세로 전환합니다 (동적 균형 없음).

/rbq/motion/staticGround

항목내용
타입std_msgs/Bool
방향Sub
설명정적 위치 제어로 지면/앉기 자세로 전환합니다.

/rbq/motion/docking

항목내용
타입std_msgs/Bool
방향Sub
설명기본 옵션으로 자동 도킹 시작 (웨이브 보행 + 블라인드 모드). 기립 상태에서 후방 카메라가 ArUco 마커를 감지해야 합니다 (5 m 이내). 진행 상황은 robot_status.docking_state로 확인.

/rbq/motion/docking_mode

항목내용
타입std_msgs/Int8MultiArray
방향Sub
설명옵션을 지정하여 자동 도킹 시작. data[0]: 보행 모드 — 0=웨이브(기본), 1=트롯. data[1]: 비전 모드 — 0=블라인드(기본), 1=비전 높이 피드백 (트롯 전용).

/rbq/motion/setBodyHeight

항목내용
타입std_msgs/Char
방향Sub
설명몸체 높이 오프셋 조정. 값 0255는 기본값 기준 [-0.15, +0.05] m로 매핑됩니다.

/rbq/motion/setFootHeight

항목내용
타입std_msgs/Char
방향Sub
설명스윙 발 리프트 높이 조정. 값 0255는 기본값 기준 [-0.06, +0.04] m로 매핑됩니다.

/rbq/motion/setMaxSpeed

항목내용
타입std_msgs/Char
방향Sub
설명최대 보행 속도 스케일 조정. 값 범위: 0255.

/rbq/motion/additional_payload_params

항목내용
타입std_msgs/Float64MultiArray
방향Sub
설명CoM 보상을 위한 외부 페이로드 파라미터 설정. data: [질량_kg, com_x, com_y, com_z] (미터 단위). 추가 하중 운반 시 사용.

보행 상태 레퍼런스

gait_id이름설명
-3낙하 복구낙하 감지 후 자동 전환
-2낙하 모드예기치 않은 균형 상실 시 트리거
-1제어 오프전체 액추에이터 비활성화
0앉기낮은 자세, 지면에 위치
1기립중립 자세, 보행 준비 완료
2조준 모드조준을 위한 자세
3보행 (트롯)MPC 트롯 보행
4계단계단 적응형 보행 (카메라 사용)
5웨이브느린 보행
6달리기고속 보행
7문 열기앞다리로 문 밀기
8ZMP 초기화ZMP 캘리브레이션 진행 중
9조작 모드팔 조작 모드
10도킹충전 스테이션 자동 도킹
30RL 트롯강화학습 트롯
31RL 앞발 보행강화학습 전진 보행
32RL 뒷발 보행강화학습 후진 보행
33RL 왼발 보행강화학습 왼쪽 편향 보행
34RL 오른발 보행강화학습 오른쪽 편향 보행
35RL 바운드강화학습 바운딩 보행
36RL 페이스강화학습 페이스 보행
37RL 프롱크강화학습 프롱크 보행
3841RL 3족강화학습 3족 보행 (HR, HL, FR, FL)
42RL 트롯 비전비전 통합 강화학습 트롯
45RL 트롯 런강화학습 고속 트롯
46RL 사일런트강화학습 정숙 보행
48RL 워크 비전비전 통합 강화학습 워크 (지형 height 피드백, height·pitch 조정 가능)
49RL 워크강화학습 워크 (height·pitch 조정 가능)
보행 상태 전환 다이어그램

보행 상태별 사용 가능한 명령:

각 보행 상태에서 추가로 사용할 수 있는 명령 목록입니다. 공통 명령전원 제어는 보행 상태와 관계없이 항상 사용 가능합니다.

보행 상태추가 명령공통 명령전원 제어
Control Offrbq/motion/autoStartrbq/powerControl/setPortState
Sittingrbq/motion/canCheckrbq/motion/switchGait
rbq/motion/cmd_highLevel
rbq/motion/emergency
rbq/motion/staticLock
rbq/motion/staticReady
rbq/motion/staticGround
rbq/motion/switchControlMode
Standingrbq/motion/cmd_navigateTo
rbq/stateEstimation/comEstimationCompensation
rbq/motion/docking
rbq/motion/docking_mode
Walk / Stairs / Run / RL
Waverbq/motion/cmd_navigateTo
Fall Moderbq/motion/recoveryFlex
rbq/motion/switchGait (gait_id: 1)

하이레벨 제어

/rbq/motion/cmd_highLevel

항목내용
타입rbq_msgs/HighLevelCommand
방향Sub
설명속도 및 자세 명령. 현재 보행 모드에 따라 동작과 유효 범위가 다릅니다. 하이레벨 모드 활성화 필요 (switchControlMode: true).

필드:

필드타입단위설명
headerstd_msgs/Header타임스탬프 포함 ROS 헤더
identifierstring로깅/추적용 선택적 레이블
rollfloat64deg몸체 롤. 기립 [-25, +25]
pitchfloat64deg몸체 피치. 기립 [-20, +20], 보행 (몸체 기울기), RL워크 [-25, +25]
yawfloat64deg몸체 요 비틀림. 기립 [-25, +25]
vel_xfloat64m/s전진 속도. 보행 [-1.0, +1.2] / 달리기 [-1.0, +1.8] / RL트롯 [-1.5, +2.0] / RL워크 [-1.5, +2.5] / 계단 [-1.0, +1.0]
vel_yfloat64m/s측면 속도. 보행 [-0.4, +0.4] / 달리기 [-0.6, +0.6] / RL트롯 [-1.0, +1.0] / RL워크 [-1.0, +1.0] / 계단 [-0.4, +0.4]
omega_zfloat64deg/s요 각속도. 보행 [-75, +75] / 계단 [-17, +17] / 웨이브 [-20, +20] / RL워크 [-86, +86]
delta_body_hfloat64m기본 몸체 높이 오프셋. 기립/보행 [-0.15, +0.05] / RL워크 [-0.25, +0.10]
delta_foot_hfloat64m스윙 발 리프트 오프셋. [-0.06, +0.04]
gait_stateint8목표 보행 ID (보행 상태 레퍼런스 참조)
gait_transitionbooltrue = 먼저 gait_state로 전환 후 명령 적용

예시 명령:

bash
# 전진 0.5 m/s (Walk Mode, gait_id: 3)
ros2 topic pub --once /rbq/motion/cmd_highLevel rbq_msgs/msg/HighLevelCommand \
'{header: {stamp: {sec: 0, nanosec: 0}, frame_id: "base"},
  identifier: "walk_fwd", roll: 0.0, pitch: 0.0, yaw: 0.0,
  vel_x: 0.5, vel_y: 0.0, omega_z: 0.0,
  delta_body_h: 0.0, delta_foot_h: 0.0,
  gait_state: 3, gait_transition: false}'

# 제자리 회전 30°/s
ros2 topic pub --once /rbq/motion/cmd_highLevel rbq_msgs/msg/HighLevelCommand \
'{header: {stamp: {sec: 0, nanosec: 0}, frame_id: "base"},
  identifier: "turn", roll: 0.0, pitch: 0.0, yaw: 0.0,
  vel_x: 0.0, vel_y: 0.0, omega_z: 30.0,
  delta_body_h: 0.0, delta_foot_h: 0.0,
  gait_state: 3, gait_transition: false}'

# 정지 (영속도)
ros2 topic pub --once /rbq/motion/cmd_highLevel rbq_msgs/msg/HighLevelCommand \
'{header: {stamp: {sec: 0, nanosec: 0}, frame_id: "base"},
  identifier: "stop", roll: 0.0, pitch: 0.0, yaw: 0.0,
  vel_x: 0.0, vel_y: 0.0, omega_z: 0.0,
  delta_body_h: 0.0, delta_foot_h: 0.0,
  gait_state: 3, gait_transition: false}'

# 커스텀 자세 Standing (roll: 15°, pitch: 30°, yaw: 20°)
ros2 topic pub --once /rbq/motion/cmd_highLevel rbq_msgs/msg/HighLevelCommand \
'{header: {stamp: {sec: 0, nanosec: 0}, frame_id: "base"},
  identifier: "standing_pose", roll: 15.0, pitch: 30.0, yaw: 20.0,
  vel_x: 0.0, vel_y: 0.0, omega_z: 0.0,
  delta_body_h: 0.0, delta_foot_h: 0.0,
  gait_state: 1, gait_transition: true}'

/rbq/motion/cmd_navigateTo

항목내용
타입geometry_msgs/PoseStamped
방향Sub
설명절대 월드 좌표계 자세로 이동. pose.position으로 목표 (x, y) 미터 지정. pose.orientation으로 목표 요 각도를 쿼터니언으로 지정. 기립 모드와 웨이브 모드에서 사용 가능.

/rbq/stateEstimation/comEstimationCompensation

항목내용
타입std_msgs/Char
방향Sub
설명기립 모드에서 CoM 교정 트리거. X축 방향으로 탐색하여 보행 안정성을 개선합니다. 보행 시작 전 stand() 호출 후 사용하세요.

로봇 상태

/rbq/status/robot_status

항목내용
타입rbq_msgs/RobotStatus
방향Pub
Hz50
설명전체 로봇 상태 플래그, 보행 상태, 도킹 진행 상황.

필드:

필드타입설명
headerstd_msgs/HeaderROS 헤더
con_startbool모터 제어 활성화 여부
ready_posbool준비 자세 여부
ground_posbool지면/앉기 자세 여부
force_conbool힘 제어 모드 활성 여부
ext_joybool외부 조이스틱 연결 여부
is_standingbool로봇이 물리적으로 기립 중
can_checkboolCAN 통신 확인 완료
find_homebool엔코더 홈 탐색 완료
gait_idint8현재 보행 상태 (보행 상태 레퍼런스 참조)
is_fallbool낙하 감지 여부
docking_stateint8도킹 진행 상태 (아래 표 참조)
imu_successboolIMU 연결 및 정상 동작 여부

도킹 상태 값:

상수설명
-6DOCKING_MAX_FAIL_CNT_REACHED최대 재시도 횟수(10회) 초과 — 중단
-5DOCKING_MARKER_POS_INVALID_ROTATION마커 회전각 > ±40° — 중단
-4DOCKING_MARKER_POS_INVALID_TOO_FAR마커 거리 > 5 m — 중단
-3DOCKING_MARKER_POS_INVALID_WRONG_DIR마커가 전방에서 감지됨 — 중단
-2DOCKING_MARKER_NOT_FOUND마커 미발견 — 중단
-1DOCKING_FAILED도킹 실패 — 자동 재시도
0DOCKING_OPERATION_MODE일반 운용 (도킹 아님)
1DOCKING_APPROACH_OFFSET1단계: 오프셋 접근
2DOCKING_APPROACH2단계: 직접 접근
3DOCKING_APPROACH_WIDE3단계: 넓은 보폭 접근
4DOCKING_SIT_DOWN충전 연결을 위해 앉기
5DOCKING_SUCCESS도킹 성공 — 충전기 물리적 연결됨
6DOCKING_SUCCESS_CHARGING도킹 성공 및 충전 중
7DOCKING_SUCCESS_NO_CHARGING도킹 성공이나 충전 안 됨

/rbq/status/comm_connected

항목내용
타입std_msgs/Bool
방향Pub
설명통신 모듈이 로봇에 연결된 경우 true.

상태 추정

/rbq/stateEstimation/odometry

항목내용
타입nav_msgs/Odometry
방향Pub
Hz50
설명월드 좌표계에서의 몸체 자세 및 속도. 드라이버 시작 시 원점 리셋. IMU와 다리 오도메트리를 융합하여 추정.

/rbq/stateEstimation/robotVelocity

항목내용
타입geometry_msgs/VelocityStamped
방향Pub
Hz50
설명몸체 좌표계 기준 선속도 및 각속도. +X = 전방, +Y = 좌측, +Z = 상방.

/rbq/stateEstimation/footStates

항목내용
타입rbq_msgs/FootStates
방향Pub
Hz50
설명몸체 중심 좌표계 기준 4개 다리의 발 위치, 속도, 접촉 상태.

필드:

필드타입설명
headerstd_msgs/HeaderROS 헤더
foot_position_rt_body[]geometry_msgs/Point[4]몸체 기준 발 위치. +X=전방, +Y=좌측, +Z=상방
foot_velocity_rt_body[]geometry_msgs/Point[4]몸체 기준 발 속도
contact[]uint8[4]접촉 상태: 0=알 수 없음, 1=접촉, 2=끊김
force[]float64[4]추정 접촉력 [N]

다리 순서: [0] = 뒷-우, [1] = 뒷-좌, [2] = 앞-우, [3] = 앞-좌


센서 피드백

/rbq/imu/IMU_state

항목내용
타입sensor_msgs/Imu
방향Pub
Hz200
설명IMU 원시 데이터. 몸체 중심에서의 센서 오프셋: (0.00665, 0.0, -0.0404) m. 좌표계: +X=전방, +Y=좌측, +Z=상방. 각속도 범위 ±2000 °/s, 가속도 범위 ±16 g.

/rbq/joint/joint_states

항목내용
타입sensor_msgs/JointState
방향Pub
Hz50
설명12개 관절의 위치 [rad], 속도 [rad/s], 토크 [Nm]. ROS 표준 포맷.

/rbq/joint/joint_status

항목내용
타입rbq_msgs/JointStatus
방향Pub
Hz50
설명관절별 상세 상태: 연결, 온도, 모터 에러 플래그, 게인, 프로세스 소유권. 모든 배열은 12개 원소.

관절 순서: [0]HRR [1]HRP [2]HRK [3]HLR [4]HLP [5]HLK [6]FRR [7]FRP [8]FRK [9]FLR [10]FLP [11]FLK

필드:

필드타입단위설명
connected[]bool[12]CAN 연결 상태
temperature[]int8[12]°C제어 보드 온도
motor_temp[]int8[12]°C모터 권선 온도
status_fetbool[12]FET 드라이버 ON 여부
status_runbool[12]제어 루프 실행 중
status_initbool[12]초기화 완료 여부
status_jambool[12]JAM 에러 (관절 잠김)
status_curbool[12]과전류 에러
status_bigbool[12]위치 오차 과대 에러
status_tmpbool[12]과온도 에러
status_ps1bool[12]하한 위치 리미트 도달
status_ps2bool[12]상한 위치 리미트 도달
position_ref[]float32[12]rad목표(명령) 위치
position_enc[]float32[12]rad엔코더(측정) 위치
velocity[]float32[12]rad/s관절 각속도
torque_ref[]float32[12]Nm목표 토크
current[]float32[12]A모터 전류
kp[]float32[12]Nm/rad위치 게인
kd[]float32[12]Nm·s/rad감쇠 게인
owner[]int32[12]각 관절을 소유 중인 프로세스 ID

토크 한계: 롤/피치 ±104 Nm — 무릎 −70 / +140 Nm


전원 제어

/rbq/powerControl/battery_status

항목내용
타입rbq_msgs/BatteryState
방향Pub
Hz10
설명배터리 전압, 전류, 충전 잔량, 온도, 상태 코드.

필드:

필드타입설명
headerstd_msgs/HeaderROS 헤더
identifierstring배터리 식별 문자열
charge_percentagefloat64충전 잔량 [0.0, 100.0] %
voltagefloat64팩 전압 [V]
currentfloat64부하 전류 [A] (음수 = 방전 중)
temperatures[]float64[]온도 센서 값 [°C]
statusuint80=알 수 없음 1=없음 2=충전 중 3=방전 중 4=부팅 중

/rbq/powerControl/setPortState

항목내용
타입std_msgs/Int8MultiArray
방향Sub
설명PDU 전원 포트 토글. data: [port_id, state]state: 1=ON, 0=OFF.

포트 ID 레퍼런스:

port_id포트
0 (0x00)48 V — 다리 액추에이터
1 (0x01)48 V — 애드온 장치 (상단)
2 (0x02)48 V — 외부 포트 (상단)
16 (0x10)12 V — 비전 PC (내부)
17 (0x11)12 V — LAN 통신 포트 (상단)
18 (0x12)12 V — LiDAR 포트 (상단)
19 (0x13)12 V — CCTV 포트 (상단)
20 (0x14)12 V — 열화상 카메라 포트 (상단)
21 (0x15)12 V — IR LED (전/후방 패널)
22 (0x16)12 V — 스피커 앰프
32 (0x20)5 V — 카메라 USB 허브
33 (0x21)5 V — 오디오/사이드캠 USB 허브
cpp
// PDU 포트 ID 열거형 (data[0] 값으로 사용)
enum PDU_PORT_IDs_e : unsigned char {
    PDU_PORT_48V_LEG                   = 0x00,  // 다리 액추에이터
    PDU_PORT_48V_ADD                   = 0x01,  // 애드온 장치
    PDU_PORT_48V_EXT                   = 0x02,  // 외부 포트
    PDU_PORT_12V_VisionPC              = 0x10,  // 비전 PC
    PDU_PORT_12V_COMM                  = 0x11,  // LAN 통신 포트
    PDU_PORT_12V_Lidar                 = 0x12,  // LiDAR 포트
    PDU_PORT_12V_CCTV                  = 0x13,  // CCTV 포트
    PDU_PORT_12V_THER                  = 0x14,  // 열화상 카메라
    PDU_PORT_12V_IRLed                 = 0x15,  // IR LED
    PDU_PORT_12V_Speaker               = 0x16,  // 스피커 앰프
    PDU_PORT_5V_CAMERAS                = 0x20,  // 카메라 USB 허브
    PDU_PORT_5V_AUDIO_SIDE_CAM_USBHUB  = 0x21,  // 오디오/사이드캠 USB 허브
};

예시: 12V LiDAR 포트 ON (PDU_PORT_12V_Lidar = 0x12 → 10진수 18)

bash
ros2 topic pub --once /rbq/powerControl/setPortState std_msgs/msg/Int8MultiArray "{data: [18, 1]}"

비전 — 카메라 센서

모든 카메라 토픽은 로봇이 발행합니다 (Pub). 각 센서는 원본 이미지, 압축 이미지, 캘리브레이션 정보를 제공합니다.

하단 카메라 — sensor_bottom_{N} (N = 0, 1, 2, 3)

항목내용
타입sensor_msgs/Image · sensor_msgs/CompressedImage · sensor_msgs/CameraInfo
방향Pub
설명로봇 몸체 하단의 4개 하향식 깊이 센서. {N}03으로 교체하세요.
토픽타입설명
/rbq/vision/sensor_bottom_{N}/depthsensor_msgs/Image원본 16비트 깊이 이미지 (mm, 16UC1)
/rbq/vision/sensor_bottom_{N}/depth/compressedsensor_msgs/CompressedImage압축 깊이 이미지
/rbq/vision/sensor_bottom_{N}/depth/camera_infosensor_msgs/CameraInfo깊이 카메라 내부 파라미터 + 왜곡 계수
/rbq/vision/sensor_bottom_{N}/irsensor_msgs/Image원본 IR 이미지
/rbq/vision/sensor_bottom_{N}/ir/compressedsensor_msgs/CompressedImage압축 IR 이미지
/rbq/vision/sensor_bottom_{N}/ir/camera_infosensor_msgs/CameraInfoIR 카메라 내부 파라미터 + 왜곡 계수

전방 카메라 — sensor_front

항목내용
타입sensor_msgs/Image · sensor_msgs/CompressedImage · sensor_msgs/CameraInfo
방향Pub
설명전방 RGB-D 센서의 RGB, IR, 깊이 스트림.
토픽타입설명
/rbq/vision/sensor_front/rgbsensor_msgs/Image원본 RGB 이미지
/rbq/vision/sensor_front/rgb/compressedsensor_msgs/CompressedImage압축 RGB
/rbq/vision/sensor_front/rgb/camera_infosensor_msgs/CameraInfoRGB 카메라 내부 파라미터
/rbq/vision/sensor_front/irsensor_msgs/Image원본 IR 이미지
/rbq/vision/sensor_front/ir/compressedsensor_msgs/CompressedImage압축 IR
/rbq/vision/sensor_front/ir/camera_infosensor_msgs/CameraInfoIR 카메라 내부 파라미터
/rbq/vision/sensor_front/depthsensor_msgs/Image원본 16비트 깊이 이미지
/rbq/vision/sensor_front/depth/compressedsensor_msgs/CompressedImage압축 깊이
/rbq/vision/sensor_front/depth/camera_infosensor_msgs/CameraInfo깊이 카메라 내부 파라미터

후방 카메라 — sensor_rear

항목내용
타입sensor_msgs/Image · sensor_msgs/CompressedImage · sensor_msgs/CameraInfo
방향Pub
설명후방 RGB-D 센서의 RGB, IR, 깊이 스트림. 도킹 시 ArUco 마커 감지에도 사용됩니다.
토픽타입설명
/rbq/vision/sensor_rear/rgbsensor_msgs/Image원본 RGB 이미지
/rbq/vision/sensor_rear/rgb/compressedsensor_msgs/CompressedImage압축 RGB
/rbq/vision/sensor_rear/rgb/camera_infosensor_msgs/CameraInfoRGB 카메라 내부 파라미터
/rbq/vision/sensor_rear/irsensor_msgs/Image원본 IR 이미지
/rbq/vision/sensor_rear/ir/compressedsensor_msgs/CompressedImage압축 IR
/rbq/vision/sensor_rear/ir/camera_infosensor_msgs/CameraInfoIR 카메라 내부 파라미터
/rbq/vision/sensor_rear/depthsensor_msgs/Image원본 16비트 깊이 이미지
/rbq/vision/sensor_rear/depth/compressedsensor_msgs/CompressedImage압축 깊이
/rbq/vision/sensor_rear/depth/camera_infosensor_msgs/CameraInfo깊이 카메라 내부 파라미터

PTZ 카메라

/rbq/ptzCamera/setPanTiltZoom

항목내용
타입std_msgs/Float32MultiArray
방향Sub
설명PTZ 카메라 제어. data: [pan, tilt, zoom]. Pan/Tilt 단위: 도(°). Zoom은 배율 (1.0 = 1×).

TF & 네비게이션

/tf

항목내용
타입tf2_msgs/TFMessage
방향Pub
설명런타임 동적 좌표 변환: odom → base_link, 몸체 → 다리 링크, 몸체 → 센서 프레임.

/tf_static

항목내용
타입tf2_msgs/TFMessage
방향Pub
설명URDF 기반 정적 좌표 변환: 고정 센서 마운트 오프셋, 강체 링크 관계. 시작 시 한 번 발행.

/joy

항목내용
타입sensor_msgs/Joy
방향Sub
설명조이스틱 모드에서 로봇으로 전달되는 조이스틱 입력. Axes [0–5]: 좌-X, 좌-Y, 우-X, 우-Y, L2, R2. Buttons [0–15].

상태 토픽 구독 예시

bash
# 로봇 상태 (50 Hz)
ros2 topic echo --once /rbq/status/robot_status

# 관절 상태 (50 Hz)
ros2 topic echo --once /rbq/joint/joint_status

# IMU 데이터 (200 Hz)
ros2 topic echo --once /rbq/imu/IMU_state

# 배터리 상태 (10 Hz)
ros2 topic echo --once /rbq/powerControl/battery_status

# 발 접촉 상태 (50 Hz)
ros2 topic echo --once /rbq/stateEstimation/footStates

# 오도메트리 (50 Hz)
ros2 topic echo --once /rbq/stateEstimation/odometry

This user manual is intended for RBQ users.