Автономное управление дроном


<!-- <div class="gallery"> <p align="left"> <a href="https://vk.com/doc255448427_669694981?hash=MTE0lSz5X59NvMOLIt0KkYVFtRbug1VinmQfCEK9R10&dl=NV3FF0EsXyuVGv6Bihk4AGMz1p4s90l8yi6nO6rkQYk" ><img class="" src="https://ya-rostislav.ru/wp-content/uploads/2019/10/Ryze-Tech-Tello-Boost-Combo.jpg" alt="" width="100%"/></a> </div> --> ### Проект направлен на разработку системы, которая позволит автоматически обнаруживать заданные объекты при помощи беспилотного летательного аппарата. **Основные задачи проекта:** 1. Разработка программы для управления дроном в мануальном режиме. 1. Разработка алгоритма детектирования объектов на основе обработки и анализа изображений. 1. Разработка программы для автономного управления в зависимости от получаемых с камеры данных. 1. Тестирование системы на различных локациях и в различных условиях. Для реализации проекта был выбран дрон – DJI Tello, так как он обладает возможностью передачи информации с камеры по wi-fi и прост в управлении. <div class="text-center"> *Схема взаимодействия с дроном* ![](/source/editor/tello_20231217005533614207.png) </div> **Ручное управление** Чтобы тестировать базовые летальные возможности дрона был разработан ручной режим управления. В нем дрон устанавливает соединение и ожидает команды. <div class="text-center"> ![](/source/editor/2_20231217010957774563.png) </div> **Разработка алгоритма детектирования** Алгоритм принимает изображение и цвет объекта. Затем начинается процесс бинаризации, таким образом получается черно-белое изображение, где белые пиксели обозначают объекты указанного цвета. Далее применяется контурный анализ и фильтрация шумов, после чего находится координата центра искомого объекта. Для реализации данного алгоритма был выбран Python и библиотека OpenCV для компьютерного зрения. <div class="text-center"> ![](/source/editor/1_20231217011008360221.png) </div> **Разработка программы для автономного управления** Чтобы получить изображение с дрона, программа запущенная на ПК, отправляет запрос. Затем проанализировав изображение по алгоритму указанному выше, вычисляется необходимый угол поворота в зависимости от удаления центра объекта от центра кадра и посылается соответствующая команда. <div class="text-center"> ![](/source/editor/3_20231217010947829078.png) </div> **Тестирование системы на различных локациях и в различных условиях** Проект тестировался в закрытом помещении в учебной аудитории при разном освещении и показал хорошие результаты.