빠른 시작
RBQ ROS 2 드라이버를 처음 설치하고 실행하는 순서입니다.
사전 준비
| 항목 | 내용 |
|---|---|
| OS | Ubuntu 22.04 |
| ROS 2 | Humble |
| Middleware | rmw_cyclonedds_cpp |
Step 1 — ROS 2 및 의존성 설치
bash
# ROS 2 Humble (최초 1회)
sudo apt update && sudo apt install -y ros-humble-desktop \
python3-colcon-common-extensions python3-rosdep \
ros-humble-rmw-cyclonedds-cpp ros-humble-cyclonedds
sudo rosdep init && rosdep update
source /opt/ros/humble/setup.bashStep 2 — SDK 빌드
bash
cd ros2
rosdep install --from-paths src -y --ignore-src
colcon build --symlink-install
source install/setup.bash
cd ..TIP
--symlink-install 옵션을 사용하면 Python 스크립트는 수정 후 재빌드 없이 바로 반영됩니다.
Step 3 — RMW 설정
RBQ 드라이버는 CycloneDDS를 사용합니다. 터미널마다 아래 환경변수를 설정하세요:
bash
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp~/.bashrc에 추가하면 매번 설정할 필요가 없습니다:
bash
echo 'export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp' >> ~/.bashrc
source ~/.bashrcWi-Fi 연결 문제나 topic이 안 보이는 경우 **네트워크 & DDS 설정**을 참고하세요.
Step 4 — 드라이버 실행
시뮬레이션 (MuJoCo):
bash
source ros2/install/setup.bash
bash scripts/sim.bash실제 로봇:
bash
source ros2/install/setup.bash
bash scripts/start_ros_driver.bash드라이버가 종료되면 자동으로 재시작됩니다. Ctrl+C로 완전히 종료합니다.
연결 확인
bash
ros2 topic list아래 topic들이 보이면 정상입니다:
/rbq/motion/autoStart
/rbq/motion/switchGait
/rbq/motion/cmd_highLevel
/rbq/status/robot_status
/rbq/joint/joint_status
/rbq/imu/IMU_state
...topic이 보이지 않으면 네트워크 & DDS 설정을 확인하세요.
첫 명령 실행
명령을 보내기 전에 로봇이 올바른 초기 자세에 있어야 합니다.
bash
# 1. 전체 초기화 (CAN 확인 → 홈 탐색 → 제어 시작)
ros2 topic pub --once /rbq/motion/autoStart std_msgs/msg/Bool "{data: true}"
# 2. 기립 (gait_id: 1)
ros2 topic pub --once /rbq/motion/switchGait std_msgs/msg/Int8 "{data: 1}"
# 3. HighLevel 명령 모드 활성화
ros2 topic pub --once /rbq/motion/switchControlMode std_msgs/msg/Bool "{data: true}"
# 4. 전진 보행 0.3 m/s (gait_id: 3 = TROTTING)
ros2 topic pub --once /rbq/motion/cmd_highLevel rbq_msgs/msg/HighLevelCommand \
'{vel_x: 0.3, vel_y: 0.0, omega_z: 0.0, gait_state: 3, gait_transition: false}'
# 5. 앉기
ros2 topic pub --once /rbq/motion/switchGait std_msgs/msg/Int8 "{data: 0}"autoStart 진행 상태 확인:
bash
ros2 topic echo /rbq/status/robot_status
# can_check → true, find_home → true, con_start → true 순서로 올라옵니다다음 단계
| Topic Reference | 전체 topic 목록 및 필드 설명 |
| 네트워크 & DDS 설정 | 다중 PC 연결, Wi-Fi, 방화벽 |
| Gait & Status Reference | Gait ID 전체 목록, StatusWord 비트 |
