2. Рабочее пространство, пакеты и сборка colcon
Что вы освоите
Создание рабочего пространства и различие между исходным кодом, результатом сборки и установленным пакетом.
Как устроено рабочее пространство
В каталоге src находятся исходники ROS-пакетов. После сборки появляются build с промежуточными файлами, install с установленными программами и ресурсами, а также log с журналами сборки. Наличие файла в src ещё не означает, что ROS найдёт его при запуске: исполняемые файлы, launch-файлы и конфигурации должны корректно устанавливаться.
package.xml описывает пакет и зависимости. Для Python-пакета используются setup.py и setup.cfg; для пакета на основе CMake — CMakeLists.txt. Сборка рабочего пространства выполняется инструментом colcon.
Практика
В терминале с установленным ROS 2 Jazzy:
source /opt/ros/jazzy/setup.bash
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
ros2 pkg create study_nodes --build-type ament_python --dependencies rclpy std_msgs
cd ~/ros2_ws
colcon build --symlink-install
source install/setup.bash
ros2 pkg prefix study_nodes
Последняя команда должна показать путь к установленному пакету. В новом терминале снова подключите окружение ROS и ~/ros2_ws/install/setup.bash.
Самостоятельное задание
Найдите package.xml, setup.py и установленный каталог share/study_nodes. Объясните, какие изменения требуют повторной сборки, а какие доступны через символические ссылки.
Самопроверка
- Почему запуск из другого терминала может не находить пакет?
- Чем подключение основного ROS-окружения отличается от подключения своего workspace?
- Какие каталоги относятся к исходникам, а какие создаёт сборка?
Основа урока: учебное пособие «Операционная система для роботов ROS 2», ИТМО, 2026, печатные страницы 10–11, 32–34. Это учебный конспект с упражнениями; полные примеры и рисунки приведены в пособии.
YouTube канал чтобы посмотреть видео по робототехнике & семинары
Аккаунт в Телеграмм чтобы следить за анонсами мероприятий & Исследованиями