Пакет предназначен для развертывания на Ubuntu 20.04 (Focal Fossa)
Рекомендуется использовать "чистую" ОС с установленными обновлениями и драйверами (install third-party software for graphics and Wi-Fi hardware and additional media formats)
Для своей работы использует:
- библиотеки и окружение ROS Noetic (Подробный учебник ROS)
- программный пакет 3D симуляции и моделирования AirSim
- код открытого автопилота PX4 версия 1.11.3
Установка Git
sudo apt install git
Скачивание репозитория
git clone --single-branch https://github.com/acsl-mipt/drone-games.git
Переход в скачанный репозиторий
cd drone-games/
Обновление локального репозитория (получение изменений из удаленного репозитория; команда выполняется из директории drone-games)
git pull
Для установки всех зависимостей и компиляции (сборки) необходимых файлов выполнить в консоли (без использования sudo):
./install.sh
Во время установки может запросить пароль, поскольку скрипт использует команду sudo.
В качестве рабочего пространства для использования собственных ROS пакетов, в системе прописывается catkin_ws домашнего каталога (~/catkin_ws).
После установки необходимо перезапустить терминал для продолжения работы (закрыть и открыть новый).
Кроме того, необходимо скачать окружение, в котором будет происходить моделирование. После скачивания необходимо распаковать файлы в директорию airsim. Путь к окружению должен выглядеть следущим образом:
./airsim/ИМЯ_ОКРУЖЕНИЯ/LinuxNoEditor
Требуемое окружение (имя) зависит от выбранной задачи:
- Синхронный полет - formation
- Командная гонка - race
- Распределенная картография - afs
- Уход от столкновения - afs
- Беспилотная аэродоставка грузов - cargo
Проверка запуска окружения как есть:
AIRSIM_PKG="ИМЯ_ОКРУЖЕНИЯ" ./airsim/run.sh
Запуск с одним аппаратом:
./start.sh
После успешного выполнения скрипта вы должны увидеть один аппарат в одном из окружениий (скрипт выберет первое по порядку).
Запуск в выбранном окружении:
AIRSIM_PKG="ИМЯ_ОКРУЖЕНИЯ" ./start.sh
Остановка
./stop.sh
Помощь по имеющимся аргументам командной строки:
./start.sh --help
Пример с коптерами:
./test-group.sh
Тестовое задание по дисциплине Синхронный полет
Тестовое задание по дисциплине Командная гонка
Тестовое задание по дисциплине Распределенная картография
Тестовое задание по дисциплине Уход от столкновения
Тестовое задание по дисциплине Беспилотная аэродоставка грузов
Решения тестовых заданий необходимо отправлять через форму https://forms.gle/RsRcncF4uQpXgAtVA (требуется учетная запись пользователя Google).