Выпуск #3/2025
А. Голубков, С. Мелюков, А. Фомичев
ПОЛЕТНЫЕ КОНТРОЛЛЕРЫ ДЛЯ БЕСПИЛОТНЫХ ЛЕТАТЕЛЬНЫХ АППАРАТОВ МУЛЬТИРОТОРНОГО КЛАССА
ПОЛЕТНЫЕ КОНТРОЛЛЕРЫ ДЛЯ БЕСПИЛОТНЫХ ЛЕТАТЕЛЬНЫХ АППАРАТОВ МУЛЬТИРОТОРНОГО КЛАССА
Просмотры: 1335
DOI: 10.22184/1992-4178.2025.244.3.174.178
Рассмотрено создание полетных контроллеров на базе открытого программного обеспечения для беспилотных летательных аппаратов (БПЛА) мультироторного класса, отвечающих требованиям надежности и обеспечивающих высокую степень гибкости.
Рассмотрено создание полетных контроллеров на базе открытого программного обеспечения для беспилотных летательных аппаратов (БПЛА) мультироторного класса, отвечающих требованиям надежности и обеспечивающих высокую степень гибкости.
Полетные контроллеры
для беспилотных летательных
аппаратов мультироторного класса
А. Голубков, С. Мелюков, А. Фомичев, к.т.н.
Отсутствие стандартизации архитектуры полетных контроллеров (ПК) и применение проприетарных ПК с закрытым программным обеспечением (ЗПО) на многих беспилотных летательных аппаратах (БПЛА) [1] многократно усложняют исследования в данной сфере ввиду того, что решения, разработанные для одного ПК, сложно перенести на другой без существенной дополнительной доработки и тестирования. Использование ПК с открытым программным обеспечением (ОПО) [2–4] устраняет некоторые из этих проблем и позволяет другим разработчикам проверять и развивать существующие технические решения.
Большинство современных контроллеров имеют закрытую архитектуру, что затрудняет их модификацию и адаптацию под конкретные задачи. В связи с этим возникает необходимость в разработке новых архитектур и аппаратных решений, основанных на ОПО и модульных принципах построения.
В статье рассмотрено создание ПК на базе ОПО для БПЛА мультироторного класса, отвечающих требованиям надежности и обеспечивающих высокую степень гибкости.
В ПК БПЛА можно выделить аппаратную и программную части. Аппаратная часть ПК обеспечивает сбор данных о состоянии БПЛА и выполнение команд управления. Программная часть выполняет обработку данных, поступающих от штатных измерительных датчиков и других приборов, например, лидаров и ультразвуковых датчиков, а также формирует сигналы управления для двигателей и других устройств. Аппаратная и программная части ПК тесно взаимосвязаны между собой и дополняют друг друга. Эффективность работы всей бортовой системы управления зависит от правильного выбора компонентов и грамотной реализации алгоритмов управления.
Алгоритм разработки полетного контроллера
Следует отметить, что предложенный алгоритм (рис. 1) можно применять и при разработке других устройств БПЛА, таких как электронный регулятор оборотов двигателей, видеопередатчик, приемник и др.
В соответствии со схемой (рис. 1) необходимо выполнить ряд шагов: изучить рынок и сформулировать требования к технической системе; разработать опытный образец; провести лабораторные испытания для проверки работоспособности отдельных компонентов и всей системы в целом; провести тестовые полеты БПЛА с установленным ПК.
Сравнение моделей полетных контроллеров
Далее (табл. 1) приведено сравнение известных моделей ПК на базе ОПО с разрабатываемыми моделями ПК, РК-405 и РК-743, по следующим характеристикам: установленный микроконтроллер, встроенные датчики, объем установленной флеш-памяти, габаритные размеры и вес.
Вес является критическим параметром для всех БПЛА. Минимальный вес ПК составляет примерно четыре грамма, а максимальный вес может достигать сотен граммов. Наиболее распространенные значения расстояний между монтажными отверстиями составляют 30,5 ×30,5; 20 ×20 и 16 × 16 мм.
На основании проведенного сравнения характеристик разработанных ПК РК-405, РК-743 с моделями других производителей (табл. 1) можно сделать вывод, что представленные на рынке решения используют в основном четыре модели микроконтроллеров: STM32F405, STM32H743, STM32F745, STM32H757. Наибольшую популярность из них получили микроконтроллеры STM32F405 и STM32H743 из-за сочетания в себе производительности ядр Cortex-M, возможности цифровой обработки сигналов за счет расширенного набора команд и легкости реализации сложных алгоритмов управления за счет сопроцессора
для операций с числами с плавающей точкой.
В качестве флеш-памяти для записи данных полета в ПК применяются встроенные микросхемы памяти и SD-карты. Последние имеют больший объем памяти в сравнении с микросхемами памяти, но при этом менее надежны.
Для ПК, применяющихся на БПЛА мультироторного класса, существуют различные ОПО и ЗПО.
MultiWii – ПО с открытым исходным кодом для управления полетом. В его основе – среда разработки Arduino IDE [5]. Существенный недостаток – низкая надежность.
Pixhawk – модульная вычислительная платформа на базе ОПО PX4 или ArduPilot, обеспечивающая обработку данных датчиков, реализацию алгоритмов управления и организацию взаимодействия с внешними устройствами для автономной работы беспилотных систем [6].
ArduPilot (APM) – надежная универсальная система с открытым исходным кодом, поддерживающая множество типов транспортных средств: мультироторные установки, вертолеты, самолеты, подводные аппараты, роверы (мобильные роботизированные управляемые платформы) [7].
Cleanflight и Betaflight – программные средства для управления полетом с открытым исходным кодом, которые в основном используются для гоночных и акробатических дронов. Их отличие от другого ПО состоит в том, что они предлагают широкие возможности при настройке и более надежны в работе [8].
FlightOne (ранее Raceflight) – популярное ПО в сообществе FPV-гонок и фристайла из-за акцента на высокую производительность [9].
KISS (Keep It Super Simple) – проприетарное ПО, ориентированное на реализацию базовых алгоритмов управления БПЛА с минимальным использованием ресурсов, что обеспечивает высокую производительность и стабильность работы системы при сохранении возможности настройки ключевых параметров [10].
INAV – ПО, применяемое в основном для БПЛА, использующих автономную навигацию. Данное ПО построено на базе Cleanflight и предлагает такие функции, как удержание GPS, возврат домой и навигацию по путевым точкам [11]. По сравнению с Betaflight имеет больший функционал, но в автономных полетах существенно уступает ArduPilot и Pixhawk.
Paparazzi – аппаратно-программный проект с открытым исходным кодом. Как правило, используется в академических и исследовательских целях [12].
На ПК РК-405 и РК-743 используется ОПО, а именно Betaflight и ArduPilot, последнее из которых позволяет производить детальные настройки ПК, получать подробные данные о полете БПЛА и осуществлять полет по маршруту. Betaflight обладает простотой настройки и является отличным вариантом для FPV-пилотирования.
1. Вычислитель.
2. Модуль системы навигации и ориентации, включающей баровысотомер, трехосный датчик угловой скорости, трехосный датчик линейного ускорения, трехосный датчик магнитного поля.
3. Модуль выбора камеры.
4. Модуль управляемых коммутаторов.
5. Модуль экранного меню.
6. Модуль запоминающего устройства.
7. Инвертор сигнала асинхронного интерфейса.
8. Модуль защиты от неправильного включения
питания.
9. Интерфейсы подключения приемника радиоканала, камер, звукового излучателя, видеопередатчика, как цифрового, так и аналогового.
10. Соединитель USB.
11. Системы питания на 9; 5; 4,5 и 3,3 В.
В целом структура ПК представляет собой сложную техническую систему, в которой каждый компонент имеет важное значение для обеспечения безопасного и эффективного управления БПЛА. Основными достоинствами данной структуры по сравнению с существующими являются гибкость, масштабируемость и универсальность. Гибкость проявляется в способности адаптироваться к различным типам БПЛА и задачам. Масштабируемость означает возможность расширения функциональности путем добавления новых компонентов или улучшения существующих. Универсальность выражается в том, что данная структура может быть применена в широком спектре приложений, что делает ее привлекательной для различных отраслей и сфер деятельности.
Технические требования, предъявляемые к полетному контроллеру
На основе структуры (рис. 2) были сформулированы технические требования для ПК (табл. 2), определяющие его функциональность и надежность. Эти требования охватывают различные характеристики ПК, начиная от производительности центрального процессора и заканчивая энергопотреблением, системой питания и массогабаритными характеристиками.
Представленные технические требования определяют основные параметры, которыми должен обладать ПК мультироторного БПЛА. На основе этих требований были разработаны ПК РК-405 и РК-743 (рис. 3) с ОПО ArduPilot и Betaflight. Основные отличия между РК-743 от РК-405 – это разные вычислители, соединители, объемы флеш-памяти, а также горячее резервирование основных инерциальных датчиков.
***
В статье приведены результаты разработки универсальных ПК для БПЛА на базе 32-разрядных микроконтроллеров архитектуры ARM. Проведен обзор аналогов, которые значительно различаются по поддерживаемым интерфейсам, физическим размерам и используемому ОПО. Разработанные контроллеры РК-405 и РК-743 имеют малые массогабаритные характеристики, допускают подключение двух камер и управление внешней периферией. В отличие от существующих, разработанные ПК имеют улучшенную архитектуру, расширенный набор функций и конкурентную стоимость. Кроме того, данные ПК поддерживают более широкий диапазон коммуникационных протоколов, что обеспечивает интеграцию с другими устройствами и системами. Это делает их универсальным решением для широкого спектра применений, в частности на БПЛА мультироторного класса весом до 500 кг.
Результаты проведенной работы могут служить основой для дальнейших исследований и разработок в области создания ПК, ориентированных на открытые стандарты и модульные принципы построения.
ЛИТЕРАТУРА
Muhamad A., Panjaitan S. D., Yacoub R. R. Design and development of flight controller for quadcopter drone control // Telecommunications, Computers, and Electricals Engineering Journal (TELECTRICAL). 2024. V. 1. No. 3. PP. 279–291.
Amadi C. A. Design and implementation of a model predictive control on a Pixhawk flight controller: thesis. – Stellenbosch: Stellenbosch University, 2018.
Rico R., Rico-Azagra J., Gil-Martínez M. Hardware and RTOS design of a flight controller for professional applications // IEEE Access. 2022. V. 10. PP. 134870-134883.
Qu X., Wei Y., Liu Y. et al. Design of Automatic Search and Rescue UAV Based on Jetson Nano Combined with PX4 Pixhawk Flight Controller and Color Recognition Technology //
2024 International Conference on Electrical Drives, Power Electronics & Engineering (EDPEE). IEEE, 2024. PP. 460–466.
Chong Y. F., Al-Fadhali N. M. A. MultiWii Based Quadcopter by Using Arduino Controller // Progress in Engineering Application and Technology. 2023. V. 4. No. 1. PP. 221–229.
Nguyen K. D., Ha C. Development of hardware-in-the-loop simulation based on Gazebo and Pixhawk for unmanned aerial vehicles // International Journal of Aeronautical and Space Sciences. 2018. V. 19. PP. 238–249.
Baldi S., Sun D., Xia X. et al. ArduPilot-based adaptive autopilot: Architecture and software-in-the-loop experiments // IEEE Transactions on Aerospace and Electronic Systems. 2022. V. 58. No. 5. PP. 4473–4485.
Levy S. D. Robustness through simplicity: a minimalist gateway to neurorobotic flight // Frontiers in Neurorobotics. 2020. V. 14. P. 16.
Rao M. V. S., Athmika K., Geetha S. et. al. Design and Development of Quadcopter for Agro-Chemical Spray in Agricultural Field // International Research Journal on Advanced Engineering Hub (IRJAEH). 2024. V. 2. No. 05. PP. 1294–1302.
Lienkov S., Myasischev A., Sieliukov O. et al. Checking the Flight Stability of a Rotary UAV in Navigation Modes for Different Firmware // CEUR Workshop Proceedings. 2021. V. 3126. PP. 46–55.
Wang L. Review of the application of open-source flight control in multi-rotor aircraft //Int. Core J. Eng. 2021. V. 7. PP. 261–270.
Pollien B., Garion C., Hattenberger G. et al. Verifying the Mathematical Library of an UAV Autopilot with Frama-C // Formal Methods for Industrial Critical Systems: 26th International Conference, FMICS 2021, Paris, France, August 24–26, 2021.
Springer International Publishing, 2021. PP. 167–173.
для беспилотных летательных
аппаратов мультироторного класса
А. Голубков, С. Мелюков, А. Фомичев, к.т.н.
Отсутствие стандартизации архитектуры полетных контроллеров (ПК) и применение проприетарных ПК с закрытым программным обеспечением (ЗПО) на многих беспилотных летательных аппаратах (БПЛА) [1] многократно усложняют исследования в данной сфере ввиду того, что решения, разработанные для одного ПК, сложно перенести на другой без существенной дополнительной доработки и тестирования. Использование ПК с открытым программным обеспечением (ОПО) [2–4] устраняет некоторые из этих проблем и позволяет другим разработчикам проверять и развивать существующие технические решения.
Большинство современных контроллеров имеют закрытую архитектуру, что затрудняет их модификацию и адаптацию под конкретные задачи. В связи с этим возникает необходимость в разработке новых архитектур и аппаратных решений, основанных на ОПО и модульных принципах построения.
В статье рассмотрено создание ПК на базе ОПО для БПЛА мультироторного класса, отвечающих требованиям надежности и обеспечивающих высокую степень гибкости.
В ПК БПЛА можно выделить аппаратную и программную части. Аппаратная часть ПК обеспечивает сбор данных о состоянии БПЛА и выполнение команд управления. Программная часть выполняет обработку данных, поступающих от штатных измерительных датчиков и других приборов, например, лидаров и ультразвуковых датчиков, а также формирует сигналы управления для двигателей и других устройств. Аппаратная и программная части ПК тесно взаимосвязаны между собой и дополняют друг друга. Эффективность работы всей бортовой системы управления зависит от правильного выбора компонентов и грамотной реализации алгоритмов управления.
Алгоритм разработки полетного контроллера
Следует отметить, что предложенный алгоритм (рис. 1) можно применять и при разработке других устройств БПЛА, таких как электронный регулятор оборотов двигателей, видеопередатчик, приемник и др.
В соответствии со схемой (рис. 1) необходимо выполнить ряд шагов: изучить рынок и сформулировать требования к технической системе; разработать опытный образец; провести лабораторные испытания для проверки работоспособности отдельных компонентов и всей системы в целом; провести тестовые полеты БПЛА с установленным ПК.
Сравнение моделей полетных контроллеров
Далее (табл. 1) приведено сравнение известных моделей ПК на базе ОПО с разрабатываемыми моделями ПК, РК-405 и РК-743, по следующим характеристикам: установленный микроконтроллер, встроенные датчики, объем установленной флеш-памяти, габаритные размеры и вес.
Вес является критическим параметром для всех БПЛА. Минимальный вес ПК составляет примерно четыре грамма, а максимальный вес может достигать сотен граммов. Наиболее распространенные значения расстояний между монтажными отверстиями составляют 30,5 ×30,5; 20 ×20 и 16 × 16 мм.
На основании проведенного сравнения характеристик разработанных ПК РК-405, РК-743 с моделями других производителей (табл. 1) можно сделать вывод, что представленные на рынке решения используют в основном четыре модели микроконтроллеров: STM32F405, STM32H743, STM32F745, STM32H757. Наибольшую популярность из них получили микроконтроллеры STM32F405 и STM32H743 из-за сочетания в себе производительности ядр Cortex-M, возможности цифровой обработки сигналов за счет расширенного набора команд и легкости реализации сложных алгоритмов управления за счет сопроцессора
для операций с числами с плавающей точкой.
В качестве флеш-памяти для записи данных полета в ПК применяются встроенные микросхемы памяти и SD-карты. Последние имеют больший объем памяти в сравнении с микросхемами памяти, но при этом менее надежны.
Для ПК, применяющихся на БПЛА мультироторного класса, существуют различные ОПО и ЗПО.
MultiWii – ПО с открытым исходным кодом для управления полетом. В его основе – среда разработки Arduino IDE [5]. Существенный недостаток – низкая надежность.
Pixhawk – модульная вычислительная платформа на базе ОПО PX4 или ArduPilot, обеспечивающая обработку данных датчиков, реализацию алгоритмов управления и организацию взаимодействия с внешними устройствами для автономной работы беспилотных систем [6].
ArduPilot (APM) – надежная универсальная система с открытым исходным кодом, поддерживающая множество типов транспортных средств: мультироторные установки, вертолеты, самолеты, подводные аппараты, роверы (мобильные роботизированные управляемые платформы) [7].
Cleanflight и Betaflight – программные средства для управления полетом с открытым исходным кодом, которые в основном используются для гоночных и акробатических дронов. Их отличие от другого ПО состоит в том, что они предлагают широкие возможности при настройке и более надежны в работе [8].
FlightOne (ранее Raceflight) – популярное ПО в сообществе FPV-гонок и фристайла из-за акцента на высокую производительность [9].
KISS (Keep It Super Simple) – проприетарное ПО, ориентированное на реализацию базовых алгоритмов управления БПЛА с минимальным использованием ресурсов, что обеспечивает высокую производительность и стабильность работы системы при сохранении возможности настройки ключевых параметров [10].
INAV – ПО, применяемое в основном для БПЛА, использующих автономную навигацию. Данное ПО построено на базе Cleanflight и предлагает такие функции, как удержание GPS, возврат домой и навигацию по путевым точкам [11]. По сравнению с Betaflight имеет больший функционал, но в автономных полетах существенно уступает ArduPilot и Pixhawk.
Paparazzi – аппаратно-программный проект с открытым исходным кодом. Как правило, используется в академических и исследовательских целях [12].
На ПК РК-405 и РК-743 используется ОПО, а именно Betaflight и ArduPilot, последнее из которых позволяет производить детальные настройки ПК, получать подробные данные о полете БПЛА и осуществлять полет по маршруту. Betaflight обладает простотой настройки и является отличным вариантом для FPV-пилотирования.
- Структура полетного контроллера
1. Вычислитель.
2. Модуль системы навигации и ориентации, включающей баровысотомер, трехосный датчик угловой скорости, трехосный датчик линейного ускорения, трехосный датчик магнитного поля.
3. Модуль выбора камеры.
4. Модуль управляемых коммутаторов.
5. Модуль экранного меню.
6. Модуль запоминающего устройства.
7. Инвертор сигнала асинхронного интерфейса.
8. Модуль защиты от неправильного включения
питания.
9. Интерфейсы подключения приемника радиоканала, камер, звукового излучателя, видеопередатчика, как цифрового, так и аналогового.
10. Соединитель USB.
11. Системы питания на 9; 5; 4,5 и 3,3 В.
В целом структура ПК представляет собой сложную техническую систему, в которой каждый компонент имеет важное значение для обеспечения безопасного и эффективного управления БПЛА. Основными достоинствами данной структуры по сравнению с существующими являются гибкость, масштабируемость и универсальность. Гибкость проявляется в способности адаптироваться к различным типам БПЛА и задачам. Масштабируемость означает возможность расширения функциональности путем добавления новых компонентов или улучшения существующих. Универсальность выражается в том, что данная структура может быть применена в широком спектре приложений, что делает ее привлекательной для различных отраслей и сфер деятельности.
Технические требования, предъявляемые к полетному контроллеру
На основе структуры (рис. 2) были сформулированы технические требования для ПК (табл. 2), определяющие его функциональность и надежность. Эти требования охватывают различные характеристики ПК, начиная от производительности центрального процессора и заканчивая энергопотреблением, системой питания и массогабаритными характеристиками.
Представленные технические требования определяют основные параметры, которыми должен обладать ПК мультироторного БПЛА. На основе этих требований были разработаны ПК РК-405 и РК-743 (рис. 3) с ОПО ArduPilot и Betaflight. Основные отличия между РК-743 от РК-405 – это разные вычислители, соединители, объемы флеш-памяти, а также горячее резервирование основных инерциальных датчиков.
***
В статье приведены результаты разработки универсальных ПК для БПЛА на базе 32-разрядных микроконтроллеров архитектуры ARM. Проведен обзор аналогов, которые значительно различаются по поддерживаемым интерфейсам, физическим размерам и используемому ОПО. Разработанные контроллеры РК-405 и РК-743 имеют малые массогабаритные характеристики, допускают подключение двух камер и управление внешней периферией. В отличие от существующих, разработанные ПК имеют улучшенную архитектуру, расширенный набор функций и конкурентную стоимость. Кроме того, данные ПК поддерживают более широкий диапазон коммуникационных протоколов, что обеспечивает интеграцию с другими устройствами и системами. Это делает их универсальным решением для широкого спектра применений, в частности на БПЛА мультироторного класса весом до 500 кг.
Результаты проведенной работы могут служить основой для дальнейших исследований и разработок в области создания ПК, ориентированных на открытые стандарты и модульные принципы построения.
ЛИТЕРАТУРА
Muhamad A., Panjaitan S. D., Yacoub R. R. Design and development of flight controller for quadcopter drone control // Telecommunications, Computers, and Electricals Engineering Journal (TELECTRICAL). 2024. V. 1. No. 3. PP. 279–291.
Amadi C. A. Design and implementation of a model predictive control on a Pixhawk flight controller: thesis. – Stellenbosch: Stellenbosch University, 2018.
Rico R., Rico-Azagra J., Gil-Martínez M. Hardware and RTOS design of a flight controller for professional applications // IEEE Access. 2022. V. 10. PP. 134870-134883.
Qu X., Wei Y., Liu Y. et al. Design of Automatic Search and Rescue UAV Based on Jetson Nano Combined with PX4 Pixhawk Flight Controller and Color Recognition Technology //
2024 International Conference on Electrical Drives, Power Electronics & Engineering (EDPEE). IEEE, 2024. PP. 460–466.
Chong Y. F., Al-Fadhali N. M. A. MultiWii Based Quadcopter by Using Arduino Controller // Progress in Engineering Application and Technology. 2023. V. 4. No. 1. PP. 221–229.
Nguyen K. D., Ha C. Development of hardware-in-the-loop simulation based on Gazebo and Pixhawk for unmanned aerial vehicles // International Journal of Aeronautical and Space Sciences. 2018. V. 19. PP. 238–249.
Baldi S., Sun D., Xia X. et al. ArduPilot-based adaptive autopilot: Architecture and software-in-the-loop experiments // IEEE Transactions on Aerospace and Electronic Systems. 2022. V. 58. No. 5. PP. 4473–4485.
Levy S. D. Robustness through simplicity: a minimalist gateway to neurorobotic flight // Frontiers in Neurorobotics. 2020. V. 14. P. 16.
Rao M. V. S., Athmika K., Geetha S. et. al. Design and Development of Quadcopter for Agro-Chemical Spray in Agricultural Field // International Research Journal on Advanced Engineering Hub (IRJAEH). 2024. V. 2. No. 05. PP. 1294–1302.
Lienkov S., Myasischev A., Sieliukov O. et al. Checking the Flight Stability of a Rotary UAV in Navigation Modes for Different Firmware // CEUR Workshop Proceedings. 2021. V. 3126. PP. 46–55.
Wang L. Review of the application of open-source flight control in multi-rotor aircraft //Int. Core J. Eng. 2021. V. 7. PP. 261–270.
Pollien B., Garion C., Hattenberger G. et al. Verifying the Mathematical Library of an UAV Autopilot with Frama-C // Formal Methods for Industrial Critical Systems: 26th International Conference, FMICS 2021, Paris, France, August 24–26, 2021.
Springer International Publishing, 2021. PP. 167–173.
Отзывы читателей
eng




