В репозитории представлены подготовительные инструкции, сцены и docker-образы для участия в семинаре "Разработка алгоритма планирования движения с использованием платформы AgileX Robotics Thunder"
Летней школы Искусственного Интеллекта 2021 (RAAI Summer School 2021).
Для участия в семинаре необходимо установить следующее ПО (рекомендуется использовать дистрибутив Ubuntu 20.04):
- ROS (для Ubuntu 20.04 версии Noetic).
- Среду симуляции CoppeliaSim Edu;
- Docker;
Полные инструкции по установке представлены здесь.
Для семинара необходимо установить сборку ros-*-desktop-full
.
Если архив с симулятором был скачан в директорию ~/Downloads
, то установка производится следующими коммандами:
cd ~/Downloads
tar -Jxf CoppeliaSim_Edu_V4_2_0_Ubuntu20_04.tar.xz --directory=/path/to/your/folder
Для загрузки ROS плагина при запуске CoppeliaSim необходимо сначала запустить
roscore
:# terminal 1 roscore # terminal 2 cd /path/to/your/folder/CoppeliaSim_Edu_V4_2_0_Ubuntu20_04 ./coppeliaSim.shВ случае успешной загрузки плагинов вы увидите в терминале 2 сообщения:
[CoppeliaSim:loadinfo] plugin 'ROS': loading... [CoppeliaSim:loadinfo] plugin 'ROS': load succeeded.
Рекомендуемый способ установки docker через добавление apt репозитория описан здесь.
Кроме того для упрощения дальнейшей работы рекомендуется выполнить инструкции для работы non-root ползователей.
Для запуска тестового примера необходимо выполнить следующее:
- Запустить ROS-мастера коммандой
roscore
в терминале 1. - Запустить симулятор
CoppeliaSim
в терминале 2, а затем и тестовую сцену. - Запустить docker-контейнер с предустановленными компонентами в терминале 3.
- Запустить стандартную утилиту визуализации RViz в терминале 4.
Пдробнее эти инструкции описаны ниже.
В папке ./scenes находится подготовленная сцена для тестирования кода. После запуска через меню File
➡ Open scene...
необходимо выбрать сцену flat_polygon_hunter.ttt.
При первом запуске необходимо указать корректный путь к скрипту hunter_control_script.lua в lua скрипте, ассоциированом с объектом hull
.
После этого можно запускать сцену. Проверить правильность настройки можно выполнив следующую команду:
# показать список активных топиков
rostopic list
...
/radar/points
/odometry
/cmd_vel
...
Среда симуляции начнет публиковать топики с данными одометрии и облаками точек.
Для работы предоставляется готовый docker-образ с предустановленными компонентами построения карты занятости, планирования траектории и др.
Готовый образ можно установить командой:
docker pull registry.gitlab.com/raai_planning_workshop/planning_with_thunder:latest
Для запуска и входа в контейнер предоставляются готовые скрипты в папке ./docker:
# запуск контейнера
./docker/start.sh
# вход в контейнер
./docker/into.sh
При запуске создается директория ./planning_with_thunder/workspace/src
, которая затем маунтится в контейнер, и в которой можно размещать исходный код.
Также в контейнер маунтится папка ./launch, в которой расположены .launch-файлы для запуска предустановленых узлов.
Для запуска компонент внутри контейнера необходимо выполнить следующие команды:
source ~/catkin_ws/install/setup.bash
roslaunch ~/launch/main.launch
В терминале выполнить команду:
# запуск RViz-а с пробросом конфигурационного файла
rosrun rviz rviz -d /your/path/here/planning_with_thunder/launch/rviz/thunder_sim.rviz
# запуск Rviz по умолчанию, конфигурационный файл прогружать нужно через меню
rviz
Предварительно настроенный конфигурационный файл: thunder_sim.rviz.
Кликая с помощью инструмента 2D Nav Goal
задаются ключевые точки маршрута, которые должен посетить робот. После выбора инструмента Publish Point
, кликнув по карте маршрут отправляется на выполнение.
Пример прохождения маршрута роботом:
Фреймворк RQT предоставляет широкий набор инструментов для отладки системы в виде GUI плагинов.
Для запуска необходимо в отдельном терминале выполнить команду:
rqt
Все доступные инструменты сгруппированы в меню Plugins. Наиболее часто используемые плагины: Node Graph, Topic Monitor, Dynamic Reconfigure.
Подробно задание на семинар описано в отдельном файле.