Глава 11. Подготовка рабочего пространства контейнера для запуска примеров
Данный раздел подходит для работы как c системой arm64, так и amd64. Для начала работы необходимо подготовить пространства для запуска ROS.
ROS (Robot Operating System) — это набор программных инструментов и библиотек, предназначенных для программирования и управления роботами.
С помощью ROS можно упрощать разработку сложных робототехнических систем, разбивая их на отдельные модули, такие как:
обработка изображений с камер;
анализ данных с датчиков;
управление моторами и сервоприводами;
навигация, планирование маршрута и т. д.
Каждый такой модуль в ROS называется узлом (node). Узлы обмениваются данными через специальные каналы — топики, что позволяет строить гибкую, модульную систему управления.
Пример: в мобильном роботе один узел может считывать данные с камеры, другой — находить на изображении линию движения, третий — управлять мотором в зависимости от положения этой линии. Все узлы работают параллельно и взаимодействуют друг с другом благодаря ROS.
ROS активно используется в университетах, исследовательских центрах и даже промышленности, поэтому его изучение помогает учащимся познакомиться с реальными инженерными инструментами и современными подходами в программировании роботов.
Подготовим пространство и запустим ROS. Если образ запущен вводим команду для входа в контейнер:
pi@raspberrypi:~ $ docker exec -it <CONTAINER ID> /bin/bash
Далее заходим в домашнюю директорию и настраиваемым среду ROS Noetic:
root@raspberrypi:/# cd
root@raspberrypi:~# source /opt/ros/noetic/setup.bash
Зайдем в директорию catkin_ws и загружаем окружение из собранного ROS-проекта:
root@raspberrypi:~# cd catkin_ws/
Также, обратим внимание на ввод команды для загрузки графических интерфейсов при работе на ОС Windows:
root@docker-desktop:~# export DISPLAY=host.docker.internal:0.0
В случае arm64:
root@raspberrypi:~/catkin_ws# source devel_isolated/setup.bash
В случае amd64:
root@docker-desktop:~/catkin_ws# source devel/setup.bash
Запуск ROS:
root@raspberrypi:~/catkin_ws# roslaunch trackingcam3d_client_ros trackingcam3d_client_ros.launch
После этого откроется окно графического интерфейса - RViz, в котором в дальнейшем будет отображаться видеопоток с камеры(рис.26)

Рис.26 RViz