Проект представляет из себя внедрение в систему \compose\ приложение Foxglove.
\compose\ — это платформа CMS (система управления контентом), написанная на PHP, которая предоставляет функциональные возможности для быстрой разработки веб-приложений на серверах Linux.
Foxglove — это веб-приложение для воспроизведения и визуализации пакетов ROS. Также данное приложение было дополнено требуемым от заказчиков функционалом.
В качестве технологий использовались ROS, PHP, REACT, Docker.
Для работы команд нужно установить docker.
Для запуска проекта нужно развернуть контейнеры foxglove, \compose\, и добавить в систему \compose\ пакет.
Для загрузки \compose\ нужно ввести команду в терминале:
docker pull afdaniele/compose
Рисунок 1.1 - Загрузка контейнера \compose\ в терминале.
Для загрузки foxglove контейнера нужно ввести команду в терминале:
docker pull whitecurl/foxglove:latest
Либо клонировать репозиторий foxglove и собрать приложение самостоятельно:
git clone https://github.com/lastrise/studio.git
cd studio
docker build ./
В Docker Desktop перейти во вкладку Containers и открыть CLI терминал контейнера afdaniele/compose. В терминале контейнера ввести:
cd /user-data
mkdir packages
cd packages
git clone https://github.com/moevm/mse_duckietown_dashboard_WEB_Rviz
mv mse_duckietown_dashboard_WEB_Rviz ./webviz
Сначала нужно собрать образы контейнеров: foxglove, \compose\:
Для этого нужно запустить контейнер afdaniele/compose:
docker run -p 80:80 [image_id]
Запустить контейнер foxglove:
docker run -p 8080:8080 [image_id]
image_id - идентификатор image, который можно посмотреть с помощью команды:
docker image ls
Затем перейти в браузере по ссылке: http://localhost:8080. Выполнить установку \compose\ по инструкции, которая будет выведена на экран после шага(Skip; Next; Finish; Sign in as Developer). Адрес и порт визуализатора настраиваются в настройках \compose\, а именно в \compose\ зайти во вкладку Settings » Package: webviz, установить Webviz port: 80.
Рисунок 1.2 - Окно после регистрации в \compose\.
Перейти на вкладку Webviz.