Месяц "допила" HD-линка: результаты и первые тесты свежих версий

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

Сначала коротко перечислю ключевые вещи, которые мы сделали:

  1. На земле мы научились записывать и чистое видео с борта, и видео с наложенной телеметрией (HUD)
  2. Добавили запись видео на борту, на карточку MicroSD
  3. В борьбе за ФПС и минимальную задержку перешли на сырой видеопоток h264
  4. Интеграция с автопилотом SwiftAI стала практически бесшовной
  5. Сменили наземную WiFi-часть видеолинка на модуль с патч-антенной
  6. Теперь отображаем уровень сигнала Ubiquiti привычными “светодиодиками”
  7. Перенесли все последние наработки в приложение под андроид

Ну теперь по всем пунктам чуть подробнее.

1. На земле мы научились записывать и чистое видео с борта, и видео с телеметрией
С самого начала нам было важно записать чистый видеопоток с камеры, так как чистое видео содержит больше деталей и имеет более высокую “художественную ценность”. Но в тестах в поле первые-же вопросы были “а где запись с телеметрией?”. Был вариант телеметрию писать отдельным файлом, и потом при проигрывании ее сверху накладывать - от него пока отказались. Написали простенькое приложение, которое пишет окно нашего приложения с экрана, или целиком экран. Второй вариант оказался даже удобнее, так как в полете можно периодически переключаться например в Mission Planner, и это тоже будет записано.
Недостаток такого подхода пока один - при таком формате записи сама Windows ограничивает ФПС максимум 20 кадрами в секунду. Но для анализа видео этого более чем достаточно.

В этот месяц мы не только пилили софт, но и помогали с настройками первым пользователям Шеф-Пилота. Вот пример записи чистого видео без телеметрии c коптера Марата, полет в поселке Луговая, дистанция примерно 1,5 километра:

www.youtube.com/watch?v=4eGbidzWWk0

А вот фрагмент его первой записи с телеметрией:

Вот еще кусок моего полета с телеметрией (Бикслер, летал под Питером, дорога на Ниссан, дистанция 3,5 км). Я тут накосячил с высотой - всего 100 метров мало для такой дистанции. Картинка разваливалась пару раз - при пролете над поселком (может там мощный вайфай?) и при пролете рядом с ЗСД. Исправлю при следующих тестах.

Мне не удалось так удачно побороть вибрации как Марату - на высоких оборотах картинка в этом видео дребезжит. Есть что улучшать в общем.

2. Добавили запись видео на борту, на карточку MicroSD
Видео пишется с теми-же параметрами, что и идет в эфир. Оказалось очень полезным при разборах полетов.
Так что теперь Шеф-Пилот по умолчанию работает еще и как видеорегистратор. При коннекте с земли наш плейер показывает, сколько еще минут видео может быть записано до заполнения карточки. При изменении битрейта на лету пересчитывается и оставшееся время.

Вот живой пример. В предыдущем видео в момент посадки мой Бикслер был вне зоны действия направленного вайфая, но на борту все записалось отлично и морковка видна во всех деталях. (о причинах морковки и вообще об особенностях Бикслера+АПМ+видеолинк набирается отдельный пост уже).
Битрейт 3 мегабита:

3. В борьбе за ФПС и минимальную задержку перешли на сырой видеопоток h264
Раньше мы стримили поток RTP, и из-за особенностей системы прилично теряли в ФПС. Сейчас, на сыром h264, фпс стабильно высокий (под 30). В качестве бонуса появилась возможность в одной подсети смотреть видео с борта сразу и на ноутбуке, и на андроидном девайсе. Унификация так сказать.

4. Интеграция с автопилотом SwiftAI стала практически бесшовной
Очень большая работа проделана. Мы ждем пока Новосибирск соберет все набравшиеся результаты и их выложит. Я же пока для затравки покажу кусочек телеметрийной записи одного из тестов полетов на SwiftAI. Это одна из самых первых записей, с низким битрейтом - поэтому видео немного “квадратами” идет:

5. Сменили наземную WiFi-часть видеолинка на модуль с патч-антенной
Выяснилось, что полеты на несколько километров ведутся все-таки в заранее выбранном направлении, поэтому мы сменили антенну “штырь” на патч-антенну. Да, она светит сектором 50 градусов по горизонтали и 30 по вертикали, но для направленных полетов оказалось “самое то”.

6. Теперь отображаем уровень сигнала Ubiquiti привычными “светодиодиками”
Мелочь, но облегчает жизнь. Все-таки это проще и понятнее чем на ходу dBi трактовать.

7. Перенесли все последние наработки в приложение под андроид
Все, что наворотили в виндовом приложении, теперь перенесено и в Андроид. На горизонте наконец появляется решение для “низко и близко”.

Сейчас потеплело, летать будем все чаще и все дальше.

p.s. ну и под конец видео про мою любимую морковку этого года - мокрую 😃

youtu.be/nn95S-lH62Q

  • 1978
Comments
Andrew_Stick

Захлебнулся слюнями

alexeykozin

самоль на крайнем видео в воде по самые уши но что то там намигивает светодиодом )

Realizator
alexeykozin;bt137301

самоль на крайнем видео в воде по самые уши но что то там намигивает светодиодом )

Да, это было роскошное купание. Потом электрокоррозия на АПМ, купание электроники в спирте и прочее. Но в итоге все восстановилось и прекрасно летает сейчас 😃

Realizator
Andrew Stick;bt137300

Захлебнулся слюнями

Ну уже доступно 😃 Сайт правда не всегда поспевает за тем что мы делаем, но смотреть можно на chiefpilot.ru, либо мне в личку написать

Lazy

Сколько в секундах сдвиг между картинкой и ОСД? 😃

smalltim

<70 мсек.

Lazy

Ещё раз. 70 мсек?

Realizator
Lazy;bt137318

Ещё раз. 70 мсек?

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

Lazy

Тащемта хорошо и полезно разделять каналы телеметрии и визуальный. 😃
Практически синхронны - это в попугаях сколько? 😃

Realizator

На глаз около 100мс. Тимофей просто точно замерял, потому и цифра точная.
Телеметрия у нас отдельным потоком идет, мы ее на земле уже рисуем и пишем это в качестве отдельного видео. В итоге два видео есть - с телеметрией и без. Ну и не говорю о том что Mission Planner при этом на земле телеметрию тоже пишет

smalltim

Ещё раз. <70 мсек.

Lazy

Да да. 😃
От момента съёмки до момента появления на экране с наложенным ОСД. <70 мсек.

alexeykozin

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