ПО БПЛА состоит из нескольких частей: встраиваемого кода, программ полётного контроллера, навигационных и коммуникационных модулей, бортового компьютера, наземного ПО и систем computer vision / AI.
Программирование — это написание кода. Разработка ПО для БПЛА включает ещё проектирование архитектуры, интеграцию с оборудованием, симуляцию, тестирование, оптимизацию, документацию и сопровождение.
В БПЛА разные задачи выполняют разные программные компоненты — от кода микроконтроллеров до обработки данных на бортовом компьютере.
Работа с датчиками, стабилизацией и исполнительными системами требует предсказуемого времени выполнения.
Обработка данных, computer vision, AI и другая высокоуровневая логика.
Мониторинг, телеметрия и настройка программных компонентов.
C++, Python, Lua, MAVLink, SITL, OpenCV и другие технологии используют для разных задач. Конкретный набор зависит от проекта.
Выбор языка зависит от задачи и требований к этой части системы.
C++ часто используют для микроконтроллеров, производительного кода и компонентов, где важно точное время выполнения.
Python подходит для прототипов, интеграции, обработки данных, computer vision и AI.
Lua может использоваться для скриптов внутри поддерживаемой среды, например ArduPilot, но не заменяет основную прошивку автопилота.
Работа начинается с требований и архитектуры, затем идут реализация, интеграция и тестирование, а после — оптимизация, документация и сопровождение.
Некоторые бортовые компоненты должны выполнять задачи за строго ограниченное время, поэтому для них особенно важны стабильная производительность и предсказуемое выполнение.
Автоматизированные тесты позволяют многократно повторять одинаковые проверки, а симулятор помогает воспроизводить нужные условия.
Computer vision работает на высоком уровне: обрабатывает изображение и передаёт результат другим программным компонентам. Полётный контроллер при этом решает свои задачи управления и стабилизации.
OpenCV используют для получения кадров, обработки изображений и работы с видеопотоком.
Модель семейства YOLO может обнаруживать объекты на изображении и передавать результат программе.
В исследовании Кузбасского государственного аграрного университета систему разработали в 2023 году, а публикация вышла 21 марта 2024 года. Автор — Дмитрий Федоров, кандидат технических наук. В качестве платформы использовали Geoscan Pioneer mini.
Ответы на частые вопросы об архитектуре, языках, MAVLink, SITL, тестировании и computer vision.
Описание процесса разработки основано на материалах СПбПУ, а пример с computer vision — на публикации журнала «Аграрная наука» с DOI, ORCID и университетской аффилиацией. Версии Python, PyCharm и YOLO, параметры датасета и метрики относятся только к этому исследованию.
Задайте вопрос об архитектуре ПО, C++, Python, MAVLink, SITL, интеграции, тестировании или computer vision.
Обновлено 7 сентября 2026 года · обзор архитектуры и разработки ПО для БПЛА.