Skip to content

Gait & Status Reference

ROS 2 topic과 SDK에서 사용하는 Gait ID 및 rbq_msgs/RobotStatus 필드의 전체 레퍼런스입니다.


Gait State ID

/rbq/cmd/switch_gait (Sub) 또는 rbq_msgs/HighLevelCommandgait_state 필드로 전환하고, 현재 값은 /rbq/robot_statusgait_id (Pub)로 확인합니다. 명령과 상태는 하나의 gait enum을 공유하므로, 아래 id는 HighLevelCommand.gait_state로 보낼 때와 robot_status.gait_id로 읽을 때 모두 같은 의미입니다.

표준 Gait

HighLevelCommand.gait_state / switch_gait으로 보내며, robot_status.gait_id로 그대로 보고됩니다.

ID상수설명
-2STATE_FALLFall Mode — 예기치 않은 균형 상실로 트리거
-1STATE_OFFControl Off — 모든 액추에이터 비활성
0STATE_SITSitting — 낮은 자세, 지면에 착지
1STATE_STANDStanding — 중립 자세, 보행 준비
2STATE_AIMAim Mode — 타게팅용 조준 자세
3STATE_WALKWalk Mode — 트롯 보행
4STATE_STAIRSStairs Mode — 카메라 센서를 사용하는 계단 적응 보행
5STATE_WAVEWave Mode — 웨이브 보행
6STATE_RUNRun Mode — 고속 보행 (지원 시)

RL Gait

학습된 보행 정책을 사용하는 Gait입니다 (ONNX 추론, RLWalk 프로세스 필요).

ID상수설명
30STATE_RL_TROTRL trot (기본 학습 보행)
31STATE_RL_FRONT_WALKRL 전진 보행
33STATE_RL_LEFT_WALKRL 좌측 보행
34STATE_RL_RIGHT_WALKRL 우측 보행
35STATE_RL_BOUNDRL bounding
36STATE_RL_PACERL pace
37STATE_RL_PRONKRL pronk
38STATE_RL_3LEG_HRRL 3족 보행: 뒤-우측 다리 들기
39STATE_RL_3LEG_HLRL 3족 보행: 뒤-좌측 다리 들기
40STATE_RL_3LEG_FRRL 3족 보행: 앞-우측 다리 들기
41STATE_RL_3LEG_FLRL 3족 보행: 앞-좌측 다리 들기
42STATE_RL_TROT_VISIONRL trot + 비전 장애물 회피
45STATE_RL_TROT_RUNRL 고속 trot
46STATE_RL_SILENTRL 저소음 보행
47STATE_RL_STAIRSRL 계단 보행

RL Gait 사용 조건

정책 파일이 로드되어 있고 RLWalk 프로세스가 실행 중이어야 합니다. 로봇 구성에 따라 사용 가능한 id가 다를 수 있습니다.


로봇 상태 필드 (/rbq/robot_status)

rbq_msgs/RobotStatus 타입으로 /rbq/robot_status에 발행됩니다 (Pub, ~500 Hz). 아래 항목은 모두 메시지의 평면(flat) 필드입니다.

상태 플래그 (bool)

ROS 필드명설명
con_start모터 제어 루프 실행 중
ready_pos준비 자세 도달
ground_pos지면/앉기 자세
force_con힘 제어 모드 활성
ext_joy외부 조이스틱 입력 활성
is_standing로봇이 서 있음
can_check전체 관절 CAN 통신 확인 완료
find_home전체 관절 엔코더 홈 탐색 완료

Gait & 도킹

ROS 필드명타입설명
gait_idint8현재 활성 Gait (Gait State ID 참조)
docking_stateint8도킹 시퀀스 상태 (토픽 레퍼런스의 도킹 상태 표 참조)

시스템 플래그 (bool)

ROS 필드명설명
is_fall낙하 감지됨
imu_successIMU 연결·데이터 정상

초기화 시퀀스 확인

/rbq/cmd/auto_start를 발행한 후 아래 순서로 플래그가 올라옵니다:

can_check  → true   (CAN 통신 확인)
find_home  → true   (엔코더 홈 탐색 완료)
con_start  → true   (제어 루프 시작)
gait_id    → 0      (STATE_SIT — 명령 수신 가능)

세 플래그가 모두 true가 된 후 Gait 전환 및 이동 명령을 보낼 수 있습니다.

This user manual is intended for RBQ users.