Научная статья на тему 'РАЗРАБОТКА ПРОГРАММЫ УПРАВЛЕНИЯ ЭЛЕМЕНТАМИ ПОЛЕТА БЕСПИЛОТНОГО АППАРАТА С ИСПОЛЬЗОВАНИЕМ МОДЕЛИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА'

РАЗРАБОТКА ПРОГРАММЫ УПРАВЛЕНИЯ ЭЛЕМЕНТАМИ ПОЛЕТА БЕСПИЛОТНОГО АППАРАТА С ИСПОЛЬЗОВАНИЕМ МОДЕЛИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
4
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
беспилотный летательный аппарат / автономный полет / MAVLink / unmanned aerial vehicle / autonomous flight / MAVLink

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гусев Павел Юрьевич, Сокольников Виктор Владимирович, Поцебнева Ирина Валерьевна

В работе описывается реализация программы управления элементами полета беспилотного аппарата. Проведен анализ применения беспилотных летательных аппаратов, а также перспективы развития отрасли. Рассмотрены возможности использования элементов автономного полета. Для достижения поставленной цели рас-смотрено решение задач: выбор инструментов реализации, разработка алгоритма управления элементами полета, программная реализация алгоритма. Подробно рас-смотрены возможности применения программных и аппаратных платформ при реализации автономного полета.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гусев Павел Юрьевич, Сокольников Виктор Владимирович, Поцебнева Ирина Валерьевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF A PROGRAM FOR CONTROLLING FLIGHT ELEMENTS OF AN UNMANNED VEHICLE USING AN ARTIFICIAL INTELLIGENCE MODEL

The paper describes the implementation of a program for controlling the flight ele-ments of an unmanned aerial vehicle. An analysis of the use of unmanned aerial vehicles, as well as the prospects for the development of the industry, is conducted. The possibilities of using autonomous flight elements are considered. To achieve this goal, the following tasks are considered: selection of implementation tools, development of an algorithm for control-ling flight elements, software implementation of the algorithm. The possibilities of using soft-ware and hardware platforms in implementing autonomous flight are considered in detail.

Текст научной работы на тему «РАЗРАБОТКА ПРОГРАММЫ УПРАВЛЕНИЯ ЭЛЕМЕНТАМИ ПОЛЕТА БЕСПИЛОТНОГО АППАРАТА С ИСПОЛЬЗОВАНИЕМ МОДЕЛИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА»

УДК 004

Б01: 10.24412/2071-6168-2025-1-229-230

РАЗРАБОТКА ПРОГРАММЫ УПРАВЛЕНИЯ ЭЛЕМЕНТАМИ ПОЛЕТА БЕСПИЛОТНОГО АППАРАТА С ИСПОЛЬЗОВАНИЕМ МОДЕЛИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

П.Ю. Гусев, В.В. Сокольников, И.В. Поцебнева

В работе описывается реализация программы управления элементами полета беспилотного аппарата. Проведен анализ применения беспилотных летательных аппаратов, а также перспективы развития отрасли. Рассмотрены возможности использования элементов автономного полета. Для достижения поставленной цели рассмотрено решение задач: выбор инструментов реализации, разработка алгоритма управления элементами полета, программная реализация алгоритма. Подробно рассмотрены возможности применения программных и аппаратных платформ при реализации автономного полета.

Ключевые слова: беспилотный летательный аппарат, автономный полет, ЫЛУЬтк.

Развитие беспилотных авиационных систем (БАС) является одной из наиболее актуальных задач технологического развития, обеспечивающих качественное изменение сфер жизнедеятельности человека. Среди направлений применения БАС можно выделить логистику и транспорт [1]. Задачи, которые могут решаться с применением беспилотных аппаратов -доставка грузов в труднодоступные и отдаленные районы, доставка товаров до потребителей в крупных городах [2]. Важным направлением исследований применения БАС является также мониторинг состояния строительных объектов и повышение безопасности эксплуатации опасных производственных объектов [3-4].

Отдельно следует выделить возможности применения БАС в сельском хозяйстве [5-6]. Необходимо отметить, что сельское хозяйство является наиболее инновационной сферой деятельности в части применения БАС. Уже в настоящее время внедрены и используются беспилотные технологии обработки полей, анализа посевов. Ведутся экспериментальные работы по проведению посевных работ с применением БАС, а также по сбору урожая с применением БАС. Помимо сельского хозяйства уже используются технологии БАС в определении и локализации лесных пожаров, что в значительной степени повышает сохранность лесных массивов

[7].

Большая часть рассматриваемых способов применения БАС основывается на применении летательных аппаратов с удаленным управлением. То есть, фактически, пилот существует, но не находится непосредственно в летательном аппарате. Практически все задачи, выполняемые пилотом беспилотного аппарата, могут быть выполнены в автономном полете. Автономный полет беспилотного средства значительно расширяет возможности применения летательных аппаратов, а также снижает затраты

на эксплуатацию летательного аппарата [8-9]. Беспилотные летательные аппараты с автономным полетом в настоящее время уже существуют, но задачи поиска путей снижений стоимости и повышения надежности эксплуатации подобных аппаратов всегда остаются актуальными [10].

Целью данной работы является обеспечение возможности автономного полета за заданным объектом путем его детекции с применением модели искусственного интеллекта. Для достижения поставленной цели решены следующие задачи:

- осуществлен выбор технических средств реализации;

- разработан алгоритм управления беспилотным летательным аппаратом;

- реализован программный код управления полетом в режиме следования летательного аппарата за объектом.

Выбор технических средств реализации программы управления. Разработка программы управления полетом может быть реализована с применением различных программных и аппаратных средств. В настоящее время на рынке представлены различные виды полетных контроллеров, а также вспомогательных элементов, обеспечивающих различные способы управления беспилотным летательным аппаратом. В части выбора программного средства реализации выбор основывается на двух составляющих: возможности управления с использованием выбранного языка программирования и компетенций в применении выбранного языка программирования. Не смотря на спорность второй составляющей, современные API-интерфейсы в большинстве случаев поддерживают мультиязычность, что позволяет также ориентироваться на компетенции в области применения конкретного языка.

Для управления беспилотными летательными аппаратами разработано множество программных платформ: ArduPilot от 3DR [11], Paparazzi UAV [12], Hangar autopilot [13], PX4 Flight Stack [14], MultiWii [15] и другие. Одной из наиболее популярных платформ является ArduPilot, которая обеспечивает множество настроек беспилотного летательного аппарата. Дополнительное преимущество ArduPilot - это программное обеспечение с открытым исходным кодом, что обеспечивает возможность неограниченной модификации и доработки под свои требования.

Наибольший интерес при разработке программы управления автономным полетом представляет Micro Aerial Vehicle Link (MAVLink) - протокол, обеспечивающий связь между беспилотными аппаратами и наземными станциями [16]. MAVLink работает по принципу сериализации сообщений о состоянии системы и командах, которые должны быть выполнены в определенный момент. Команды переводятся в двоичный формат и не зависят от платформы. Двоичный формат обеспечивает одно из главных достоинств протокола MAVLink - его легкость, что минимизирует нагрузку на передачу команд и состояний. К дополнительным преимуществам протокола можно отнести двойную проверку суммы в пакете, что повышает надежность передачи команд и состояний. Таким образом, для разра-

ботки программы управления элементами автономного полета выбрано использование протокола MAVLink.

В качестве аппаратной части использован полетный контроллер Radiolink Pixhawk PIX 2.4.8. Выбор полетного контроллера обусловлен возможность использования программного обеспечения ArduPilot и протокола MAVLink в полном функционале. Протокол MAVLink может быть использован в других полетных контроллерах и программных платформах, но существуют ограничения на полный функционал протокола.

Имитация действий пилота осуществляется микрокомпьютером, установленным непосредственно на беспилотном летательном аппарате. Видеосигнал, получаемый с камеры аппарата, анализируется с использованием нейронной сети и преобразуется в управляющий сигнал протокола MAVLink. В качестве микрокомпьютера, способного выполнять вычислений с использованием современных нейронных сетей использован Jetson Xavier NX. Следует отметить, что применяемая нейронная сеть может быть оптимизирована и, как следствие, это позволит применить менее производительный микрокомпьютер. Для разработки программы управления использован язык Python, обеспечивающий возможность использования библиотек как для работы с видео, работы с нейронными сетями, а также реализующий отправку команд по протоколу MAVLink.

При выборе средства реализации нейросетевой модели учитывались факторы быстродействия вычислений и простоты обучения, а также возможности решения задачи детекции объекта. Наиболее адекватно поставленным требования отвечает YOLO [17]. Особенностями применения алгоритма YOLO являются высокая скорость вычислений и небольшой размер модели, а также возможность выбора модели разного размера. Быстродействие YOLO обеспечивается простотой структуры, которая позволяет решать задачи детекции - определения объектов на изображении. YOLO также поддерживает возможность применения детекции в потоковом видео, что делает этот алгоритм универсальным и применимым для программы управления автономным полетом.

Алгоритм и реализация программы управления элементами автономного полета. В общем виде алгоритм управления элементом следования за объектом автономного полета беспилотного летательного аппарата представлен следующим образом:

1. Захват видео с цифровой камеры, установленной на беспилотном летательном аппарате.

2. Детекция объектов на видео.

3. Определение координат детектируемого объекта.

4. Расчет управляющего сигнала.

5. Отправка команды на полетный контроллер.

Первый пункт алгоритма реализуется с применением OpenCV - готовой библиотеки для работы с видео. Реализация OpenCV существует для множества языков программирования, в том числе и для Python. OpenCV с использованием команды VideoCapture позволяет выбрать источник видео

и осуществить его обработку. Следующий программный код обеспечивает получение видео с камеры и запись в лог выбранной камеры.

if using_web_cam:

# testDevice(numberwebcam) cap = cv2. VideoCapture(number_web_cam) with open(file_out, 'a', encoding='utf-8') asf: f.write(dt string + f webcamnum: {number_web cam}" +

"\n")

Один из наиболее важных этапов алгоритма управления элементом следования автономного полета - детекция объекта для следования. Для реализации данного пункта выбрана модель YOLO, как указано ранее. Использована 8 версия модели - наиболее стабильная на момент реализации данной работы. Язык программирования Python обеспечил возможность простого импорта обученной модели в рабочий программный код и ее дальнейшее применение. Доверительный интервал (Confidence Treeshold) установлен равным 0,65. Небольшое доверительное значение связано с особенностями применения летательного аппарата - ввиду отсутствия стабилизации изображение может искажаться и повышение интервала сделает невозможными применение программы управления. Следующий программный код обеспечивает загрузку обученной модели: yolodet = YOLOv8(model_path, conf_thres=0.65) Следование за объектом осуществляется путем его центрирования в кадре. При приближении к объекту требуется держать объект в нижней части видимости камеры, в противном случае может произойти столкновение с объектом, за которым осуществляется следование. В дальнейшей работе для избегания столкновения предполагается использовать лидар, а также совершенствовать методы расчета координат.

Расчет управляющего сигнала осуществляется путем пересчета координат для смещения центра камеры, которая определяет направление движения беспилотного летательного аппарата. При этом, алгоритм должен учитывать фактически поступаемое расширение видео с камеры. В противном случае управляющий сигнал не будет отвечать поставленной задаче. Отправка команды на полетный контроллер осуществляется с использованием протокола MAVLink. Следующий программный код осуществляет отправку команды движения за объектом при расширении FullHD:

control_send( master.target system, round((newY-1080)/1080*250), 0, 300,round((newX-1980)/1980*150))

Результаты. В результате разработки программы управления элементами полета беспилотного аппарата с использованием модели искусственного интеллекта реализован алгоритм следования за объектом в автономном режиме. Программная реализация алгоритма обеспечила возможность применения микрокомпьютера в качестве средства определения объ-

екта для следования и выработки управляющего сигнала. Развитие технологий автономного полета беспилотных летательных аппаратов расширит возможности их применения, а также создаст предпосылки для снижения стоимости применения.

Работа выполнена при поддержке Министерства науки и высшего образования Российской Федерации (проект № FZGM-2024-0006)

Список литературы

1. Машненков Д. В. Перспективы использования БПЛА в логистике // Инновации и инвестиции. 2023. №6.

2. Калмурзаева Дина Кусаинкызы, Багинова Вера Владимировна Беспилотные летающие аппараты как инструмент микрологистики нового поколения // European research. 2017. №1 (24).

3. Ворсин Н. Е., Яковлев А. Е. Применение бпла в проектировании и строительстве автомобильных дорог // Вестник науки. 2024. №5 (74).

4. Кудасова А. С., Тютина А. Д., Сокольникова Э. В. Применение беспилотных летательных аппаратов в строительстве // ИВД. 2021. №8 (80).

5. Смелянский М. И., Жуков В. Е. Эксперимент по внедрению беспилотных авиационных систем // Вестник науки. 2024. №9 (78).

6. А Х. Рахмонов, О В. Мячина, Р Н. Ким, Л Э. Мамасалиева, О С. Нарзуллаев, Б А. Пулатов, Г Я. Исаев Увеличение урожайности хлопчатника при воздействии минеральных удобрений содержащих агроруды // SAI. 2024. №Special Issue 21.

7. Коршунов Н. А., Савченкова В. А., Перминов А. В., Конюшенков М. Е. Перспективные направления применения беспилотных авиационных систем в лесном комплексе // Лесохозяйственная информация. 2022. №2.

8. Тищенко Игорь Петрович, Степанов Дмитрий Николаевич, Фра-ленко Виталий Петрович Разработка системы моделирования автономного полета беспилотного летательного аппарата // Программные системы: теория и приложения. 2012. №3-1 (12).

9. Тищенко Игорь Петрович, Степанов Дмитрий Николаевич, Фра-ленко Виталий Петрович Разработка системы моделирования автономного полета беспилотного летательного аппарата // Программные системы: теория и приложения. 2012. №3-1 (12).

10. Choi S. Y., Cha D. Unmanned aerial vehicles using machine learning for autonomous flight; state-of-the-art //Advanced Robotics. - 2019. - Т. 33. -№. 6. - С. 265-277.

11. Baldi S. et al. ArduPilot-based adaptive autopilot: Architecture and software-in-the-loop experiments //IEEE Transactions on Aerospace and Electronic Systems. - 2022. - Т. 58. - №. 5. - С. 4473-4485.

12. Hattenberger G., Bronz M., Gorraz M. Using the paparazzi UAV system for scientific research //IMAV 2014, international micro air vehicle conference and competition 2014. 2014. С. 247-252.

13. Knitter J. et al. Survey of Autonomous Drone Hangars-Opportunities and Challenges for Maritime Platforms //Proceedings of the International Conference on. - 2024. - Т. 2. - С. 81-87.

14. Meier L. et al. Pixhawk: A system for autonomous flight using onboard computer vision //2011 ieee international conference on robotics and automation. - IEEE, 2011. - С. 2992-2997.

15. Guliaev N. The design, construction and implementation of an autonomous outdoor quadcopter using an rpi microcomputer and a multiwii flight controller. - 2017.

16. Koubaa A. et al. Micro air vehicle link (mavlink) in a nutshell: A survey //IEEE Access. - 2019. - Т. 7. - С. 87658-87680.

17. Jiang P. et al. A Review of Yolo algorithm developments //Procedia computer science. - 2022. - Т. 199. - С. 1066-1073.

Гусев Павел Юрьевич, канд. техн. наук, доцент, [email protected], Россия, Воронеж, Воронежский государственный технический университет,

Сокольников Виктор Владимирович, старший преподаватель, Россия, Воронеж, Воронежский государственный технический университет,

Поцебнева Ирина Валерьевна, канд. техн. наук, доцент, ipozebneva@,cchgeu. ru, Россия, Москва, Московский авиационный институт (национальный исследовательский университет)

DEVELOPMENT OF A PROGRAM FOR CONTROLLING FLIGHT ELEMENTS OF AN

UNMANNED VEHICLE USING AN ARTIFICIAL INTELLIGENCE MODEL

P.Yu. Gusev, V. V. Sokolnikov, I.V. Pocebneva

The paper describes the implementation of a program for controlling the flight elements of an unmanned aerial vehicle. An analysis of the use of unmanned aerial vehicles, as well as the prospects for the development of the industry, is conducted. The possibilities of using autonomous flight elements are considered. To achieve this goal, the following tasks are considered: selection of implementation tools, development of an algorithm for controlling flight elements, software implementation of the algorithm. The possibilities of using software and hardware platforms in implementing autonomous flight are considered in detail.

Key words: unmanned aerial vehicle, autonomous flight, MA VLink.

Gusev Pavel Yuryevich, candidate of technical sciences, docent, [email protected], Russia, Voronezh, Voronezh State Technical University,

Sokolnikov Viktor Vladimirovich, senior lecturer, Russia, Voronezh, Voronezh State Technical University,

Potsebneva Irina Valerievna, candidate of technical sciences, docent, [email protected], Russia, Moscow, Moscow Aviation Institute (National Research University)

i Надоели баннеры? Вы всегда можете отключить рекламу.