ASI Robotics AI · web · robotics
← Все услуги

Программирование дронов и БПЛА

Программирование дронов и БПЛА под задачу: автономные миссии, аэросъёмка, инспекция. Программирование дронов ведём на PX4, ArduPilot и MAVLink — маршрут, точки съёмки, автономный облёт. Берём программирование дронов для агро и инспекции — поля, ЛЭП, трубопроводы.

$ ./drone.sh mission --px4
> миссия загружена
облёт выполнен

Что входит в программирование дронов

Мы пишем логику автономных миссий БПЛА и настраиваем полётный контроллер на технике клиента: дрон остаётся его, мы готовим прошивку, маршруты и поведение в воздухе. В работу входит планирование маршрутов аэросъёмки и облёта объектов, настройка точек интереса для инспекции, калибровка датчиков, режимов отказа и геозон. Мы конфигурируем стек PX4 или ArduPilot под конкретную раму, подвес и полезную нагрузку, связываем телеметрию по MAVLink с наземной станцией. Отдельно настраиваем сценарии возврата домой, поведение при потере связи и потере спутников, чтобы аппарат не уходил в неуправляемый полёт. Программирование дронов на этом уровне — это не сборка железа, а конфигурация автопилота и написание миссий, которые этот автопилот исполняет.

Как устроена автономная миссия

В основе лежит полётный контроллер с автопилотом, который читает GPS, инерциальные датчики, барометр и компас, и удерживает аппарат на заданной траектории. Миссия описывается как последовательность путевых точек с высотой, скоростью и действиями в каждой точке: сделать снимок, зависнуть, повернуть подвес, сменить высоту. Наземная станция и автопилот обмениваются командами и телеметрией по протоколу MAVLink, поэтому оператор видит положение, заряд и статус в реальном времени. Алгоритмы стабилизации и навигации пересчитывают управляющие сигналы на моторы десятки раз в секунду, удерживая курс при ветре и сносе. Наша часть — собрать этот сценарий, прописать параметры и пороги срабатывания так, чтобы аппарат клиента отрабатывал маршрут предсказуемо.

Откуда выросли автопилоты дронов

Современные открытые автопилоты выросли из двух проектов конца 2000-х. Сообщество DIY Drones появилось в мае 2007 года, а Хорди Муньос ещё в конце 2007-го написал для Arduino программу стабилизации, из которой вырос ArduPilot — версию 1.0 он выпустил вместе с Крисом Андерсоном в 2009 году, тогда же его аппарат выиграл первое соревнование Sparkfun AVC. Параллельно в Швейцарии Лоренц Майер запустил в ETH Zurich исследовательский проект Pixhawk: примерно в 2008 году начались работы, а в 2009-м вышли первые открытые наработки по управлению и компьютерному зрению. К 2011 году команда Майера полностью переписала стек с нуля — так появился PX4 в том виде, который лёг в основу нынешней платформы. Эти две линии, ArduPilot и PX4, и определяют сегодня практику программирования дронов.

Почему софт и точность решают

Аэросъёмка и инспекция дают пригодный результат только при точной геопривязке: ошибка позиционирования в несколько метров смещает ортофотоплан и срывает построение 3D-модели. Точность миссии задаётся настройкой автопилота — калибровкой датчиков, параметрами навигационного фильтра, корректной геометрией маршрута с перекрытием кадров. Не менее важна легальность: правильно заданные геозоны, лимиты высоты и поведение при потере связи удерживают аппарат в разрешённой зоне и снижают риск нарушения и аварии. Дрон физически летает и снимает сам, но качество данных и безопасность полёта определяет программа и её настройка, а не только характеристики рамы и камеры. Поэтому ошибка в одном параметре отказоустойчивости стоит дороже, чем выбор самого железа.

Стек: PX4, ArduPilot, MAVLink

Рабочий стек строится вокруг двух автопилотов и одного транспортного протокола. PX4 — модульная архитектура поверх реального времени, удобная для интеграции своих модулей и компьютерного зрения; ArduPilot — зрелый стек с широкой поддержкой типов аппаратов и развитой логикой миссий и отказов. MAVLink связывает автопилот с наземной станцией и внешними модулями: компактные бинарные сообщения переносят телеметрию, команды и параметры миссии по радиоканалу. Поверх этого работаем с наземными станциями типа QGroundControl и Mission Planner, а для программного управления подключаемся к автопилоту через MAVLink-команды. Конкретный выбор между PX4 и ArduPilot диктует задача клиента и его контроллер, а не привычка — под обе платформы мы пишем миссии и правим параметры на его технике.

Когда появились ключевые инструменты

Протокол MAVLink разработал Лоренц Майер в ETH Zurich и выпустил его под лицензией LGPL в 2009 году в рамках проекта Pixhawk. ArduPilot получил поддержку MAVLink в ранних бета-версиях 2011 года, а PX4 включил его при выходе примерно в марте 2012-го; к этому же времени MAVLink подхватила наземная станция QGroundControl. В 2017 году вышла версия MAVLink 2.0 — она добавила подпись сообщений для защиты от подмены команд и расширенные пакеты до 280 байт. Сам PX4 как самостоятельная платформа сформировался после полного переписывания стека Pixhawk в 2011 году, тогда же был взят за основу RTOS NuttX. Эти даты важны практически: они задают, какие версии прошивок и сообщений считать опорными при настройке автопилота клиента.

Почему задачу можно доверить нам

Совокупный опыт нашей команды разработки в IT превышает 45 лет, и автопилот для нас — это в первую очередь софт и его конфигурация, а не магия железа. Мы подходим к миссии как к инженерной задаче: фиксируем параметры, ведём версии прошивок и проверяем поведение аппарата в симуляции и на земле до боевого вылета. Сценарии отказа, геозоны и возврат домой тестируются заранее, чтобы первый реальный полёт не стал проверкой гипотез. Мы не производим дроны и не выдаём чужую технику за свою — мы программируем и настраиваем оборудование клиента, опираясь на PX4, ArduPilot и MAVLink. В итоге заказчик получает не обещание, а воспроизводимую настройку, которую можно проверить по логам и повторить на следующих аппаратах.

Что входит

Автономные миссии и маршруты
Аэросъёмка по точкам
Инспекция ЛЭП и трубопроводов
PX4 / ArduPilot
MAVLink-интеграция
Обработка снятых данных

Как работаем

01
Зона
02
Маршрут
03
Миссия
04
Облёт
05
Данные
Результат

Автономный облёт: программирование дронов с маршрутом и съёмкой — данные без пилота за штурвалом.

Вопросы и ответы

С нуля?+

Программирование дронов и на готовых платформах, и сборка кастомной под полезную нагрузку.

А регуляторика?+

Программирование дронов делаем под учёт БПЛА и разрешённые зоны — летаете легально.

Обсудим ваш проект?

Оставьте контакты — вернёмся с вопросами и предложением.