FPV через интернет

maloii

Про задержку не забудьте в секунду а то и в три. С такой задержкой не получится летать

Covax

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

KBV

Самолету на высоте и на стабилизации (а то и на круиз-контроле) - 1-3 секунды тоже пофигу.
Я даже снимал очки и до автомобиля за сигаретами бегал:)
Уверен что и пролететь смогу (естественно без резких маневров), хотя это и не требуется.

Covax

Пробежался я по рынку, да продают IP камеры даже с возможностью сразу впендюрить туда свисток 4G LTE, но все это дорого раз, траффик ест нереально много два, весит как мой коптер три) уж лучше я сделаю второй коптер на 40 минут полета с ретранслятором видео и РУ, а вторым поменьше буду летать куда сердце пожелает…

levka17

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

Реализаторы тихо делают маленький прототипчик, с усеченным функционалом, допустим видео по инету, РУ традиционно, либо наоборот. Катают его месяца три, огребают кучу косяков, обогащаются опытом. Потом только добавляют маленькую новую фичу, катаются опять. Как-то так. А до этого просто набирали опыт с коптерами, летая визуально возле себя.
Или просто, тестируют плату на стенде где-нить на балконе, без всяких коптеров.

Согласен на все 100. Только так и ведется разработка.

на первом месте должна быть безопасность (все-таки)

Конечно. Я имел ввиду, что мне класть на сам ФАКТ ЗАПРЕТА. Ни в коем случае не собираюсь пускать летающий кирпич над головами людей. Даже если бы меня не заботила безопасность людей (а это не так), в случае аварии, все равно за мной бы пришли, а мне этого не надо. Так, что, повторюсь, ни в коем случае. Только безопасные маршруты и только при уверенности, что все работает как надо.

Самолету на высоте и на стабилизации (а то и на круиз-контроле) - 1-3 секунды тоже пофигу.

Ну это да, а как посадка? Угол тангажа не выровняешь вовремя и все…

а есть ли готовые решения чтобы транслировать картинку близку к HD, ну или хотя бы SD, не скайп и не facetime качества, через LTE?

Не совсем понятно что имеется ввиду под готовым решением. Если железо, то да есть IP камеры с прошивками LTE. А вобще для такой передачи как-то логичней использовать софт. То бишь, камеру и модем подключаем к компьютеру, софт передает поток куда надо. Плюсы в том, что никакие узлы друг от друга не зависят, можно выбрать самые подходящие модели. И софт ставить/писать какой угодно.

Начну с ПО, хотя бы потому, что могу начать уже сейчас.
Пока такой план работы:

  1. Напишу серверное приложение, которое берет поток с камеры и посылает в сеть. Оно же генерирует случайные данные телеметрии (в будущем эти данные будут от полетного контроллера) и также посылает в сеть. Пришло в голову, что надо синхронизировать кадр видео с набором данных телеметрии. То есть, одному кадру соответствует набор значений. Иначе, из-за случайных задержек при передачи они перемешаются и будут показывать все в разнобой.
  2. Клиентское приложение, получает картинку и телеметрию, выводит картинку и рисует поверх телеметрию в виде HUD.

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

IdLeR

Посмотрите вот сюда,
habrahabr.ru/company/virt2real/blog/156491/
Не это ли вы ищите, там кстати в коментах много что можно полезного узнать. Также что TCP\IP нам не походит, так как там задержка будь здоров на уровне протокола. Что rasberry pi дает лаг в 300 мсек при кодировании и пересылке 640x480 при wifi, и около 600msec при half-hd.

Также проблемы есть с точными датчиками угловых ускорений и жпс. Что тоже усложняет немного задачу.

Еще не маловажный факт - это емкость реальных базовых станций даже по стандарту LTE там с этим совсем не все гладко. Сейчас делаем сети и для того чтобы получить стабильный линк в движуйщийся объект нужно покрытие будь здоров, при этом что других абонентов нету. Причем время переключения между станциями может быть не совсем приемлемо при скоростях болше чем 50 км\ч.

sbach737

Для начала нужно хотя бы раз полетать на коптере визуально.
Через интернет вы бы его грохнули через 0,2 секунды.

KBV
sbach737:

Для начала нужно хотя бы раз полетать на коптере визуально. Через интернет вы бы его грохнули через 0,2 секунды

На коптерах щас серьезные системы стабилизации, с автовозвратами и удержаниями. Можно повесить в метре от земли и пинать- он будет назад возвращаться 😃
Ладно коптеры, вертолеты 500размера так же висят, можно отложить пульт и пойти покурить. Правда пинать их опасно 😃

Yahen

Если мне не изменяет память, то у наших китайских братьев есть вагон и маленькая тележка уже реализованных таких игрушек. И продаются они не только в китайском интернете, но даже в обычных модельных магазинах. Даже в нашем тьмутараканском Минске они есть. Пульт - андроид планшет, либо яблочный планшет. Связь по вайфаю. Планшет как точка доступа и модель к ней конектится. На модели простенький стабилизатор и вперед с песней. Есть такие коптеры, и “двух споловиной” канальные вертолетики. И вроде даже машинку такую видел. Игрушка конечно. Но за то с управлением “через интернет” у вертолетика IP адрес свой и все такое 😃 Я бы посмел рекомендовать купить такое поиграться, благо копейки стоит. Посмотреть что там и как какие подводные камни и прочее. Видео там, конечно нет, только управление. Потому что “оченьдешево”

levka17

TCP\IP нам не походит, так как там задержка будь здоров на уровне протокола

Не протокол глючный, а железо/канал связи узкое место. Стек TCP/IP всего навсего системный код, скорость выполнения которого, как и любого кода целиком зависит от железа и ОС. Пропингуем на обычной машине localhost, будет видно, что задержка ICMP пакета <1мс, стало быть не протокол виноват.
А Расбери действительно слабенькое железо, я планировал что-то мощнее.

емкость реальных базовых станций даже по стандарту LTE там с этим совсем не все гладко

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

Yahen
levka17:

Можно попробовать уболтать провайдера, чтобы твой модем был приоритетней для БС

Для подобного рода проектов ( реально работающих) обычно вайфай используют и ставят свою точку доступа с усилителем. Это по-факту надежнее, дешевле и проще. Это если кровь из носу “по интернету” хочется. А обычно типовой набор для недорогого ( относительно ) FPV выглядит из 2.4 ГГц с вайфайным усилителем в сторону модели. и 1.2 ГГц обратно для видео и телеметрии.

dima043
Yahen:

Видео там, конечно нет, только управление. Потому что “оченьдешево”

Ну почему. Parrot ar.drone квадрик с видео и РУ по wifi с яблокофона. Летает вот только недалеко и недолго. И конструктив так себе. Коллекторные моторчики с редукторами в наше то время…
ardrone2.parrot.com
А так прикольная штука я игрался.

Yahen

Век живи - век учись. Все равно дураком помрешь 😃 Отстал я значит от прогресса. Я без камер только видел. Таки тогда дело идет к тому, что через год-другой заявленную хотелку топикстартера можно будет приобрести в ближайшем магазине. И не делать себе беременную голову скрещиванием отдельных компонентов на коленке.

dima043

Штука прикольная но управляется по WiFi с конкретного телефона а не “через интернет”. Разница в пингах тут думаю огромная. По сути это выделенный только под управление и видео интегрированный цифровой канал работающий по протоколу WiFi.

Yahen
dima043:

Штука прикольная но управляется по WiFi с конкретного телефона а не “через интернет”

Смотря что интернетом называть. TCP стек есть? Есть. Маршрутизацию сделать можно? Можно. Я, вот, например, на том же ведроиде без проблем заведу Вам маршрут через пять серверов на трех континентах. Да хоть через VPN 😃 Другое дело, как Вы справедливо заметили, нет никакого смысла это делать. И дело не в задержках даже. А в самой структуре интернета. Сеть не гарантирует доступность и корректность маршрутизации. А посему единственный путь - сам себе провайдер. Кстати на форуме где-то была ветка об успешной реализации управления моделью через TCP стек. Там, если мне память не изменяет, как раз таки сеть на бустерах сами моделисты разворачивали.

IdLeR
levka17:

Не протокол глючный, а железо/канал связи узкое место. Стек TCP/IP всего навсего системный код, скорость выполнения которого, как и любого кода целиком зависит от железа и ОС.

На забывайте про то что имеет свойство фрагментация трафика. Это и является узким местом. Вы собрались делать это через LTE - я думаю между вами будет минимум 5 устройств 3-го уровня. + localhost это сферический пример в идеальном вакууме. А я предлагаю не отметать отсутвие радио эфира, там свои приколы и гораздо все хуже в разы.

levka17:

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

Тут есть на форуме человек. который RLS делалет у него ник Expert, где-то я видел его коментарии по поднятым вами вопросам, он может с циферками объяснить как можно это все в радиоканал засунуть и почему не нужен TCP и чем плох общественный LTE.

nyc73

UDP можно заюзать, надежность тут ни к чему. Видео обычно по UDP стримают, насколько я понимаю. И бродкастить мона.

BAU
baychi:

это давно было, или только неадвано появилось на ХК?

Пару тройку месяцев назад.

3 months later
HardRock

Продумываю похожий проект, только полная система IP управления взамен пульту.

Есть знания и опыт в разработке подобных систем (не для радиоуправляемых моделей),
есть опыт разработки под встраиваемые системы где какраз одинм из требований было “3. Модем/ы подключаются к интернету, включается камера”,
есть кодовая база,
определено используемое железо с учетом минимизации его стоимости,
определены основные технические решения и часть из них протестирована (либо раньше в других задачах, либо в рамках этой задумки)
железо уже в наличии.

Но прежде чем публиковать проект и искать помощников (нужны будут С++ программисты), хочу доделать прототип и погонять его немного. Затем составить план разработки и только тогда публиковать с демонстрацией прототипа.
А пока - всё это только слова 😁

По теме:

levka17:
  1. Для LTE модема нужен драйвер, следовательно, нужна ОС (хорошо подходит Linux)

Из LTE модемов рекомендую Мегафон именно вот такой …megafon.ru/modems_g__g_33_tree_992_78601.html (можно в белом копусе) 😁
Если есть LTE - он ловит LTE, если сигнала нет, автоматом переходит в 3G и затем обратно. Совершенно прозрачно.
Плюс у него есть разъемы для внешних антенн (GSM/LTE). Плюс слот под MicroSD.
Модем с подпиской на любой тарифный план стоит ~1000р в офисах Мегафона. По тарифам Мегафон тоже молодцы. Минимальный тариф 3Гб траффика без ограничения сторости стоит 390р в месяц.
Однако с первого раза завести его под ядром 2.6 под ARM не получилось, нужно собирать драйвер либо переходить на более современное ядро. Пока переключился на другие задачи.

levka17:
  1. Нужна производительность для Full HD

Нужно использовать Web-камеры.
Как человек, имеющий отношение к системам видеонаблюдения, могу сказать что IP камеры для подобных систем не подходят. Во первых из-за стоимости. Такая камера, выдающая честные 1, 2 и более мегапикселей будет стоить от 10тр. Аналогичная крутая вебка с высоким FPS гдето 4-5 тр. При этом поток с IP камеры можно забрать по сети либо в h264, либо в MJPEG. IP камера хороша если нужно просто передавать видео отедельным каналом при этом невозможно будет достичь нормальную синхронизацию видео с управлением модели, а также прочие добавляющие сложности. Если инетерено - расскажу подробней.
С USB вебки видео получается отдельными фреймами в YUV420 / YUV422 / JPEG. Лучше забирать в певых двух (это несжатый формат). У каждого фрейма есть таймстемп с точностью до микросекунд. Можно сразу выполнить постпроцессинг и анализ (например в OpenCV) затем сжать в нужный формат и отдать на наземную станцию.
Современное и дешевое железо одноплатных компьютеров стоимостью меньше 3 тр. с этим легко справится, когда на борту 4 ядра по 1.6ГГц и 4 гига оперативки =)
Для сравнения, я сжимал видео с веб-камеры на роутере DIR-320NRU в h264 и передавал его через 3G модем со скоростбю 10 кадров в секунду 640х480. В роутере 360 МГц процессор 1 ядро и 32Мб оперативки. Далее всё упиралось в сжатие если увеличивал размер кадра либо в канал модема если уменьшал разрешение. Опять же делалось софтварно на процессоре не предназначенном для работы с видео, в отличии тех же Cortex A8.
Кстати в видеорегистраторах стоят процы 200МГц плюс минус и 64Мб оперативки. А все 4-8-16+ каналов жмутся аппаратно 😉

levka17:
  1. Устанавливаются TCP соединения между коптером и компьютером

Тебе ещё потребуется внешний сервер т.к. LTE да и вообще все мобильные интернеты сейчас дают внешние ИП адреса только юрлицам и далеко не всегда.
Т.е. компьютер подключается к внешнему серверу, комптер тоже подключается к этому серверу, сервер понимает что это один логин и делает туннелирование между клиентами.
Либо у твоего компьютера должен быть внешний IP адрес.