? Проблема: GPS нет, дрейф есть
Представьте: квадрокоптер летает в ангаре, на складе или в квартире. GPS не ловит, а барометр и гироскоп дают дрейф в позиции. Что остаётся?
Оптический поток — камера, направленная вниз, отслеживает движение по текстуре пола. Это работает, но:
При интегрировании скорости накапливается ошибка.
Даже при возврате в начальную точку система продолжает показывать смещение.
Нет механизма сброса дрейфа.
Решения вроде PX4 используют EKF2, но они сложны и требуют точной калибровки. Я захотел что-то проще и понятнее.
? Идея: «верёвочная лестница»
Плюс верёвочной лестницы — ты всегда понимаешь, на какой ступеньке находишься.
Применил это к визуальной навигации:
Стартовая точка — первая ступень.
При удалении — добавляю новые ступеньки (контрольные кадры).
При возврате — если текущий кадр совпадает с какой-то ступенькой — обрезаю всю историю после неё.
Если вернулся к первой ступеньке — система знает: я дома.
? Как это работает
1. Старт
Камера захватывает первый кадр. Извлекаются ключевые точки (через cv2.goodFeaturesToTrack
). Это — нулевая ступень.
2. Движение вперёд
При каждом кадре:
Отслеживаю точки через
cv2.calcOpticalFlowPyrLK
.Сравниваю текущее положение с стартовой точкой.
Если удаляюсь от старта — добавляю новую ступень.
3. Возврат
Если текущий кадр совпадает с промежуточной ступенью — удаляю всё, что после.
? Выход в offsets.json
Система пишет файл, который читает контроллер.
✅ Плюсы:
Простота: только OpenCV и Python.
Нет накопления ошибки при возврате.
Работает без GPS, IMU, LiDAR.
Легко интегрируется.
❌ Минусы:
Требует текстурированной поверхности.
Пока нет поддержки поворота.
Ограничен радиусом видимости точек.
? Код: просто и понятно
Полный код — в репозитории:
? github.com/VohminV/rope-ladder-tracker
Основная логика — в функции rope_ladder_waypoint_management.
? Заключение
rope-ladder-tracker — это новый взгляд на визуальную навигацию: не как на непрерывное интегрирование, а как на структурированное движение по карте.
#беспилотники #opencv #python #компьютерноезрение #квадрокоптер #роутинг #роутингбезgps #rope-ladder-tracker
Комментарии (7)
Plesser
30.07.2025 05:06а что за дрон что ты на нем питон запустил?
ps
кстати dji mini и выше умеют по optic flow прекрасно возвращаться? демонстрировали видео где дрон вылетел из подземного гаража полетал и потом прекрасно вернулся к точке старта.
feat_branch
30.07.2025 05:06Как минимум mini 1 и 2 в такое не умеют, про более новые - не в курсе, их уже не было во владении
vvbob
30.07.2025 05:06Думаю что эта тема будет активно развиваться, война как обычно, является сильным катализатором такого рода изысканий.
yuriy_milodov
Классная идея. Просто, понятно, работает без GPS. Для indoors — топ, жду поддержку поворотов и улучшений. Спасибо за код!