unitree go2 - sim2sim - NetworkInterface

전찬욱·2025년 12월 1일
● 아! 이해했습니다. 모든 파일이 다 ROS2를 사용하고 있네요. 원래도 ROS2였는데 잘 작동했다는 말씀이시죠?

  그렇다면 코드가 변한 게 아니라 환경이 변했을 가능성이 높습니다.

  환경변수를 확인해봅시다:

● Bash(env | grep -i cyclone)
  ⎿ PKG_CONFIG_PATH=/home/user/unitree_ros2/cyclonedds_ws/install/cyclonedds/lib/x86_64-linux-gnu/pkgconfig:/home/user/unitree
    _ros2/cyclonedds_ws/install/cyclonedds/lib/pkgconfig
    AMENT_PREFIX_PATH=/home/user/unitree_ros2/cyclonedds_ws/install/unitree_hg:/home/user/unitree_ros2/cyclonedds_ws/install/u
    … +19 lines (ctrl+o to expand)



● 찾았습니다!

  CYCLONEDDS_URI가 설정되어 있는데 <Interfaces> 부분이 비어있습니다:

  CYCLONEDDS_URI=<CycloneDDS><Domain><General><Interfaces>
                          </Interfaces></General></Domain></CycloneDDS>

  원래는 여기에 인터페이스가 지정되어 있었을 겁니다! 예를 들면:
  - <NetworkInterface name="lo"/> 또는
  - <NetworkInterface name="eno1"/> (그때는 케이블이 연결되어 있었거나)

  해결 방법:

● Bash(export CYCLONEDDS_URI='<CycloneDDS><Domain><General><Interfaces><NetworkInterface
      name="lo"/></Interfaces></General></Domain></CycloneDDS>' && echo "Set to loop…)
  ⎿  Running…

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Bash command

   export CYCLONEDDS_URI='<CycloneDDS><Domain><General><Interfaces><NetworkInterface
   name="lo"/></Interfaces></General></Domain></CycloneDDS>' && echo "Set to loopback"
   Set CYCLONEDDS_URI to use loopback

 Do you want to proceed?
 ❯ 1. Yes
   2. Yes, and don't ask again for export CYCLONEDDS_URI commands in /home/user/unitree_mujoco/simulate_python
   3. Type here to tell Claude what to do differently



user@X299X:~/unitree_mujoco/example/python$ env | grep -E "(CYCLONEDDS|RMW|ROS)" | sort
CYCLONEDDS_URI=<CycloneDDS><Domain><General><Interfaces>
RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
ROS_DISTRO=foxy
ROS_LOCALHOST_ONLY=0
ROS_PYTHON_VERSION=3
ROS_VERSION=2


0개의 댓글