Как заставить дрон лететь за целью
В этой статье вы подключите Raspberry Pi с системой автонаведения на базе YOLO к автопилоту ArduPilot через протокол MAVLink. Рассмотрим настройку связи, режим GUIDED и проверим, как нейронная сеть начинает управлять полетом дрона, передавая команды автопилоту.
Администратор

Схема наведения FPV-дрона с компьютерным зрением
Эта схема отражает базовый конвейер наведения современного FPV-перехватчика с компьютерным зрением. Но внутри каждого блока происходит довольно много процессов. Разберем их по порядку.
Камера
│
▼
YOLO
│
▼
ByteTrack
│
▼
Модуль наведения (Guidance)
│
▼
PX4 / ArduPilot
│
▼
Моторы
1. Камера
Это единственный источник информации о цели.
На каждом кадре камера получает изображение, например:
1920×1080
60 FPS
или
640×640
120 FPS
Каждый кадр отправляется в нейросеть.
Что происходит
Мир
↓
Объектив
↓
Матрица
↓
Цифровое изображение
На этом этапе дрон вообще ничего не понимает.
Для него это просто массив пикселей.
2. YOLO
YOLO отвечает только за обнаружение объектов.
На вход получает изображение:
████████████
████████████
████████████
На выходе выдает список найденных объектов.
Например:
Drone
x = 312
y = 225
ширина = 84
высота = 70
confidence = 0.94
или
[
Drone,
Bird,
Helicopter
]
То есть YOLO отвечает только на вопрос:
Что я вижу?
Она не знает, что это тот же самый объект, что был секунду назад.
3. ByteTrack
Это уже трекер.
Он получает результаты YOLO.
Например.
Кадр №1
Drone
x=300
y=200
Кадр №2
Drone
x=306
y=205
Кадр №3
Drone
x=314
y=211
ByteTrack говорит:
Это один и тот же объект.
И присваивает ему ID.
Drone #5
Следующий кадр
Drone #5
Следующий
Drone #5
Теперь система понимает:
цель движется вправо
скорость растет
траектория такая-то
То есть ByteTrack отвечает на вопрос:
Где сейчас находится та цель, которую мы уже нашли?
4. Guidance (модуль наведения)
Это самый интересный блок.
Именно здесь принимается решение:
куда лететь.
Он получает:
Цель
x=315
y=240
скорость цели
направление
Также получает от автопилота:
скорость дрона
курс
тангаж
крен
высоту
После этого вычисляет ошибку.
Например, центр изображения:
320
240
Цель:
350
220
Ошибка:
+30 по X
-20 по Y
Далее Guidance решает:
лететь вправо
немного вверх
Но современные системы идут дальше.
Они могут вычислять:
угловую скорость
ускорение
будущую позицию цели
точку перехвата
Именно здесь появляются алгоритмы:
- PID
- Pure Pursuit
- Proportional Navigation (PN)
- Augmented PN
- MPC (Model Predictive Control)
Именно этот блок превращает координаты цели в команды управления.
5. PX4 / ArduPilot
Guidance не управляет моторами напрямую.
Он лишь говорит автопилоту:
Roll +5°
Pitch -8°
Yaw +2°
Throttle 63%
Дальше вступает PX4.
Внутри него работают десятки PID-регуляторов.
Например:
нужно получить крен 5°
PX4 смотрит на IMU.
Получает:
крен сейчас
2°
И увеличивает обороты одного двигателя.
Через несколько миллисекунд:
крен = 5°
Получается очень быстрая замкнутая система.
6. Моторы
Последний этап.
PX4 передает команды ESC.
ESC изменяет обороты.
Motor1
6400 RPM
Motor2
6150 RPM
Motor3
6700 RPM
Motor4
6200 RPM
Изменение тяги создает:
крен
тангаж
рыскание
ускорение
Дрон начинает менять траекторию.
Полный цикл
Каждый кадр проходит через весь конвейер:
Камера
│
▼
Изображение
│
▼
YOLO
│
▼
Найдена цель
│
▼
ByteTrack
│
▼
Это та же самая цель
│
▼
Guidance
│
▼
Рассчитать команду управления
│
▼
PX4
│
▼
Преобразовать команду в обороты двигателей
│
▼
ESC
│
▼
Моторы
│
▼
Дрон изменил траекторию
│
▼
Новый кадр камеры
│
└───────────────────────────────┐
│
▼
следующий цикл
Важное уточнение
Эта схема хорошо подходит для понимания, но в реальных перехватчиках обычно есть еще несколько обязательных модулей между ByteTrack и Guidance:
Камера
│
▼
Предобработка изображения
│
▼
YOLO
│
▼
ByteTrack
│
▼
Оценка состояния цели
(скорость, ускорение, фильтр Калмана)
│
▼
Логика выбора цели
(Target Selection)
│
▼
Наведение (Guidance)
│
▼
Контроллер управления
(PID / PN / MPC)
│
▼
PX4 / ArduPilot
│
▼
ESC
│
▼
Моторы
Именно такая архитектура характерна для современных автономных перехватчиков: обнаружение → сопровождение → оценка состояния → принятие решения → наведение → управление полетом.






