Skip to content

Глава 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