«Лазарь»: usb камера и попытка запука ее в работу Сначала ответ на вопрос, который нам чаще всего задают в личке. Что за камера стоит на Лазаре? Дешевый китайский USB модуль с монохромным сенсором, 640×512. Классика тепловизионных матриц, FLIR Boson / Infiray-класс. Камера Лазаря не «видеоканал для оператора», а тепловизионный канал прицеливания. Мы решили не изобретать свой компаньон, а работать на той же платформе, что и стояла изначально - RPi5. Весь код на производстве писался под неё и сохранился целиком. Борт №1 дал нам видеостек ds-osd.py - родной OSD. Борт №2, живой, добавил остальное: hmd-handler с optical-flow навигацией, трекеры nanotrack и YOLO под Coral Edge TPU, Redis-шину между модулями, mavlink-router. Конечно многое утеряно, но мало какие трофеи дают такую картину. Решили поднять Pi 5 с нуля, установили стоковый GStreamer, далее поверх их заводской скрипт, скрипт OSD и подключили родную камеру Лазаря. Она начала работать сразу и отдала ровно тот формат, что мы находили в их записях, 640×512@25, YUYV, монохром. Прицел, телеметрия, всё на месте без единой правки конвейера. Их скрипт жёстко привязан к конкретной камере и к конкретному адресу выдачи. А мы хотим универсальность. Поэтому собрали на коленке для себя приложение АРГУС. Веб-панель, через которую инженер подключает к борту ЛЮБУЮ USB-камеру и за пару минут заводит её в поток на ethernet. Выбираешь подключенное устройство из списка, разрешение и частоту, поворот на 180 градусов если камера стоит вверх ногами (у Лазаря так и было) прицел, битрейт H264. Жмёшь применить, пайплайн перезапускается, и тут же видишь результат в окне проверки. Вторая задача АРГУСА, которая нам нужнее, это возможность ручного ввода адреса выдачи. Его можно набирать в строке. H264-поток после OSD уходит на отдельный Ethernet-выход. Поменяли SIYI на Skydroid или Herelink, вписали новый IP, поток полетел туда. На юниты usb камера напрямую не ставится, поэтому и нужна такая заморочка. Для проверки добавили RTSP-сервер, любой VLC в сети открывает адрес и показывает живую картинку. Сразу скажем задержку пока не проверяли. Работа продолжается, замахались. Дальше хотим подключать air unit и снять с него картинку на пульт, а параллельно попробуем получить живой MAVLink с полётника через линк с выводом на OSD. Телеметрия Лазаря на земле была заглушена, интересно посмотреть, как их стек ведёт себя, когда FC наконец оживет. У нас к сожалению не все пульты есть в наличии, но было бы здорово, если кто подскажет в каких подсетях живут Siyi, Skydroid и т.д. Сразу забьем в меню. Herelink то мы подключали уже... «Лазарь»: usb камера и попытка запука ее в работу Сначала ответ на вопрос, который нам чаще всего задают в личке. Что за камера стоит на Лазаре? Дешевый китайский USB модуль с монохромным сенсором, 640×512. Классика тепловизионных матриц, FLIR Boson / Infiray-класс. Камера Лазаря не «видеоканал для оператора», а тепловизионный канал прицеливания. Мы решили не изобретать свой компаньон, а работать на той же платформе, что и стояла изначально - RPi5. Весь код на производстве писался под неё и сохранился целиком. Борт №1 дал нам видеостек ds-osd.py - родной OSD. Борт №2, живой, добавил остальное: hmd-handler с optical-flow навигацией, трекеры nanotrack и YOLO под Coral Edge TPU, Redis-шину между модулями, mavlink-router. Конечно многое утеряно, но мало какие трофеи дают такую картину. Решили поднять Pi 5 с нуля, установили стоковый GStreamer, далее поверх их заводской скрипт, скрипт OSD и подключили родную камеру Лазаря. Она начала работать сразу и отдала ровно тот формат, что мы находили в их записях, 640×512@25, YUYV, монохром. Прицел, телеметрия, всё на месте без единой правки конвейера. Их скрипт жёстко привязан к конкретной камере и к конкретному адресу выдачи. А мы хотим универсальность. Поэтому собрали на коленке для себя приложение АРГУС. Веб-панель, через которую инженер подключает к борту ЛЮБУЮ USB-камеру и за пару минут заводит её в поток на ethernet. Выбираешь подключенное устройство из списка, разрешение и частоту, поворот на 180 градусов если камера стоит вверх ногами (у Лазаря так и было) прицел, битрейт H264. Жмёшь применить, пайплайн перезапускается, и тут же видишь результат в окне проверки. Вторая задача АРГУСА, которая нам нужнее, это возможность ручного ввода адреса выдачи. Его можно набирать в строке. H264-поток после OSD уходит на отдельный Ethernet-выход. Поменяли SIYI на Skydroid или Herelink, вписали новый IP, поток полетел туда. На юниты usb камера напрямую не ставится, поэтому и нужна такая заморочка. Для проверки добавили RTSP-сервер, любой VLC в сети открывает адрес и показывает живую картинку. Сразу скажем задержку пока не проверяли. Работа продолжается, замахались. Дальше хотим подключать air unit и снять с него картинку на пульт, а параллельно попробуем получить живой MAVLink с полётника через линк с выводом на OSD. Телеметрия Лазаря на земле была заглушена, интересно посмотреть, как их стек ведёт себя, когда FC наконец оживет. У нас к сожалению не все пульты есть в наличии, но было бы здорово, если кто подскажет в каких подсетях живут Siyi, Skydroid и т.д. Сразу забьем в меню. Herelink то мы подключали уже...
Обзор характеристик корпуса XASTRA и акции на игровые корпуса Cougar в DNS
Похожие посты
- ❤ 91
- 🔥 39
- 💩 15
- 👍 10
- 🤨 5
- 😱 4
- ❤ 4
- 😈 2
- 🆒 10
- ❤ 4
- ❤🔥 1
- ❤ 3
- 👍 1