Skip to content

네트워크 & DDS 설정 ​

로봇의 온보드 소프트웨어는 미들웨어로 CycloneDDS를 사용하며 ROS 2 호환 DDS로 직접 통신합니다. 이 페이지는 개발 PC에서 로봇의 topic을 수신하고 명령을 보내기 위한 네트워크 설정 방법을 설명합니다.

네트워크 구성 ​

호스트역할기본 IP
Wi-Fi AP로봇 ↔ PC 연결192.168.0.1
Motion PC (R-PC)topic 발행 (기본 탑재)192.168.0.10
User PC (U-PC) — 로봇 내부 탑재사용자 ROS 2 노드 실행 (옵션)192.168.0.12
User PC (U-PC) — 로봇 외부사용자 ROS 2 노드 실행 (옵션)192.168.0.13

U-PC에 연결되지 않는 경우

U-PC의 주소는 로봇 내부에 탑재된 경우 192.168.0.12, 로봇 외부에 있는 경우 192.168.0.13입니다. 연결되지 않을 경우 U-PC에 모니터를 연결하여 현재 IP를 확인해 주세요. 다른 주소를 사용 중이라면 위 주소로 고정하여 사용해 주시기 바랍니다.

로봇과 PC가 같은 서브넷(192.168.0.0/24)에 있어야 합니다. ping이 통하는지 먼저 확인하세요.

필수 설정 ​

RMW 설정 ​

로봇 코어 소프트웨어와 개발 PC 모두 CycloneDDS를 사용해야 합니다:

bash
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

매번 설정하기 번거롭다면 ~/.bashrc에 추가하세요:

bash
echo 'export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp' >> ~/.bashrc
source ~/.bashrc

Domain ID ​

ROS_DOMAIN_ID는 로봇과 RBQ 스크립트 어디에도 설정되어 있지 않습니다. 로봇과 개발 PC 모두 기본값(Domain 0)을 사용하므로 별도 설정이 필요 없습니다.

연결 확인 ​

bash
# 1. 로봇에 ping
ping 192.168.0.10

# 2. topic 목록 확인
ros2 topic list

# 3. 실시간 수신 확인
ros2 topic echo /rbq/imu --once

방화벽 ​

ping은 되는데 ros2 topic list에 아무것도 나오지 않으면 UFW가 멀티캐스트를 막고 있을 수 있습니다:

bash
# Wi-Fi 인터페이스의 DDS 트래픽 허용 (wlp4s0은 환경에 맞게 교체)
sudo ufw allow in on wlp4s0
sudo ufw allow out on wlp4s0

# 또는 테스트를 위해 UFW를 통째로 끄기
sudo ufw disable

문제 해결 ​

토픽이 보이지 않을 때 ​

  1. 두 장비가 같은 서브넷에 있는지 확인: ping 192.168.0.10
  2. 사용하는 모든 터미널에 RMW_IMPLEMENTATION=rmw_cyclonedds_cpp가 설정되어 있는지 확인
  3. 네트워크 인터페이스가 여러 개(Wi-Fi + 이더넷)라면 사용할 인터페이스를 명시:
bash
export CYCLONEDDS_URI='<CycloneDDS><Domain><General><Interfaces>
  <NetworkInterface name="wlp4s0"/>
</Interfaces></General></Domain></CycloneDDS>'

wlp4s0은 자신의 Wi-Fi 인터페이스 이름으로 바꾸세요 (ip link show로 확인).

토픽은 보이는데 지연되거나 끊길 때 ​

일부 Wi-Fi 공유기에서는 멀티캐스트가 불안정할 수 있습니다. 유니캐스트 피어 힌트를 추가하세요:

bash
export CYCLONEDDS_URI='<CycloneDDS><Domain><General>
  <Interfaces><NetworkInterface name="wlp4s0"/></Interfaces>
</General><Discovery><Peers><Peer address="192.168.0.10"/></Peers></Discovery>
</Domain></CycloneDDS>'

rbq_msgs 타입을 인식하지 못할 때 ​

커스텀 메시지 워크스페이스를 PC에서 빌드하고 source해야 합니다:

bash
source /opt/ros/humble/setup.bash
cd rbq_sdk/ros2
colcon build --symlink-install
source install/setup.bash

This user manual is intended for RBQ users.