Интегрированная платформа разработки искусственного интеллекта для дронов
Индустрии БПЛА не хватает широко доступной открытой аппаратной платформы, доступного симулятора для тестирования и стандартных комплектов оборудования для сравнительного тестирования. Кроме того, начало разработки затруднено без низкоуровневой экспертизы в области радиотехники. Эти проблемы препятствуют инновациям и доступности в разработке приложений искусственного интеллекта для дронов.
Задача
Один из основных вызовов возник при разработке решения для автономного управления летающими средствами. Оказалось, что готовых решений (дрон + AI) c открытой архитектурой для разработки и тестировании систем управления просто невозможно купить или использовать уже готовые комплексы.
При разработке и тестировании решений, которые используют инструменты Компьютерного зрения и Машинного обучения, необходимо было разработать платформу для тестирования и отладки систем обработки данных и управления дронами. Данное решение должно было быть максимально мобильным (компактным), поддерживать различные архитектуры (библиотеки) , быть производительным для реалтаймовых вычислений, неприхотливым к питанию, так как используется в экстремальных условиях, поддерживать множество периферийного оборудования. Также решение должно поддерживать различные внешние контролеры и протоколы интеграции с ними.
Также важна задача максимальной гибкости и простоты доступа к тестовым данным, чтобы в реальном времени отслеживать метрики работы алгоритмов управления комплексом. Вдобавок данное решение должно быть бюджетным и комплектующие должны быть доступны для заказа без ограничений.
Обзор решения
Подход в разработке комплексных решений предполагает использование аппаратного решения и программной среды. Для первичного тестирования алгоритмов и решений, которые используются в робототехнике выбрали межплатформенный симулятор с открытым кодом для беспилотных летательных аппаратов AirSim, созданный с использованием игрового движка Unreal Engine 4 как гибкой платформы для исследований в области ИИ. На данном этапе удалось разработать и протестировать в виртуальной среде решения по управлению летающими средствами, решения по визуальной одометрии, поиску, классификации и определению объектов на поверхности земли. Разработка и тестирование проводилось с использованием эмулированных датчиков и носителей.
Для аппаратной поддержки необходимо было выбрать мобильную платформу, которая удовлетворяет требованиям и не противоречит базовым ограничениями на ее использование. Первично рассматривали как базовую платформу микрокомпьютеры от компании nvidia линейка jetson, но при тестирования данной платформу столкнулись с набором неудовлетворительных параметров, которые не позволяли рассматривать данные продукты как основу системы для тестирования решений. Линейка jetson ограничена по производительности, имеет не особо компактное исполнение, требовательно к питанию, ограничено для заказа. Как следствие, мы исключили данную платформу из рассматриваемых. В результате остановились на решениях от бренда raspberry pi. Данная платформа базово удовлетворяет всем требованиям для разработки тестовой платформы, но не обладает решениями для использования в мелкосерийном производстве.
Использование тестовой платформы позволило интегрировать решение на реальный дрон, и получить доступ к отслеживанию метрик в реальном времени.
Технические детали
Для реализации виртуальной тестовой среды была развернута и протестирована система на базе AirSim для первичной проверки алгоритмов распознавания по визуальному потоку с использованием виртуальных датчиков (сенсоров).
Разработана дополнительная виртуальная среда для AirSim, которая существенно расширяла возможность эмулирования поведения дронов. Данное решение было мотивировано ограниченной функциональностью готовых для использования виртуальных сред и ограничениями по модификации окружения шаблонных пространств.
Далее за аппаратную платформу, после набора нагрузочных тестов, было выбрано одноплатное решение Raspberry Pi 5 (8Gb) с набором внешних датчиков, барометр (mpu2950), гироскоп\акселерометр (ms5611). Одним из основных факторов выбора данного набора датчиков является поддержка интерфейса SPI , который позволяет опрашивать состояния сенсоров с большей частотой чем I2C. Raspberry Camera module 2 выбрана как базовая камера, в отличии от Camera module 3 не имеет автофокуса, выполненного в виде физического модуля и не подвержена воздействию вибраций, которые в свою очередь неблагоприятно влияли на тестовые визуальные данные, получаемые в результате тестовых заданий.
Выделением отдельного модуля питания для поддержки 5А тока, требующегося для стабильной работы бортового модуля при разных режимах полета со значительно измененными показателями питания силового контура дрона. Добавлена поддержка более мощного внешнего модуля WiFi и внешний комплекс связи, для онлайн мониторинга телеметрии. Общее состояние датчиков и тестового модуля, включая телеметрию и полный спектр логирования, производилось кастомной сборкой betaflight с визуальным контролем через расширенную версию betaflight configurator.
Данное решение позволяет тестировать на реальных полетных заданиях сложные алгоритмы и системы визуальной одометрии при минимальных затратах времени и средств.