Стабилизация полета без гироскопов или ИК-сенсоров
Представляю Вам наши первые практические результаты работы системы распознавания образов применительно к FPV. Программа (автор Алексей Максимов) умеет в реальном времени обрабатывать видеопоток с курсовой камеры и вычислять крен и тангаж для стабилизации положения. Вот прогон программы по заранее записаным роликам. [video=youtube;zy8dT9TeVrk]horizon1.ogv"]YouTube- horizon1.ogv[/url] и [url="www.youtube.com/watch?v=zy8dT9TeVrk[/video] В перспективе планируется и 3D-расчет окружения.
Более подробно о работе здесь www.1slon.ru/video_hor.htm
Мне кажется, что на земле обрабатывать и посылать на модель сгнал нет смысла. Пилот и так видит как летит модель… А вот при потере сиглала выровнять модель - это бы не помешало. И компьютеры в самолет пихать, хоть и маленькие, не очень хочется… Тут на оборот хочется уменьшить вес и стоимость… Разве что эта разработка для большого БПЛА, тогда может и целесообразно.
Забавно, но какая вычислительная мощность для этого нужна? сможете ли упаковать лоигку в Альтмегу? Если в кадре только небо, то как узнать линию горизонта? Если вы летаете ночью и видите только огни, она определить? Мне кажется её надо рассматривать как дополнение к гироскопам и ИК - сенсорам
Стремно все это. Какой смысл в этом я так и не понял 😦 если стоит автопилот, а тут еще нужен комп. Или это планируется как замена автопилота?? Я не думаю что данное устройство сможет заменить автопилот.
Любопытно. А зимой, когда граница меж небом и землей не столь очевидна? А в тумане или облаке как? По сути, Вы делаете аналог глаз пилота. Но насколько я понимаю, авиагоризонт на самолетах используется именно тогда, когда визуально пилот ничего распознать не может.
Честно сказать лично я не вижу будущего у данного устройства, т.к 3D-расчет окружения это будет не очень дешёвый вариант и что не мало важно только в будни и в хорошую погоду. Тут получается что это некое дополнения к автопилоту, вот только зачем такое дополнение. А что будет происходить если видео сигнал теряется на 0,5-3 секунды а в этот момент программа делала маневр (а такое бывает очень часто)??
Во 2ом клипе подлетнули неплохо!
Вот бы замутить телеметрию и автопилот на данных миникомпьютерах…www.toradex.com/Products/…/Colibri_PXA270
beagleboard.ru/chto-takoe-beagle-board
Забавно, но какая вычислительная мощность для этого нужна? сможете ли упаковать лоигку в Альтмегу? Если в кадре только небо, то как узнать линию горизонта? Если вы летаете ночью и видите только огни, она определить? Мне кажется её надо рассматривать как дополнение к гироскопам и ИК - сенсорам
у меня есть проектик на 8-ми ногом CY8C24123A,
4MIPS 8bit контроллер вполне справляется с синхронизацией и сравнением отдельных строк
в моем случае требовалось засекать движение и вести запись “когда надо”
я так понимаю с 2 или 3 камерами качество стабилизации вырастет на порядки
Это получится оптический горизонт, а уже понятно, что на ИК лучше.
Но если будет применена крутая математика - то может что и годное для использования и выйдет.
Даже не знаю как прокомментировать…
В принципе интересно. Как только удастся перенести все это на борт. То дейсвительно может заменить а еще лучше дополнить обычные модельные гироскопы.
Проблему вижу в след. С креном система справляется на ура. А вот с тангажом у нее проблемка… Это хорошо видно при сравнивании низких и высоких полетов.
то что это будет работать и при тумане и при облачности это ясно, была бы граница цветовая…
Brandvik - а там можно уже и отримировать ее для тангажа… и потом система показана на роликах у которых уровень горизонта убегает за экран, задача системы в реалтайме как раз что бы горизонт был почти всегда в “экране” при стабилизации.
интересно как будет работать при снежном покрове и облачности, где не будет четкой границы.
весь вопрос в надежности видео канала, на время пока эта штука на борт не перенесена…
вопрос разработчику. на каком компе производились вычисления, и расчет производился на “лету”? и еще. в левом верхнем углу FPS как расчет делали? я это к чему… частота кадров видеонабора, ну пусть к примеру будет 25 кадров в сек, у вас FPS в районе 15… идет пропуск кадров из за нехватки мощности или что то другое? и делаете ли вы межкадровое сравнение… (например как в некоторых кодеках видеосжатия)?
Это получится оптический горизонт, а уже понятно, что на ИК лучше.
Но если будет применена крутая математика - то может что и годное для использования и выйдет.
Назад в будущее: берём оптический автопилот за 50 $ , добавляем ко всем его недостаткам: неработе в сумерки, против солнца, над бликующей водой, зимой…, цену, умноженную на 100 (камера +канал связи дуплексный+ компьютер в "полевом "исполнении), делим надёжность на 10 и- вуаля, (как говаривает Тим) получаем никому не нужное, но очень крутое изделие 😃
Не обижайтесь- ничего личного, просто всё опробовано на собственной шкуре 😦
Наверное, я не совсем точно назвал данную тему. Вероятно, ее стоило назвать “Технологии распознавания образов в реальном времени для FPV”. То, что вы видите на роликах - первые шаги нашей реалтаймовой обработки, и конечно была выбрана самая простая задача. Никаких коммерческих устройств пока не планируется.
Но много интересного таит в себе возможность иметь на борту мощный вычислитель со стандартным UNIX-ом.
просто всё опробовано на собственной шкуре 😦
Если Вас не затруднит - можно подробнее, проектов такого рода в открытом доступе немного.
вопрос разработчику. на каком компе производились вычисления, и расчет производился на “лету”? и еще. в левом верхнем углу FPS как расчет делали? я это к чему… частота кадров видеонабора, ну пусть к примеру будет 25 кадров в сек, у вас FPS в районе 15… идет пропуск кадров из за нехватки мощности или что то другое? и делаете ли вы межкадровое сравнение… (например как в некоторых кодеках видеосжатия)?
К сожалению, я обеспечиваю только аппаратную сторону вопроса, но обязательно передам Ваши вопросы Алексею Максимову (разработчику ПО), т.к. он здесь не бывает.
Без обид, но это старо как мир 😃
Сейчас в моде SIFT-подобные алгоритмы, типа такого:
www.transas.ru/vision/ai/navigation/
Вероятно, вы нас с кем то путаете avia.transas.ru/company/😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂
Представляю Вам наши первые практические результаты работы системы распознавания образов применительно к FPV
А можно поподробнее про используемый алгоритм ?
Я полагаю что стадии обработки изображения следующие:
- RGB -> grayscale
- grayscale -> monochrome (thresholding ?)
- математическая морфология (оконтуривание)
- анализ геометрии полученных объектов, рассчет их протяженности, соответственно самый узкий и протяженный объект - это и есть линия горизонта.
- Получаем уравнение прямой по методу наименьших квадратов (или используем преобразование Хафа) и берем оттудова угол.
Вообще, очень заинтересовал меня проект, если интересно, у меня есть кое какие наработки в области операций автоматического threshold’инга и модуль для быстрой работы с бинарными изображениями (мат. морфология и рассчет параметров объектов). Могу поделиться, может повезет, и будет работать в реал тайм 😃
Если Вас не затруднит - можно подробнее, проектов такого рода в открытом доступе немного.
Очевидно, я несколько туманно выразился: я не пытался применить обработку видеосигнала для стабилизации, поскольку видел работу гораздо более простых (по начальным условиям) программ например- распознавание лица в толпе, которые “сбоят” в казалось бы очевидных ситуациях.
Те вычислительные ресурсы, которые для этого требуются- невозможно иметь на борту самолёта “модельных” размеров.
Да и не нужно.
А сам принцип выделения линии горизонта по картинке- я описал его недостатки на примере автопилота АР2300 (“Термик”, Красногорск), который потом делал Graupner а ещё более потом- Futaba. 😦
У всех эти проблемы были одинаковы.
Т.е. оптический (в видимом диапазоне) “горизонт”- делать можно только для интереса.
На практике он - не работает 😦
Я полагаю что стадии обработки изображения следующие:
- RGB -> grayscale
- grayscale -> monochrome (thresholding ?)
- математическая морфология (оконтуривание)
- анализ геометрии полученных объектов, рассчет их протяженности, соответственно самый узкий и протяженный объект - это и есть линия горизонта.
- Получаем уравнение прямой по методу наименьших квадратов (или используем преобразование Хафа) и берем оттудова угол.
Если это, действительно, так, то ой. Полет над морем, над руслом реки, длинным ангаром, микрорайоном с длинными многоэтажкками, рядом с высокой одинокой многоэтажкой - ой.
Думаю, алгоритм гораздо проще.
Потом, этот метод работает тогда, когда в поле зрения камеры контрастно виден горизонт. А если в поле зрения камеры, т.е., FPV-пилота контрастно виден горизонт, то ему и искусственный горизонт не очень нужен.
Вот само распознавание образов, захват контрольных точек, вычисление параллакса при перемещении аппарата, привязка позиции аппарата к контрольным точкам - гораздо интереснее, и, судя по вашим заявлениям, вы с этим можете справиться.
На мой ламерский взгляд, математика там не такая уж неподъемная.
Как уже сказал blade, нет никакого смысла подменять работу со специальными датчиками обработкой видеокартинок, требующей идеальных условий видимости.
Что касается самой обработки видео, то я лет 15 назад в НТЦ Модуль занимался распознаванием движущихся целей на движущимся фоне на бортовом многопроцессорном компьютере с распределённой памятью для McDonnell Douglas. Для современного бортового оборудования это тем более вполне возможно.
Если это, действительно, так, то ой. Полет над морем, над руслом реки, длинным ангаром, микрорайоном с длинными многоэтажкками, рядом с высокой одинокой многоэтажкой - ой.
Далеко не факт, над морем - х.з. я море ни разу в жизни не видел 😃, хотя там гоизонт довольно четко прослеживается, блики от воды лечатся поляризационным фильтром.
На мой ламерский взгляд, математика там не такая уж неподъемная.
Для одной камеры - да, задача вполне подъемная, нахождение feature points - активно используется в glyph tracking’e, другая адская задача - отфильтровать кучу полученных точек и сопоставить с трехмерным изображением реальной местности - это уже из серии matrix has you, другими словами - вынос мозга.
судя по вашим заявлениям, вы с этим можете справиться.
Очень могет быть, если бы это было моей основной работой…, как хобби я луше самолеты буду строить и запускать, а то и так 3 проекта зависли, надо доделывать и в воздух поднимать.
А можно поподробнее про используемый алгоритм ?
Вообще, очень заинтересовал меня проект, если интересно, у меня есть кое какие наработки в области операций автоматического threshold’инга и модуль для быстрой работы с бинарными изображениями (мат. морфология и рассчет параметров объектов). Могу поделиться, может повезет, и будет работать в реал тайм 😃
Если не секрет - из-за чего интерес к этой системе (определение горизонта по камере)?
Просто, я такую систему на моделях обкатывал еще в 2005 году… Программа написана на Delphi, для захвата видео используется готовый компонент VideoGrabber. Видео заводится через tv-тюнер AverMedia, который втыкается в PC-CARD разъем. Разрешение ввода 320х240.
Все это крутилось на ноутбуке IBM thinkpad 600e (400мгц проц) под 2000 виндой в реалтайме.
Соответственно, на авиамодели стояла мелкая cmos камера со 100мвт передатчиком, на земле - приемник и ноут. На ноуте писался в реалтайме лог файл со значениями крен/тангаж.
Глобально была идея комплексировать данные с этой проги с данными от пирометров (copilot), чтобы компенсировать засветку от солнца.
Практического применения система не нашла - завязывать управление бпла на видеоканал - безумие, а ставить компьютер на борт - не выгодно с точки зрения массогабаритных параметров. Проще на мемсах гировертикаль сделать.
Другое дело - то что придумали в Транзасе. Теоретически, можно корректировать бортовую ИНС на мемсах при помощи данных с той проги.
Тут уже не жалко озадачиться установкой мощного бортового компьютера - так как потенциально это даст возможность летать без GPS, а под эту тему есть “правильные” клиенты (военные тут не причем 😃 )…