Хирургия wifibroadcast и Шеф-Пилот 2

В последнее время много идет разговоров насчет HD-видеолинка на технологии wifibroadcast. У одних решение работает сразу, у других не заводится. Решили и мы подробнее посмотреть что это за зверь и доработать под наши задачи.

Начал я эксперименты с того, что взял в чистом виде прошивки автора. Кто не в курсе - автор выложил готовые образы карточек для бортовой и наземной частей решения, скачать можно вот тут:befinitiv.wordpress.com/2015...pv-image-v0-4/ Образ одинаковый для земли и неба. Та часть которая детектирует у себя камеру становится небом и стримит видео, а часть без камеры начинает его принимать.

Тесты пешком
Было решено опробовать два варианта вайфаек. Первый - tp-link WN722N, частота 2,4 ГГц. Второй - Alfa AWUS 051NH v2, с поддержкой 5 ГГц.
Итоги такие:
2,4 ГГц: WN722N на борту (антенна 5 дби вместо родной 2 дби), WN722N на земле (антенна 5 дби вместо родной 2 дби). До полного развала картинки удалось уйти на 350 метров.

5 ГГц: AWUS 051NH v2 на борту и на земле, родные двухдиапазонные антенны на 5 ДБи. До полного развала картинки – 950 метров.

Результаты обнадежили, поэтому решено было продолжить изыскания.

Влияние антенн на видео
У нас во всех конфигурациях были штыревые антенны с линейной поляризацией. А это значит, что при кренах борта у нас ухудшается прием, а при повороте на 90 градусов практически пропадает. Поэтому я провел несколько экспериментов с разными антеннами, чтобы посмотреть на физику процесса.

- Клевера
У меня был комплект клеверов на 5 ГГц, я прикрутил их к альфам. Самый главный вывод – при любых кренах картинка у меня не рассыпалась. Расплатой за такую стабильность является слабый коэффициент усиления клеверов (для моего комплекта он что-то в районе 1,5-2 дби). Дальность я в этом случае не измерял, так как важно было посмотреть на поведение при кренах.

- Встроенные антенны на платах USB свистков
Также мне было интересно, как поведут себя свистки со встроенными PCB антеннами на плате. Для тестов я взял две свистульки tplink N600 WN3200. Очень забавно, но встроенная скрюченная антенка на плате вела себя примерно как клевер – было абсолютно наплевать, как ориентированы друг относительно друга земля и борт. Чуть позже я из интереса попробовал такую дохленькую связку в воздухе – улететь удалось примерно метров на 70. А ожидал я метров 30. Соответственно если поставить на земле патчик, можно будет выжать сотню-две метров для «низко и близко».

- Короткие штыри 2 дБи
Ну и последний эксперимент – я посмотрел на влияние углов при коротких штыревых антеннах (2 дБи), которые идут в комплекте к WN722N. Они не так бурно реагируют на угол наклона, но при сильных кренах имеется развал картинки.

Вывод нарисовался следующий. Если нужна стабильность при любых кренах борта, и летать нужно недалеко – то на борту должен быть либо клевер, либо короткий штырь. Для тех, кому надо далеко – это штырь 5 дБи. Вариант с 8 дБи подходит для совсем уж редких случаев, когда вы жестко ограничиваете крен борта – узковата у него вертикальная диаграмма направленности.

Real Hardware Divercity
Одним из бонусов технологии wifibroadcast является возможность одновременного приема сигнала несколькими модулями вайфай. Далее софт выцепляет небитые пакеты данных с обеих источников, что существенно снижает «рассыпания» на видео. Так что первый бонус очевиден – мы имеем более стабильную картинку. При этом можно расположить антенны обоих свистков, например, под 90 градусов друг к другу, и при этом снизить потери при сильных кренах борта. Одна из антенн будет ловить всегда чуть лучше.

Второй бонус – нам он был более интересен – решает следующую проблему. Если мы хотим лететь далеко – антенна на земле у нас узконаправленная. И если мы стартуем с самолетом – он начинает делать круги у нас над головой, и совсем не попадает в «лучик». Аналогично с коптером – поднялись ровно вверх на 50 метров, и связь завалилась. Поэтому хотелось бы иметь одну антенну с малой чувствительностью, но возможностью принимать сигнал с любых сторон. Вот тут-то мы получаем то, о чем так долго говорили большевики. На один свисток ставим направленный патч на 15 дБи, на второй – короткий штырь для близких дистанций, или маленький 7дБи патчик от Альфы. Итог – и вблизи связь хороша (с какой бы мы стороны не летали), и на дальность все отлично работает.

Вот как это выглядело на одном из полетов:

Дальность, или про дБм и дБи…
Много интернетной крови было пролито в баталиях по поводу того, какой свисток лучше качает и какие антенны использовать.
Вообще автор у себя в блоге пишет (…wordpress.com/…/relieable-3km-hd-fpv-solution/), что ему удалось улететь на 3,5 Км. При этом на борту была альфа AWUS36NHA, на земле 722 свисток. Фотка его биквад-антенны имеется в блоге. Вывод прост – если получить стабильную картинку по софтовой части, то подбором антенн и свистков можно добиться хорошей дальности. Поэтому эта часть была нами отложена «на сладкое», и мы решили сначала сделать адекватный софт.

Телеметрия MAVLINK и OSD
В первую очередь нам хотелось получить нормальный OSD со всей телеметрией. Поэтому мы портировали мавлинковский ОСД с нашего решения на виртурилке. Телеметрия у нас забирается с АПМ по UART, заботливо пакуется и шлется на землю. Наземная часть ее распаковывает и рисует поверх видео.
Надо сказать, что рисование ОСД оказалось довольно прожорливой процедурой. И если для упаковки и стрима видео на борту достаточно первой малины, то на земле должна стоять минимум вторая Raspberry. В этом случае все данные телеметрии успевают прорисовываться с той частотой, с которой приходят. То-есть если сейчас к наземной малине прицепить HDMI экран или очки, то мы имеем красивое видео с не менее красивой телеметрией.
ОСД накладывается на земле в отдельном слое поверх видео, и не пишется в видеофайл. Выглядит примерно вот так:

- Отдельный канал
В оригинальном решении автор использует один и тот-же канал для передачи видео и телеметрии. И если «что-то идет не так», то пропадает всё. Причем в его случае телеметрия (он забирает ее с Naze32) отправляется пакетами по 1400 байт, даже если полезной информации там всего 10 байт. Мы написали свое решение, которое реализует быстрый и экономный по трафику канал передачи телеметрии. На последних тестах решение себя оправдало – при вылете за границу нормального линка (сигнал на приеме -80 дБм или ниже) видео умирает совсем, а телеметрия продолжает исправно идти – можно лететь «по приборам».

- Титры
Для синхронной записи видео и титров был опробован новых подход – мы постарались записывать ключевую телеметрию в стандартный файл титров. Но всплыла проблема: даже при хорошем линке некоторые кадры из видео выпадают. А телеметрия идет стабильно. В итоге к концу 10-минутного полета появляется рассинхрон между видео и титрами – титры начинают серьезно отставать. Эту фичу пока оставили в качестве экспериментальной

- Телеметрийная строчка, вшитая в видео
Для простоты дальнейшего анализа полетов все-таки не хватало телеметрии, которая «наглухо» вшита в видеофайл. Поэтому было решено в текстовую строчку выписывать ключевые даные – высота, координаты GPS, расстояние до дома и некоторые другие. Типовая реализация такого сшивания оказалась очень тормозной, поэтому Gol пересобрал raspivid, добавив туда нужные нам хотелки.

Двусторонний wifibroadcast
Получение данных с борта это хорошо, но еще лучше когда линк двусторонний. Собственно, сейчас у нас полноценный двусторонний wifibroadcast. Если наземную часть подключить по сети к ноутбуку, то из MissionPlanner или QGroundControl можно установить полноценный линк с APM/Pixhawk на борту. Помимо контроля и управления, это дает возможность записать наземные логи полета.

Малиновое диетическое питание, и вообще о лишних габаритах
Помимо софтовых и железных вопросов, пришлось столкнуться и со спецификой питания для Raspberry. Если вы уже имели дело с малиной, то иногда могли замечать, что в правом верхнем углу экрана иногда появляется и плавно гаснет квадратик, раскрашенный яркими цветами. Появляется он и в консоли, и при работе с GUI. Эта веселая картинка несет грустную весть – малинке не хватает питания. Соответственно, и все USB устройства она кормит очень диетически.
Если копать вопрос дальше, то выясняется, что по умолчанию питание USB устройств на малине лимитировано по току. Чтобы снять эти лимиты, нужно в файлике /boot/config.txt прописать max_usb_current=1. Но не торопитесь это делать. Да, юсб девайсы станут чувствовать себя чуть лучше, но недокормленная малина тупо начнет у вас ребутиться.
На вопросы «а нафига так?» малиновые инженеры на форуме отвечают просто и лаконично: на рынке огромное количество говнозарядников из китая, которые не дают заявленного ампера. Юзеры питают ими малину, она заваливается, и к ним (инженерам) приходит много жалоб на ребуты. Поэтому они решили подстраховаться, и в первую очередь питание себе забирает малина, а на ЮСБ всё идет по остаточному принципу.
Да, все эти выкрутасы важны, если на борт ставится вайфайка 500 мВт или 1 Вт, не говоря уже про двухваттные альфы. Всеми любимый WN722N очень скромный (100 мВт), и ему всегда хватает на жизнь.
Собственно, мы решили вопрос питания, а заодно и вопрос лишней толщины брутально. Мы удаляем с платы разъемы USB, Ethernet и боковые пины GPIO. И пробрасываем питание на USB устройства напрямую, а не через малину.

Сводки с фронтов
Я хотел сказать отдельное спасибо yurik999 и Skydiver за помощь в полетных тестах. Они терпеливо выслушивали наши хотелки и предоставили свои коптеры для испытания оборудования.
Сейчас наше решение Шеф-Пилот 2 переходит в статус бета-версии.
Текущая инженерная версия выглядит как небольшой моноблок, имеет на борту альфу 1 Ватт на 2,4 ГГц, и в собранном виде выглядит примерно вот так. Для сравнения рядом APM от Алексея Козина:

На этом экземпляре в последний раз удалось улететь на 2 км (видео в начале статьи). По итогам полета сейчас вносится много изменений по софтовой части.
Если с софтом не возникнет неожиданных проблем, то ранние версии устройства будут готовы уже на следующей неделе.

Вообще решение с wifibroadcast оказалось интересным, и в планах есть приличное количество разных “фишечек”.

Обновлено 16 июля
Решение принимает вид, близкий к окончательному:

И рядом с обычной третьей малинкой:

  • 7296
Comments
ADF

Прочёл на одном дыхании!

Lazy

Эх…Тратите вы силы на ненужное 😃 Я не имею ввиду WiFI Broadcast. 😃

alexeykozin

а виртурилки в продаже появились? или только в комплекте шеф-пилота?

Gol
Lazy;bt148386

Эх…Тратите вы силы на ненужное 😃 Я не имею ввиду WiFI Broadcast. 😃

А что нужное?

grafis
Gol;bt148388

А что нужное?

Квадратурная модуляция и обычны аналоговые передатчики гнать как DVB-T.
Вот это было бы крутотень.

skydiver

Квадратурная модуляция и обычны аналоговые передатчики гнать как DVB-T.
Вот это было бы крутотень.

Какие все умные просто слов нет 😃 А то что cofdm по пик фактору в те усилки не пролезет мы конечно не в курсе 😉

Lazy
Gol;bt148388

А что нужное?

Да я уже тыщу раз говорил. 😃
OpenCV и OSD рисовать прямо на борту. Не так давно на просторах видел реализацию на второй малине.

Realizator
alexeykozin;bt148387

а виртурилки в продаже появились? или только в комплекте шеф-пилота?

Виртурилки только в комплекте. Скоро новая железка ожидается, как закончим тесты - напишу про неё отдельно. Пока её показывал только Алексею Skydiver 😃

Realizator
grafis;bt148390

Квадратурная модуляция и обычны аналоговые передатчики гнать как DVB-T.
Вот это было бы крутотень.

Задержка на кодирование и постобработку все равно останется. Аналоговое видео пока не догнать.
Мы присмотрели железо для dvb-t трансляции, но там пара земля-небо стоит 400 долларов, а готовое решение будет как лайтбридж стоить. Я не уверен что оно за такие деньги будет нужно. Если ошибаюсь - поправьте.

Realizator
Lazy:

Да я уже тыщу раз говорил. 😃
OpenCV и OSD рисовать прямо на борту. Не так давно на просторах видел реализацию на второй малине.

Буду благодарен за ссылочку. Известные нам варианты тормозные. Пока лучший - рисование на земле. Даже при помехах видео имеем чистое и пушистое ОСД.

Lazy

Евгений, не нашёл. Даже не вспомню где, то ли на Хабре, то ли на RCGroups видел.
Если случиться страшное - обязательно скину.

alexeykozin
grafis;bt148390

Квадратурная модуляция и обычны аналоговые передатчики гнать как DVB-T.
Вот это было бы крутотень.

есть у меня ашди камера с кодером двб-т с модулятором и усилителем
работает без задержки,ловится обычным современным цифровым телевизором на обычную антенну.
но при отсуствии задержки на камере - все до единого телеки дают минимум 0,5 секунды задержки а максимум секунду и даже более…
брал внешний шустрый по бытовым меркам декодер -те же яйца
под репортерскую так бы пойдет но для фпв не годится

grafis
alexeykozin;bt148404

минимум 0,5 секунды задержки а максимум секунду и даже более…

Это все определяется кодеками. Есть специальные. В телевизорах и бытовых девайсах больщые задержки происходят из за большого пребаферинга.
Там ни кто не парится над тем что бы уменьшыть задержки просто не зачем. Метод передачи то же вносит задержки но wifi должен не на много но быть больше чем DVB
Если нет раутинга то можно вообще выбросить IP stack и использовать wifi как приемник и передатчик. Я как то с этим эксперементировал не убирая stack а обходя его.
Весь IP трафик остается но имеет приоритет ниже видео.

grafis

А никто не мерил задержки в WHDI ? Там по определению задержка должна быть очень маленькая (несколько фрэймов). На такой конечно далеко не отлетиш но для для коптеров с DSLR камерами где растояние не нужно может быть интересно.

Gol
Lazy:

Да я уже тыщу раз говорил. 😃
OpenCV и OSD рисовать прямо на борту. Не так давно на просторах видел реализацию на второй малине.

На борту на видео накладывается телеметрийная строчка (на скриншоте видна по центру сверху). Только щас её ещё с чёрным фоном сделал, чтоб всегда видна была. Вариантов рисовать графику аналогичным способом пока не нашёл.

Lazy
Gol;bt148410

На борту на видео накладывается телеметрийная строчка (на скриншоте видна по центру сверху). Только щас её ещё с чёрным фоном сделал, чтоб всегда видна была. Вариантов рисовать графику аналогичным способом пока не нашёл.

О, и текста вполне достаточно.

Realizator

На основном видео вверху эта строчка видна. Она, как Сергей и говорит, зашивается прямо на борту.

Lazy

Увидел. Щасьте есть! 😃

alexeykozin

немножко нетипичный вопрос, а нету ли случайно образа для виртурилки чтобы ее использовать как видеорегистратор ? для цифровой камеры или с аналогового входа

Realizator
alexeykozin;bt148617

а нету ли случайно образа для виртурилки чтобы ее использовать как видеорегистратор ?

Это штатная функция уже почти год. Есть в прошивке rcboard. Можно одновременно с передачей видео, а можно просто записывать. Если только запись - битрейт можно хоть 10 мегабит ставить.

brat002

Как насчёт вернуть в проект свои софтовые наработки? Некрасиво выглядит - взяли открытое решение, доработали и давай продавать.

Realizator
brat002;bt148705

Как насчёт вернуть в проект свои софтовые наработки? Некрасиво выглядит - взяли открытое решение, доработали и давай продавать.

Александр, а у нас и было в планах поделиться наработками с автором именно по части wifibroadcast (конкретно - двусторонний обмен).
Вообще “некрасиво” это когда берут сорсы броадкаста, стирают копирайты, объявляют “инновационной разработкой” и идут в Сколково, становятся резидентом и получают гранты. Не будем тыкать пальцем 😃
А вообще касательно нашего вклада в опенсорс на примере виртурилки - в гитхабе куча наработок. Мы знаем, что на базе нашего кода народ защитил минимум 3 диплома, были сделаны несколько серьезных НИОКРов по удаленно управляемой тяжелой технике, не говоря уже о коммерческих проектах (и не только гражданских). На выставках вооружений можно обнаружить машинки для разминирования и малые беспилотники на нашем железе и с нашим софтом на борту. 😃
Так что, как говорится:

Gol
brat002;bt148705

Некрасиво выглядит - взяли открытое решение, доработали и давай продавать.

У Бенефита взяты только tx и rx. И то, мне очень не нравится как оно реализовано, так что тоже буду переделывать когда руки дойдут. Всё остальное - своё. А вот портированые tx и rx на роутеры Ubiquity закоммичу когда протестируем в поле.

alexeykozin
Realizator;bt148710

Вообще “некрасиво” это когда берут сорсы броадкаста, стирают копирайты, объявляют “инновационной разработкой” и идут в Сколково, становятся резидентом и получают гранты. Не будем тыкать пальцем 😃

ух как здорово, а что правда есть столь предприимчивые ребята? 😁

в этом случае выходит что потерев копирайты хочется не только рыбку съесть, но и ничего не делать, призвать всех к исполнению требований открытой лицензии и потом стырить готовые апгрейды)))

Realizator
alexeykozin;bt148712

в этом случае выходит что потерев копирайты хочется не только рыбку съесть, но и ничего не делать, призвать всех к исполнению требований открытой лицензии и потом стырить готовые апгрейды)))

Ну да, именно так. Причем часто доступ к новым наработкам требуют те, кто сам ничего не пишет - просто хочется еще больше халявы. Мол, те ребята сделали и выложили бесплатно. Вы улучшили - тоже давайте бесплатно. Это нормальная ситуация. На таких товарищей мы стараемся нервы не тратить. Просто есть те немногие, кто действительно берет и улучшает наш код, помогая проекту, и им с нами делится. Это главный бонус опенсорса. Вместе быстрее получается достигать результата.

brat002

Как можно что-то улучшить в уже улучшенном, если доступа к коду нет? Противоречите сами себе. Код wifibroadcast опубликован под GPLv2. Почитайте её. Не хочется видеть очередной проект, на который разработчик поставит клеймо - “опять русские украли”. Всё-таки одно дело делать с нуля, а другое - “улучшить”, когда ни идея ни реализация тебе не принадлежит.

alexeykozin

имхо те кто кто допустим (т.е. предположительно) получил ништяки от того что продвинул тему с полученим гранта, финансирования могли бы помогать “родительским проектам” кто чем может, в частности разово или регулярно помогать финансово.

само по себе получение гранта, вход в сколково и общение с инвесторами - дело весьма не простое и тербущее определенной квалификации мозгов и желания.
наиболее гармоничная ситуация - когда каждый работает в своей сфере и все помогают друг другу кто чем может.
кто то программным кодом, кто то финансами , кто то рекламой

alexeykozin

“опять русские украли” никто не скажет.
ребята берут деньги не за программу, а за комплекс шеф-пилот

Gol
brat002;bt148714

Код wifibroadcast опубликован под GPLv2.

Я ж ответил что из того кода используются только утилиты tx и rx. Их исходники и так доступны у Бенефита. А всё остальное я писал, так что никакие лицензии не нарушаются.

brat002

Тогда вопросов нет, но поделиться всё равно можно было бы 😃 Всё равно ведь повторят.

Gol
brat002;bt148718

Тогда вопросов нет, но поделиться всё равно можно было бы 😃 Всё равно ведь повторят.

Я вот терпеть не могу когда мне навязывают другую логику работы моего софта, а обычно так и происходит с опенсурсными. Так что я не хочу чтоб вмешивались в мой код, и не хочу навязывать свой код другим. Так что у Бенефита - свои компоненты и их взаимодействие, у меня - свои.

Realizator
brat002;bt148718

Тогда вопросов нет, но поделиться всё равно можно было бы 😃 Всё равно ведь повторят.

Александр, а что у вас дописано по wifibroadcast? Может обменяемся наработками?

brat002

Пока мне этот проект не сильно интересен в плане использования, хотя за ходом разработким периодически слежу.

Евгений, Сергей, если не секрет - у вас полный дуплекс на двух раздельных каналах или полу-дуплекс через один канал? Было бы интересно через аплинк пустить не только сообщения mavlink, но и всё управление от аппаратуры.

alexeykozin

мавлинк поддерживает передачу управления внутри себя, в частности некоторые управляют джойстиком

Realizator
dipspb;bt148752

Евгений, Сергей, если не секрет - у вас полный дуплекс на двух раздельных каналах или полу-дуплекс через один канал? Было бы интересно через аплинк пустить не только сообщения mavlink, но и всё управление от аппаратуры.

Дмитрий, у нас полноценный дуплекс.
Касательно вашего пожелания - у нас оно было реализовано на предыдущей платформе, скоро будем переносить на новую. Если кратко - вы подключаете аппу к компьютеру по USB через адаптер для симулятора, она определяется виндой как джойстик, а мы эти команды цифруем в мавлинк и отдаем на борт. Вторая разработка (пока ранняя стадия - тестим) это когда аппу вы втыкаете в маленькую наземную станцию или в телефон на андроиде. В этом случае можно обойтись без компьютера вообще.

Спасибо. А канал один и тот же? Что вверх, что вниз? Спрашиваю с точки зрения занятости полос и количества антенн.

alexeykozin;bt148753

мавлинк поддерживает передачу управления внутри себя, в частности некоторые управляют джойстиком

Это так, но может быть разница во времени реакции аппарата, если частота поступления пакетов mavlink в контроллер будет ниже частоты пакетов радиоуправления. Плюс тут ещё задержка, но она будет как с mavlink, так и без него.

Realizator
dipspb;bt148755

Спасибо. А канал один и тот же? Что вверх, что вниз? Спрашиваю с точки зрения занятости полос и количества антенн.

Да, канал один. Как я писал по результатам первых тестов, телеметрия умудряется пролезать даже тогда, когда уровень сигнала на приеме ниже теоретически заявленного для этого диапазона.
Если надо развести по каналам - это дополнительный свисток на борт и на землю, и сильное усложнение софта.

Realizator
dipspb;bt148756

Это так, но может быть разница во времени реакции аппарата, если частота поступления пакетов mavlink в контроллер будет ниже частоты пакетов радиоуправления. Плюс тут ещё задержка, но она будет как с mavlink, так и без него.

Ну давайте все-таки факт зафиксируем: при управлении с аппы по родному каналу аппа-приемыш задержка будет самой маленькой из возможных.
При управлении через сложную систему добавляется время на оцифровку данных, упаковку в канальный формат, отправку по линку на борт, получение/распаковка на борту, потом передача в АПМ/пикс и потом только реализация команды.
Замеры мы не проводили, но “на глаз” задержка телеметрии фантастически меньше, чем у видео. Субъективно - один-два десятка миллисекунд. Для обычных полетов она отлично подходит, а для гоночных коптеров - нужны глубокие тесты и отзывы пилотов.

Да, канал один.

Понял, спасибо!

один-два десятка миллисекунд

Это задержка передачу-приём, но вопрос в том - с какой частотой и кем формируются mavlink-сообщения с RC OVERRIDE. Если следите в своём софте за тем, чтобы это происходило с какой-то постоянной частотой - нет проблем. Но если вы отдаёте это на откуп MissionPlaner-у и только передаёте его сообщения наверх - всё может быть печальнее и весьма внезапно.

Кстати - ваше решение будет намного более универсальным, если будет иметь разъёмы PPM внизу и наверху. Вы ведь работаете не только с mavlink. Строго IMHO

Realizator
dipspb;bt148759

Но если вы отдаёте это на откуп MissionPlaner-у и только передаёте его сообщения наверх - всё может быть печальнее и весьма внезапно.

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

Спасибо, Евгений! Тогда это хорошая схема.

Realizator
dipspb;bt148760

Кстати - ваше решение будет намного более универсальным, если будет иметь разъёмы PPM внизу и наверху. Вы ведь работаете не только с mavlink. Строго IMHO

“Будет вам и белка, будет и свисток” 😃
Будем все это делать поэтапно, пока слишком много всего хочется.

Lazy

Не сцыкотно всё один канал совать?

Realizator
Lazy;bt148764

Не сцыкотно всё один канал совать?

Если честно - мне пока сцыкотно 😃
Я на шефпилоте летал по клавиатуре и мышке, но это был вторичный резервный канал. Наверное при отказе апповского линка я бы на этом попробовал вернуться руками домой. Но аппа вплоть до 5 км работает безупречно (тьфу-тьфу-тьфу).

Lazy

Я как то пробовал джойстик подключать для ручного управления.😃 Но проблема решалась просто - при пропадании телеметрии АП мгновенно переключался в полный автомат и щемился до хаты. 😃

Realizator
Lazy;bt148766

АП мгновенно переключался в полный автомат и щемился до хаты. 😃

У меня большинство проблем и крашей в итоге было связано с дурилкой GPS, и “щемление до хаты” выражалось в улёте от нее по витиеватой траектории. Поэтому важнее был перехват управления ручками. 😎

Lazy

Ну у меня только взлёт на руках, да и то не всегда.

Realizator
Lazy;bt148978

Хм, так это практически готовая наземка получается… Экран 1366х768 - ХД пролезает. Правда схему питания придется переделывать, но это мелочи. За ссылку спасибо!

Lazy

А что по поводу вопроса в каментах - девелопить опердени для малины на таком?

Realizator
Lazy;bt148980

А что по поводу вопроса в каментах - девелопить опердени для малины на таком?

Камент хороший, но я не совсем понял смысл емкого понятия “опердень” 😃

Lazy

Эээээээ…Приложение. 😃

khikashika

Добрый день! Realizator! звонил вам в конце мая спасибо за обещанное разъяснение по новой версии, хотел уточнить удалось ли улететь как и в старой версии на 5км? с момента написания статьи уже месяц прошел вдруг всё уже наладили, а еще хотел узнать срок поставки версии которую уже можно поковырять))
Спасибо!

Aminokislota

Интересно, а raspberry pi zero хватит для трансляции видео с борта?

Realizator

@Aminokislota, пизиры вполне хватает - там проц как на первой малине.
Скажу больше - итоговая v2 у нас на ней и задумана. Сейчас боремся с дефицитом новых зиро (их по 1 штуке в руки продают).
Более того, готовое решение на ней у нас выглядит вот так (оформилось буквально на днях):

И вот он-же рядом с обычной третьей малинкой:

Aminokislota

Компактный вариант, а камеру V2 используете или что то свое?
Мне вот приехала как раз разпимини и думаю попробовать что выйдет

Realizator
Aminokislota;bt149654

Компактный вариант, а камеру V2 используете или что то свое?
Мне вот приехала как раз разпимини и думаю попробовать что выйдет

Камеры v2 еще нету в широкоугольном исполнении, поэтому используем пока v1, но со 160 градусами.

Aminokislota
Realizator;bt149665

Камеры v2 еще нету в широкоугольном исполнении, поэтому используем пока v1, но со 160 градусами.

Заменить обьектив на V2 через переходник не выйдет?
Я напечатал переходник под 12мм линзу, но пока что не видел картинки, не получается запустить трансляцию, в пингвинах я что то вообще ничего не соображаю 😵
Вроде бы должно все автоматом стартовать на последнем образе befinitiv но нет, изучаю пока как запустить.

В финальной версии наверно стоит предусмотреть наклон камеры.

Realizator
Aminokislota;bt149737

Заменить обьектив на V2 через переходник не выйдет?
Я напечатал переходник под 12мм линзу, но пока что не видел картинки, не получается запустить трансляцию, в пингвинах я что то вообще ничего не соображаю 😵
Вроде бы должно все автоматом стартовать на последнем образе befinitiv но нет, изучаю пока как запустить.

В финальной версии наверно стоит предусмотреть наклон камеры.

Переходники не есть гут, это я как крайнюю меру рассматриваю.
Касательно befinitiv - там ничего запускать не надо. Та часть которая задетектировала у себя камеру автоматом начинает считать себя бортом и стримить картинку. Та которая камеру не нашла - пытается ее принять.
Если вы стартуете всё на Pi Zero - там по умолчанию не работает камера, так как прошивка от befinitiv старая, она еще не знала что будет камера у пизиры. Сделайте sudo rpi-update, ядро обновится и всё заработает. Если не найдена команда - то перед этим sudo apt-get install rpi-update.

Realizator

Мы сейчас тестируем “на столе” новое решение на COFDM. Если есть желание - можете высказать свои хотелки вот в этом опроснике (3 минуты времени)

marikgl

Евгений,

Не могли бы помочь с проблемой в данной сфере.
Я использую PI2B+ как RX и PI2B+или PI0 как TX.
На обоих концах стоит TL-WN722N.
камера PI V1

Проблема в том что после нескольких секунд нормального видео, видео начинает быстро деградировать.

Не подскажите где копать?

Марк.

Realizator
marikgl;bt153506

Евгений,

Не могли бы помочь с проблемой в данной сфере.
Я использую PI2B+ как RX и PI2B+или PI0 как TX.
На обоих концах стоит TL-WN722N.
камера PI V1

Проблема в том что после нескольких секунд нормального видео, видео начинает быстро деградировать.

Ez wifi broadcasting trouble

Не подскажите где копать?

Марк.

Марк день добрый!
На записи я не вижу проблем с каналом - сигнал на приеме нормальный, артефактов трансляции нету. Тут беда на стороне камеры, а именно у нее начинает дурить AEC или AGC.
Первое что бы я проверил - просто взял бы другой модуль камеры.
Второе - заэкранировал бы шлейф камеры, он очень хорошо цепляет наводки. В тестах со SkyDiver его модемы 900 мгц вообще забили камеру - линк был, телеметрия исправно шла, а сигнал от камеры до малины по шлейфу не доходил.

StiMan

Может кто подскажет из пользователей ez_wifibroadcast…
Использует кто-то v1.4 ez-wifibroadcast для RC?
Использую RPi3b на обеих сторонах.
Видео работает.
Хочу применить PlayStation2 gamepade для RC как на видео:

На стороне TX подключил serial0 через USB-TTL converter к ноутбуку.
putty на COM3 115200 смотрю RC данные, но их нет.
Джойстик определился и реагирует на тест (jstest /dev/input/js0).
На стороне TX side TP-Link TL-WN722N (Atheros AR9271). Исправил файл (/etc/modprobe.d/ath9k_htc.conf to fw_bitrate=12).На стороне RX side D-Link DWA-140 rev B3: (rt: 5392). Не исправлял этот фйл(/etc/modprobe.d/ath9k_htc.conf to fw_bitrate=18).
Как составить файл joyconfig.txt?
Или установлены неправильные дрова?
Или нужны одинаковые WiFi модули на обе стороны TX/RX (Atheros, например)?
Или перейти на совсем другое ПО?

Realizator
StiMan;bt153734

Может кто подскажет из пользователей ez_wifibroadcast…
Использует кто-то v1.4 ez-wifibroadcast для RC?
Использую RPi3b на обеих сторонах.
Видео работает.

Как составить файл joyconfig.txt?
Или установлены неправильные дрова?
Или нужны одинаковые WiFi модули на обе стороны TX/RX (Atheros, например)?
Или перейти на совсем другое ПО?

Боюсь тут не подскажу. Мы основывались на коде полуторалетней давности, и затем переписали его под себя, добавив двустороннюю связь. Я так понимаю в текущей версии она у разработчиков тоже появилась.
С поддержкой джостиков мы работали, но по несколько иной схеме. Джой (или аппа) втыкается в ноутбук, там обрабатывается нашим наземным софтом, далее команды кодируются в mavlink и отправляются на борт.

Realizator;bt153178

Мы сейчас тестируем “на столе” новое решение на COFDM. Если есть желание - можете высказать свои хотелки вот в этом опроснике (3 минуты времени)

На анкету ответил, спасибо. Евгений, поделитесь пожалуйста, если не секрет - почему произошёл отказ от wifi-broadcast в пользу COFDM?

brat002

Думаю, основная причина - уменьшение задержек и возможность реализации аппаратного кодирования на 1 чипе, вместо целой малины.

Realizator
dipspb;bt154397

На анкету ответил, спасибо. Евгений, поделитесь пожалуйста, если не секрет - почему произошёл отказ от wifi-broadcast в пользу COFDM?

На COFDM в нашем случае гораздо шире выбор частот, аппаратный FEC (Соломон-Рид), возможность использования другой ширины канала (2 МГц например), ручное управление плотностью модуляции (от QPSK до 64-QAM) и другим низкоуровневым параметрам. COFDM мы пока нацеливаем на более серьезный рынок с другими дальностями.
Граблей там оказалось намного больше, чем с wifi-броадкастом, поэтому разработка затянулась. Из забавных моментов - вот что случилось с простенькими покупными антеннами на 433 МГц при тестах с усилком:

Вообще сейчас много запросов приходит на v2 (про которую и был написан этот пост), поэтому мы решили возобновить её изготовление, в несколько обновленном варианте (v2.1).

alexeykozin

чтоб усилки горели. ну бывает.
но чтоб антенны плавились. впервой вижу.
сколько же там мощи слетало?
свинцовые шорты прилагаются? ))

Realizator
alexeykozin;bt155316

свинцовые шорты прилагаются? ))

Свинцовые при разрыве резинки портят пальцы на ногах - мы просто обматываемся фольгой 😃
Если серьезно - при этом тесте в антенну уходило примерно 750 мВт…

Realizator

Выложил обзор обновленной версии: rcopen.com/blogs/220906/22828