Rope-Ladder Tracker — от идеи к стабильной системе
PS. Респект автору
Возврат квадрокоптера домой по оптическому потоку — без GPS, без MCU. Только камера и умная логика.
Этот проект реализует систему визуального возврата к стартовой точке для квадрокоптера с использованием камеры, направленной вниз. Вместо классического интегрирования оптического потока, применяется оригинальный алгоритм "верёвочной лестницы" (rope ladder), который позволяет надёжно возвращаться домой даже при дрейфе и шуме.
🚀 Зачем это нужно?
Традиционные системы:
GPS — не работают внутри помещений.
Оптический поток + инерциальная навигация — страдают от дрейфа.
Наше решение:
✅ Работает без GPS и внешних систем
✅ Устойчиво к дрейфу и шуму
✅ Обнаруживает возврат в стартовую точку
✅ Сохраняет относительное смещение для контроллера
✅ Реализовано на чистом OpenCV и Python
🔧 Как это работает?
🪜 Алгоритм "верёвочной лестницы"
Стартовая точка — фиксируется как первая.
При удалении от старта — добавляются новые "ступеньки" (контрольные кадры).
При возврате — система находит ближайшую ступень и обрезает историю после неё.
При возврате к старту — отправляется смещение (0, 0) → квадрокоптер останавливается.
💡 Это как спуск по верёвочной лестнице: вы можете вернуться на любую ступень.
📦 Вход и выход
Вход: видео с камеры (например, 640x480, 30 FPS).
Выход: файл offsets.json с полями: { "x": 45, "y": -30, "angle": 0.0 }
Где x, y — смещение в пикселях от текущей позиции до стартовой.
📝 Управление
Создайте файл tracking_enabled.flag с содержимым 1, чтобы включить запись в offsets.json.
Высоту можно задать в height.txt (в метрах), хотя в текущей версии она не используется (работа в пикселях).
🖼️ Пример работы
2025-07-30 09:52:50,117 [INFO] 🎯 ВОЗВРАТ В СТАРТ! (dist=3.7px)
2025-07-30 09:52:50,469 [INFO] 📊 25.4 FPS | dx=+0.000 | dy=+0.000 | WPs=7
🤝 Как использовать с контроллером
Другой скрипт (например, управляющий моторами) читает offsets.json и:
Если x=0, y=0 → квадрокоптер дома.
Иначе → корректирует положение по x, y.
📸 Требования к камере
Направлена вниз. Хорошее освещение. Текстурированная поверхность (не однородная). Рекомендуется: 640x480, 30 FPS.
📚 Будущее развитие
Поддержка поворота (через гистограммы или угол между точками).
Фильтрация смещений (EMA, Калман).
Визуализация траектории.
Интеграция с ROS2.
Работа с LiDAR вместо предполагаемой высоты.
Полный код — в репозитории:
👉 github.com/VohminV/rope-ladder-tracker
Озеро
Помощь с дроном Dji Mavic
Пост без рейтинга. Крик нелепого отчаяния. Не могу купить лекала на Dji Mavic 3 PRO. Etasy и остальные сервисы не принимают или не хотят принимать карты от всяких сервисов вида Visa PrePaid, Google Play или прочей ерунды. Wanttopay и прочие сервисы охотно продают мне карты по 150 рублей за доллар, но и это не помогает. На Easty лекала для Чехии стоит всего 7$ но и его я не могу никак заполучить. В общем посоветуйте что-нибудь, пожалуйста. Ну или если у кого они есть - договоримся.
Как думаете, есть будущее за такими машинами?
В целом офигенная концепция одиночного, индивидуального, свободного полёта.
Время полёта 20 минут, скорость чуть больше 100 км в час.
Но с другой стороны, безопасность. Хоть компания производитель и оснастила эти дроны парашютом, но ведь он поможет только на большой высоте.
Мне кажется что всё равно, эти машины найдут своих экстремалов на всю голову, готовых гонять на них как на питбайках, только по небу.
Кстати, у них есть ещё такая же вундервафля как в звёздных войнах)