HD FPV на Raspberry Pi. Работа над ошибками

    В предыдущей статье я рассказал о возможности полетов HD FPV на базе Raspberry Pi с организацией вайфай моста с помощью модулей Ubiquiti Bullet M2 HP.

    Первый блин вышел комом. Результат эксперимента получился, как говорится: «третий сорт — не брак», с некоторыми серьезными оговорками и «граблями», но основная цель эксперимента была достигнута. Идея получить HD FPV по проводам вайфаю была успешно опробована.
    Как я и предполагал, публикация на хабре не только непомерно завышает ЧСВ повышает карму, но и позволяет услышать мнение хабрасообщества и получить очень ценные рекомендации и дельные советы. В комментариях к статье советы были получены, чуть позже осмыслены и третьего дня реализованы.


    Что было реализовано, исправлено и дополнено


    • Эксперимент 1. Используемые антенны с круговой поляризацией. «клевер» на земле и на борту.
    • Эксперимент 2. Используемые антенны с линейной поляризацией. На земле секторная 70град х 70град, на борту «штырь».
    • Запись принимаемого видеопотока на земле, для дальнейшего анализа.
    • Борт с полетными «мозгами» Ardupilot 2.0 для стабилизированного полета. В случае потери связи (визуальной, видео, РУ) с бортом, возможность автоматического возврата на базу.
    • Исправлен досадный баг ДНК прошлого эксперимента. Оба вайфай модуля жгли работали на полную мощность 28dBm.


    Матчасть


    Антенное хозяйство на земле. В зависимости от эксперимента к ВЧ разъему вайфай модуля подключался, либо «клевер», либо секторная антенна.


    Борт со «штырем»


    Борт с «клевером»


    Ардупилот 2.0


    Много видео


    Тестовый полет на штыревой антенне, на земле секторная.


    Тестовый полет на «клеверах»


    Результаты оказались на удивление весьма неплохие. Объективно «клевер» отработал лучше, поэтому все дальнейшие тесты проводились на «клеверах».

    Тестовые полеты на дальность проводились в двух разрешениях HD 1280x720 и 800x600
    1280х720


    800x600

    За это разрешение прошу не ругать… мол обещано HD, а тут не оно. Исключительно в целях эксперимента. В дальнейшем будут тесты вплоть до 320х200

    Радиус уверенного приема перевалил за 700 метров!


    Решили протестить Full HD
    1920x1080

    Результат немного предсказуем, недалече… но РАБОТАЕТ!

    Еще тесты на дальность и посадка по монитору. Тут придется поверить на слово… пилот действительно сажал пенолет силой мысли глядя в монитор наземного компьютера.
    800x600


    Выводы и ближайшие планы


    По сравнению с прошлым экспериментом результат значительно улучшился. Система работает и есть куда летать копать дальше. Вопрос взлетит или не взлетит уже не стоит. Однозначно HD FPV взлетел!

    • Более детально продумать расположение антенны на борту.
    • Протестировать вариант с потолочной антенной линейной поляризации (она уже ожидает на почте).
    • Протестировать работу системы на высоте — это потребует переделки пенолета, т.к. он не шибко силен и в высь забирается очень печально медленно.
    • Опробовать 5.8 ггц модули, тут есть интересное предложение от хабраюзера kunks.
    • Отдельным фронтом работ открываются возможности по реализации OSD — наложение полетной информации на транслируемую картинку. Пилоту уже очень надо наводить борт на цель получать высоту и напряжение бортовой АКБ.
    • Интересно построить GPS треки полетов и совместить их с видео, для более глубоких экспериментов и анализа эффективной дальности.


    В наличии уже имеется USB GPS, подключал его к малине, NMEA валит так, что не остановить. В наличии решение с подключением гироскопа MPU-9150 по шине I2C к малине, можно конечно требуемые данные получать с Ardupilot… тут вопрос пока открытый.

    P.S. Обещанный замер задержки

    Полетная камера смотрит на большой монитор на котором отображается секундомер, на малом мониторе горизонт завален принятый сигнал по вайфай.

    Фото






    И небольшое видео


    Задержка ~150мс
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 40

      +2
      Ну раз даже сажали пепелац по картинке то вообще красота. Как и ожидалось, основная проблема в линке, всё дело в подходящих антеннах.
        +3
        Осталось потолочную проверить и можно подводить некоторый итог. Меня смущает самопальное изготовление моих клеверов, все таки при больших частотах, нужно очень четко выдерживать геометрию. На коленке пассатижами и без возможности проверить качество полученной антенны… пальцем в небо.
          +2
          У меня вообще всё на 5.8 так что на коленке не прокатит :-) Тут самое главное что скептики уже давно идут лесом, hd fpv — вполне реально.
        0
        Зачёт! Думается, было бы хорошо ещё поставить широкоугольную камеру, чтобы угол обзора был вроде гоупрошного. Практичнее для управления должно быть.
        Ещё не самая простая для реализации мысль, но должно быть полезно: автоматическая подстройка разрешения видео под качество канала связи. Улетел далеко, канал слабый — сбросили качество на минимум, чтобы можно было продолжать управление. Подлетел ближе — вернул качество обратно.
          +3
          С камерой есть особенность, аппаратная камера у малины только такая. Наверное возможен вариант прикрутить еще внешнюю оптику, но в этом направленнии еще не думал. Прикручивание вебкамер не дает такого результата по задержке.
            0
            думаю, прилепить нужную оптику — самый простой вариант) Вон даже на айфоны есть фишай-насадки ))
              0
              Нас на выставке все первым делом спрашивали можно ли HDMI вход сделать. Можно-то можно, тестовые уже делаем, но вот на hdmi выходе у той же гопрохи задержка под две сотни миллисекунд, так что хз есть ли смысл. А вот в качестве курсовой камеры я всё на IMX136 облизываюсь с оптикой, но пока достать не удалось :-(
                0
                а леопарды не продают свои модули?
                  0
                  Продают, но у них колодка для подключения к леопардам, а у нас шлейф. так что нет смысла брать леопардовский и выдирать из него сенсор чтоб к нам подключить, логичнее сами сенсоры найти в продаже где-нить в Китае.
            +3
            Вообще мечтаю о том времени, когда можно будет из дома, подключившись к своему беспилотнику, полетать по всему городу и вернуться обратно на базу, наблюдая весь процесс через FPV...)
              +2
              Еще один повод остаться дома.
                +1
                У меня есть мечта и покрупнее: попилотировать настоящий истребитель)) Но это чуть дороже :D
              +4
              Обещали задержку измерить…
                +2
                А-а-а-а-а… честно забыл. Сыплю голову пеплом.
                  0
                  150 не мало… В контре это вообще стоило жизни иногда…
                    +1
                    Фишка в том, что с другой стороны баррикады воздушного боя задержка будет аналогичной, так что тут на равных. А вот земная твердь и гравитация… она да, без задержек, тут увы…
                      0
                      Учитывая что многие летают с гопрохой или брелками (типа #808) в качестве курсовой камеры (а у них на AV выходе задержка под сотню) — вполне даже ништяг.
                    +3
                    Обещал… измерил!
                      0
                      Спасибо! Это 720p?
                        0
                        Да, оно самое.
                    +1
                    Попробуйте ещё изобразить quadrifilar helix антенну. У неё диаграмма направленности — полусфера, соответственно, усиление больше, чем у клевера.
                      0
                      Можно подробнее… желательно со ссылками. На что её принимать?
                        0
                        Отличный сайт про этот тип антенн: www.jcoppens.com/ant/qfh/index.en.php, там есть калькулятор и примеры собранных антенн. Её можно поставить на борт, принимать будет плохо только при полёте вверх ногами, что не характерно для FPV :)

                        Вы можете собрать примерно как в этой статье: lea.hamradio.si/~s53mv/navsats/analog.html, или как тут: www.jcoppens.com/ant/qfh/fotos_gps.en.php.
                          0
                          Совсем забыл добавить: главное, поляризацию сделать в ту же сторону, что у вашего клевера.
                            0
                            Я так понимаю в идеале 2 квадрифиляра на земле и на борту. На земле смотрит вверх, на борту соответственно вниз. Либо на земле хеликс на поворотной станции наведения.
                              +1
                              Я подозреваю, что на земле лучше всего что-то довольно узконаправленное, с автоматическим наведением по GPS координатам борта (например, патч-панель с круговой поляризацией, или хеликс). Можно ещё на земле приладить вторую антенну, какой нибудь клевер или хеликс, чтобы на близком расстоянии всё работало. Но тут с wifi можно случайно яму себе выкопать, если вдруг борт начнёт ориентироваться на сигнал с этой слабой антенны, то скорость передачи может резко упасть.
                      0
                      Ну диполь же а не штыревая антенна ;-)
                        +1
                        Я тоже сначала думал, что диполь… а потом присмотрелся а там «штырь», да еще и пластмассовый… истинно говорю.
                        –2
                        Не думали сделать несколько самолётов с точками доступа в MESH сети которые автоматически летают по кругу для ретрансляции и соответственно основной аппарат в их зоне? Задержки конечно будут больше чем напрямую, но зона полётов вырастет.
                          –2
                          На UniFi AP AC Outdoor вероятно можно даже с роумингом сделать воздушную сеть. Хотя это не обязательно, достаточно двухдиапазонных репитеров.
                          0
                          Проверил на том же секундомере — 100-150 мс.

                          Кстати, проверял тут аппу 2.4 и вифи линк 2.4 — всё отлично пашет. Правда, проверял в квартире, самолёт на кухню относил (две бетонные стенки). Если аппу вплотную к вифи роутеру поднести — сервы начинают рывками на движения осей реагировать. Но на видео вообще никак не сказывается, только управление лагает. Если отойти на метр от роутера — становится норм. Так что возможно что и на поле они уживутся.
                            0
                            Блин, не успел дописать как время истекло, добавлю отдельно.

                            По поводу антенн — мне посоветовали квадрифилярную на землю, а четырёхлепестковый клевер на борт. Главное чтоб у них поляризация одинаково закручена была (левая или правая). Клевер всенаправленный, так что на борту норм, а вот квадрифилярная (она же хеликс, тут уже упоминали) направленная, но угол неплохой (около 40 градусов вер/гор).
                              0
                              У QFH можно направленность регулировать. Но дальность всё равно низкая будет — антенна не даёт почти никакого усиления. Если хотите на пару километров улететь — придётся городить базовую станцию с поворотной направленной антенной, типа вот такой: www.rcgroups.com/forums/showpost.php?p=13108758&postcount=14.
                            0
                            О! Наверное, я вас в Буграх видел недавно :-)
                            Вопрос такой: легко ли на винде получить это видео?
                              +1
                              Gstreamer для винды вроде есть, так что теоретически наверное не проблема, практически пока этим вопросом не озадачивался.
                                0
                                Всё так же как и под линухом, только элемент отображения не xvimagesink а d3dvideosink.
                                  0
                                  У gstreamer'а есть баг, который проявляется на винде, видяшках Nvidia и некоторых колорспейсах. Заключается в невозможности воспроизвести видео шире 512 пикселей.
                                  Сам бы подумал, что фигня, если не бы не столкнулся лично.
                                  Так что, отвечая на вопрос: на некотрых компах получить такое видео крайне нелегко :(
                                    0
                                    Ноут, винда 7 x64, видюха GT640M — 720p полёт нормальный. Для нормального колорспейса в конце элемент ffmpegcolor указывать и всё норм. Ну или videoconvert (для гстримера 1.x)
                                      –1
                                        0
                                        Ваш пруф про гстример 1.x, я его не использую.

                                        Стабильный гстример 0.10, вот моя цепочка виндовая. Принимает и показывает видео 720p. Проверенная на двух компах с семёркой и одном на XP.

                                        e:\gstreamer-sdk\0.10\x86_64\bin\gst-launch-0.10 udpsrc port=3000! «application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\»Z2QAKK2EBUViuKxUdCAqKxXFYqOhAVFYrisVHQgKisVxWKjoQFRWK4rFR0ICorFcVio6ECSFITk8nyfk/k/J8nm5s00IEkKQnJ5Pk/J/J+T5PNzZprQCgC3I\,aO48sA\=\=\", payload=(int)96, ssrc=(guint)321130676, clock-base=(guint)96808957, seqnum-base=(guint)33742"! queue! rtph264depay! ffdec_h264! queue! d3dvideosink sync=false

                                Only users with full accounts can post comments. Log in, please.