Мінімальний devcontainer для C++/ROS 2 розробки.
Що входить:
- ROS 2 Jazzy desktop image;
- C++ toolchain, CMake, Ninja, clangd, clang-format, clang-tidy;
- colcon,
ament_cmake_auto,rqt_graph; - CycloneDDS як default RMW;
postStartCommand, який синхронізуєros2clidaemon з активним DDS profile.
Скопіювати .devcontainer/ у свій репозиторій і відкрити його у VS Code:
Command Palette -> Dev Containers: Rebuild and Reopen in Container
У новому terminal перевірити ROS 2 середовище:
echo "${ROS_DISTRO:-unset}"
echo "${RMW_IMPLEMENTATION:-unset}"
echo "${CYCLONEDDS_URI:-unset}"
ros2 daemon statusОчікуваний результат:
jazzy
rmw_cyclonedds_cpp
file:///etc/cyclonedds.xml
The daemon is running
Graph-команди мають працювати у звичайному daemon-mode:
ros2 node list
ros2 topic listЗа замовчуванням використовується osrf/ros:jazzy-desktop. Щоб змінити ROS 2
distro, оновити ROS_DISTRO build arg у .devcontainer/devcontainer.json.
CycloneDDS config лежить у .devcontainer/cyclonedds.xml і копіюється в
/etc/cyclonedds.xml. Він використовує host network interface autodetect,
multicast loopback і local peer 127.0.0.1.