Канал о сборке и настройке БПЛА — от FPV до грузовых мульти 50-100 кг и самолётов-крыльев для аэросъёмки, инспекции и доставки. Полётники Betaflight, INAV, ArduPilot, PX4.
Связь исключительно в личные сообщения сообщества!!! Через боты общение не ведём!
Subscribers15.2K −100 24h
Reach per post (ERR)55.4%8.4K avg views
Posting2.6/weeklast 4 days ago
Reactions per 1K views4.8🔥 👍 ❤
Азимут: навигация без GPS
Несколько месяцев мы тихо отрабатываем модуль оптической стабилизации и навигации. Внутри одноплатник Eltay на RK3566 от Новосибирской фирмы Elron.
За последнее время через наши руки благодаря участникам группы прошло достаточно трофейных модулей навигации, и лучшие идеи из них мы честно позаимствовали.
Самое интересный модуль врага UA-PILOT (StabX) на Pi Zero 2W. Это по сути наш близнец - та же идея, vision-стабилизация и координаты без GPS. У них взяли три вещи. Оптический компас - курс корректируется вращательной компонентой потока, то есть модуль сам видит, как его разворачивает, без компаса борта. Компенсацию задержки камеры - между кадром и обработкой проходит время, у них это 45 миллисекунд, и если это не вычесть, скорость врёт. И хотим еще добавить калибровку угла обзора сеткой - печатаешь шахматку, снимаешь, уточняешь фокусное, и весь пересчёт пикселей в метры встаёт на место.
Второй донор, антенный наводчик Underdog с его MOSSE-трекером. Оттуда взята фазовая корреляция - Lucas-Kanade считает поток, а фазовая корреляция независимо проверяет его на правильность. Плюс дисциплина счётчиков - сколько точек живы, сколько забракованы, и еще некоторые моменты.
MODULE-172, vision-модуль с другого самолета, показал инженерные моменты - виброразвязку камеры (поток на трясущемся борту это чистый шум), корневой раздел только для чтения и вообще взгляд на модуль как на устройство, которое обязано переживать жёсткое обращение.
И Лазарь с его бортовым вычислителем дал сам подход - каждый параметр сначала проверятся на стенде, потом устанавливается на борт. Связка - поток плюс лидар - как основа счисления тоже оттуда.
Уже попробовали и провели тесты. Связка камера-лидар - скорость считается, направление верное, отказы отрабатываются правильно. Закрыл камеру рукой - качество падает в ноль, модуль молчит, а не выдаёт мусор. Конвейер до полётника замкнут - борт на столе видит наш дальномер как RANGEFINDER и принимает поток OPTICAL_FLOW с хорошим качеством. Знаки скорости откалиброваны.
Оптический компас прошёл три круга проверки. Крутим кадр на известный угол, модуль отвечает с точностью до процента на всём рабочем диапазоне. Вращаем стенд руками, сверяем с гироскопом полётника, корреляция от 0.81 до 0.89, знак совпал. И главное, тест на дрейф - дрейф не наследует, а это ровно то, ради чего компас делался.
Основная проблема производительность. Первая версия съедала процессор так, что RK3566 перегревался до 85 градусов и урезал себе частоту, fps падал втрое. Профилировщик показал - почти всё время ели трекинг и проверка фазой. Ужали окно трекера, сетку точек, проверку фазы через кадр. Кадр сжался со 180 до 70 миллисекунд, fps на горячей плате вырос с 5 до 14-15. Как не боролись за размер устройства прийдется увеличивать корпус и вставлять вентилятор в следующей версии.
Лидар TF02-Pro видит землю до 40 метров. Выше модуль теряет масштаб - поток сам по себе даёт угловую скорость, а чтобы перевести её в метры в секунду, нужна высота над землёй. Что будет на 200 метрах? Оптический компас высоту не требует вообще - вращение не имеет масштаба, курс модуль держит хоть на километре. И удержание точки тоже частично живёт - нулевой поток означает нулевой снос независимо от высоты, поэтому висеть над местом борт должен и без дальномера. Ограничение одно - без высоты не будет скорости в метрах в секунду и полёта по координатам.
Как эту проблемму можно решить? Монокулярная камера сама по себе масштаба не видит, но если сопоставить её поток с ускорениями полётника, которые и так приходят нам по MAVLink, масштаб восстанавливается. Это называется visual-inertial odometry, так устроены системы удержания позиции у DJI, и нам не нужен свой инерциометр на плате. Вариант на перспективу - привязка по карте местности. Модуль узнаёт рельеф под собой и сам знает высоту над землёй за пределами любого дальномера.
Трофей это не только железо. Это учебник, который кто-то оплатил своим годом работы и бюджетом. Чем больше разборов, тем быстрее соберём тот самый идеальный модуль.
«Лазарь» пересел на сотовые вышки: новый вариант борта
Наши товарищи показали вариант нового борта той же линейки, что и наш трофейный «Лазарь».
Внешне это тот же тяжёлый квадро с коробом авионики сверху и подвесом снизу, но вместо тарелки Starlink на нём стоит MikroTik wAP ac LTE kit. Квадратный всепогодный бокс с LTE-модемом, двумя Ethernet и Wi-Fi, который в рознице продаётся как точка доступа для улицы. Управление теперь идёт через сотовые вышки.
Причина понятна. Starlink у врага в постоянных проблемах - Илон Маск под настроение то гасит то включает спутники. LTE-роутер стоит копейки, прячется в штатный корпус и работает везде, где есть покрытие сотовой связи. Противник не стал менять платформу, он поменял один узел.
По фото видно, что начинка не изменилась. Автопилот Cube, компаньон Raspberry Pi, GNSS mosaic-x5. Канал связи тут LTE категории Cat 1 bis на модеме Quectel, это примерно 10 Мбит/с вниз и 5 вверх. Мало по меркам домашнего интернета, но их видеотракту хватает - картинка идёт в WebRTC с низким битрейтом, OSD с высотой, скоростью и координатами рисуется прямо в кадр.
Как такой борт работает на практике. Роутер с SIM регистрируется в сети оператора как обычный абонент, дальше через LTE поднимается туннель до их сервера, внутри туннеля идут телеметрия, видео и команды. Оператор может сидеть в любой точке, где есть интернет. Задержка канала у сотовой сети небольшая, управление в реальном времени вполне возможна.
Противник дублирует каналы связи и быстро перебирает варианты, когда один начинает сбоить.
Друзья, для обучения модели наведения нужны видео пролётов дрона.
Особенно интересны пролеты на фоне деревьев, домов, сложные фоны местности (можно просто пролеты как вы летаете на своем дроне).
Если у кого-то есть что-то подобное, без привязки к местности и без чувствительной информации, покидайте пожалуйста в личные сообщения сообщества. (желательно файл без сжатия, отправить как файл).
Пульт «Сибирячка»: поднимаем управление под Herelink
Сейчас мы восстанавливаем тяжёлый борт, и связку для него решили ставить на Herelink. Причина простая - это один радиотракт сразу на всё. Видео, телеметрия и управление идут в одном устройстве, MAVLink проходит в обе стороны, а значит полётник можно настраивать прямо с земли, без вскрытия борта. Осталось решить, на чём этот тракт замкнуть с нашей стороны, используя два воздушных юнита Herelink.
Недавно подписчики прислали нам пульт от комплекса «Сибирячок». Тут имеется 10-дюймовый экран, встроенные стики и тумблеры, внутри одноплатник уровня полноценного линукс-компьютера. Вендорский софт рассчитан на свой закрытый стек - своё приложение оператора, свои модемы, свои сервисы обновлений. Для чужого борта этот пульт бесполезен в заводском виде и часто на нем просто смотрят фильмы или сидят в интернете. Мы решили его попробовать переделать целиком.
Первопроходцы здесь были наши друзья из Cicada. Они провели ряд работ и разобрались, как проходит процесс загрузки пульта, и написали свой скрипт, который снимает пароли. Дальше была проведна работа с вендорским приложением оператора с перенастройкой его под себя.
Мы пошли чуть иначе. Пульт у нас один, вендорский стек нам не нужен, а живых обновлений с чужих серверов мы в своей сети не хотим категорически. Поэтому всё заводское мы вычистили, и на голое место поставили QGroundControl.
Первый большой результат - видео полученное с тестового борта Лазарь. На нашем стенде уже живёт АРГУС с тепловизором, и его поток мы прогнали по радиоканалу на пульт. Картинка идёт через аппаратный видеодекодер платы, процессор при этом почти не нагружен, загрузка около 8 процентов. Это значит, что пульт тянет видео и телеметрию одновременно без тормозов, и запас ещё большой.
Дальше встал вопрос управления. В пульте стоят физические стики и тумблеры, и линукс видит их как обычный USB-джойстик. Мы проработали мост, который читает стики и превращает их в MAVLink-команды управления для полётника. Так пульт становится обычной наземной станцией - QGC показывает телеметрию и карту, стики рулят борт.
Калибровку стиков и привязку каналов вендорский софт делал через свои сервисы, которых больше нет. Поэтому мы рассмотрели свой конфигуратор прямо на пульте. Он рисует на экране положение каждого стика в реальном времени, ведёт по шагам калибровку, показывает живые значения всех каналов и позволяет любой источник, стик, тумблер или кнопку, назначить на любой канал.
Осталось совсем немного. Нужно прогнать тест - включить борт, посмотреть, как с пульта доходят команды на полётник, проверить все 8 каналов и тумблеры через инспектор MAVLink, и отработать связку стики плюс QGC на земле. После этого наш боевой пульт будет адаптирован под другие системы связи включая mesh. Все. подробности, образы чуть позже в отдельной статье.
Аналоговые камеры для FPV-дронов: как проверить исправность за 5 минут на ноутбуке
Пока мы готовили материалы про бортовую электронику тяжелого дрона, в комментариях и в личке всё чаще всплывал один и тот же вопрос. У коллег появляются камеры для сборки дрона, приносят их в мастерскую, а дальше начинается лотерея: как понять, что камера исправна, что картинка с неё нормальная и она годится для использования в дальнейшей сборке? Подключать её для проверки к видеопередатчику, приёмнику и монитору значит собирать полборта на столе. Захотелось инструмента попроще.
Сегодня мы обсудим быстрое подключение аналоговых камер и соберем простейший стенд для их тестирования.
https://dzen.ru/a/auTWhrSAqUsEaoif?share_to=link
repost
Друзья, рады сообщить что наша компания запустила в производство пропеллеры диаметром 15 дюймов двух видов, с шагом 7 и 10 дюймов. RT1507 - энергоэффективный вариант, позволяющий летать на максимальные расстояния. RT1510 - имеет повышенную тягу, что позволяет брать на борт максимальную массу.
Оба вида пропеллеров комплектуются переходными втулками, что позволяет ровно устанавливать пропеллеры на моторы с штоком 5 и 6 мм.
Пропеллеры хорошо сбалансированы, а испытания подтвердили нужные нам характеристики.
Приобрести можно на озоне или через нашего менеджера.
🐻 Сайт: rokottech.ru
🛍 Ozon: https://ozon.ru/t/jhYrlJL
😢 Менеджер: @ROKOT_TEH_manager
Нашим товарищам из сообщества 14 ЛЕГИОН_FPV попался нестандартый вариант сборки Лазаря.
Плата распределения питания собрана на базе модуля Matek и крепления лучей под трубу 38 мм.
Ребята подготовили модели для восстановления этого варианта и помогли дополнить нашу базу моделей Лазаря. Возможно кому то потребутся для ремонта.
Нашу папку с моделями для самостоятельной печати - скачать.
Если у кого есть что добавить, присылайте в личные сообщения сообщества.
Ищем сильных специалистов в команду
Если вам интересны современные БПЛА, сборка и разборка различной техники, электроника и сложные инженерные системы — это может быть для вас.
Предстоит работать с дальнобойными БПЛА и всем, что с ними связано: изучать конструкцию, проводить диагностику и техническое обслуживание, анализировать телеметрию и участвовать в совершенствовании процессов.
Будут преимуществом техническое образование, опыт работы с электроникой, системами связи, программированием, обработкой данных.
Большие задачи, реальные проекты, возможность влиять на результат и получай от 400 000 ₽
👇Пиши и узнай подробности
Наш ТГ | Наш МАХ
Как подключить USB-камеру к дрону: Raspberry Pi 5, OSD и телеметрия в кадре
USB-камера на дроне — редкость. В классическом FPV-мире все привыкли к другой схеме. Маленькая аналоговая камера подпаивается к видеопередатчику, и картинка сразу летит в эфир. В таких связках преобразование сигнала зашито внутрь железа. Видеопередатчик сам кодирует видео и гонит его в линк. Подключил — работает.
USB-камера живёт по другим правилам. Для дрона это не «видеотракт», а просто источник данных. По шине USB она отдаёт сырой поток кадров, без сжатия и без какого-либо формата для передачи по сети. Казалось бы, нужен специализированный видеопроцессор для преобразования видосигнала. Но справиться с этим легко умеет обычный Raspberry Pi 5.
https://dzen.ru/a/atjecTg0DkTtSbL9?share_to=link
«Лазарь»: usb камера и попытка запука ее в работу
Сначала ответ на вопрос, который нам чаще всего задают в личке. Что за камера стоит на Лазаре? Дешевый китайский USB модуль с монохромным сенсором, 640×512. Классика тепловизионных матриц, FLIR Boson / Infiray-класс. Камера Лазаря не «видеоканал для оператора», а тепловизионный канал прицеливания.
Мы решили не изобретать свой компаньон, а работать на той же платформе, что и стояла изначально - RPi5. Весь код на производстве писался под неё и сохранился целиком. Борт №1 дал нам видеостек ds-osd - родной 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 то мы подключали уже...
Немецкая компания Auterion активно поставляет БПЛА Anubis на Украину.
Производство развернуто в Германии, и проект предусматривает поставку Украине тысяч беспилотников, финансируемых немецкой стороной.
Дрон является аналогом Shahed-136 и "Герань-2", несет боевую часть массой около 50 кг и управляется через Starlink, что практически исключает его эффективное подавление комплексами РЭБ. Не исключено, что и операторы этих БПЛА могут находиться за пределами территории Украины. По заявленным характеристикам, может преодолевать до 1500 км. Система использует программное обеспечение Auterion с возможностью навигации без GNSS и автоматизации полета.
Учитывая, что Starlink последние дни работает крайне нестабильно, враги уже воют, что дроны на этой системе управления отказываются работать.
Видеопередача «Лазаря»: как кадры доходит до оператора
Продолжаем разбирать тяжёлый борт Лазарь, который попал к нам на восстановление. До этого мы запустили полётный контроллер, моторы, восстановили компас и gps. Осталась самая запутанная часть - видео. Как камера связана с бортовым компьютером, чем кадр обрабатывается в полёте и каким образом он вообще оказывается перед глазами оператора за сотни километров?
На борту машины стоит обычная дешёвая USB-камера в печатном корпусе и на подвесе Tarot. Подключена она к бортовому компьютеру Raspberry Pi 5 USB-проводом, разрешение потока всего 720 на 480 точек. Камера отдаёт поток в Pi 5, и на борту его встречает питоновский скрипт поверх GStreamer. Внутри конвейера кадр проходит три стадии. Сначала его разворачивают на 180 градусов. Потом впечатывают прямо в картинку OSD прицел и телеметрию, и готовую картинку разделяют на два пути.
Первый путь кодирует кадр кодеком VP8 и отдаёт в WebRTC. Оттуда поток уходит через локальный веб-сервер в браузер наземного оператора. На этом борте стоит Starlink, и вся связь с землёй идёт через спутниковый канал внутрь приватной VPN-сети, где прописаны все борта флота и наземные компьютеры. Оператор сидит в той же сети в любой точке планеты, открывает страницу борта и получает видео.
Второй путь кодирует кадр H264 и пишет на SD-карту, если запись включена!
Одновременно к USB-камере, что показывает картинку оператору, подключался отдельный софт компьютерного зрения, который имел дополнительные задачи. Во-первых, optical flow - по смещению картинки между кадрами борт вычисляет собственную скорость и снос. Работает когда камера смотрит вниз, софт измеряет, на сколько пикселей уползла текстура земли, делит на высоту и получает метры в секунду без всякого GPS.
Во-вторых, захват цели - на некоторых исполнениях Лазаря стоят нейросетевые модели, детектор объектов и трекер, который держит выбранную цель в кадре и не отпускает. Ресурсов одного Pi для такой математики впритык, поэтому использовался отдельный USB-ускоритель нейросети. Работает так - детектор нашёл объект, трекер его схватил, дальше борт способен вести цель сам. Одна камера одновременно даёт картинку человеку, скорость автопилоту и цель нейросети.
В образе накопителя, свежих записей не было вообще. Но на карте лежали тестовые записи наземных проверок, которые операторы стёрли перед вылетами. Их куски оказались разобраны, но сами кадры уцелели - человеческие ноги крупным планом в тепловизоре. На OSD - борт разряжен, GPS не ловит, в кадре тестовая надпись координат из Лимы, столицы Перу. Вероятно проверяли модуль подмены координат для работы Starlink в движении.
Эти кадры дают представление как выглядит экран оператора. Поверх картинки рисуется прицел: зелёный крест с рисками и квадратом в центре. Прицел не висит постоянно. Он появляется, только когда подвес наклонён вниз, а при подъёме камеры вверх становится полупрозрачным. Пока оператор осматривается, крест не мешает обзору, а при наведении на цель становится ярким ориентиром. Слева сверху высота и поправки регулятора, справа сверху индикатор записи, курс и скорость, по центру статус моторов и режима полёта, режимы подсвечиваются цветом. Снизу по центру таймер полёта, дата, время и батарея с током. А в левом нижнем углу число спутников, статус фиксации GPS и текущие координаты борта.
Теперь вопрос для тех, у кого на руках похожий борт с USB-камерой и бортовым компьютером на Raspberry, и для нас самих - как заставить родную камеру работать дальше.
Первый, самый короткий путь: использовать их же скрипт. Полный код видеоконвейера сохранился целиком, это готовое решение под Pi - камера, прицел, OSD, веб-выдача.
Второй путь: Rpanion. Это открытый проект для бортовых компьютеров, который делает почти то же самое, что и их скрипт: забирает видео с USB-камеры, отдаёт его в браузер по WebRTC или в пульт, плюс маршрутизирует телеметрию полётника.
Третий путь: если родная камера не пошла или нужен быстрый результат, камеру меняют, а видео заводят в юнит управления по Ethernet.
Кто уже делал делимся успехами в коментариях!
Навигация «Лазаря»: GNSS-приёмник Septentrio Mosaic-X5
Продолжаем разбор борта Лазарь. После электроники и компаса дошли и до навигации. Septentrio Mosaic-X5, приёмник профессионального класса из Бельгии, тот случай, когда по одному модулю понятно, кто участвовал в сборке борта. Он не похож на привычные u-blox - GPS на L1, L2 и L5, ГЛОНАСС на L1, L2 и L3, Galileo на E1 и E5, BeiDou на B1 и B2, плюс QZSS, SBAS и индийский NavIC. По каждой системе отслеживаются все доступные сигналы, так что приёмник не слепнет, когда одну частоту давят постановщики помех.
Физически на Лазаре модуль подключён к порту GPS1 полётника Cube Orange, питание 12 В приходит с периферийного силового модуля. Антенна одна, на луче, второй грибок, который мы поначалу приняли за вторую антенну, оказался компасом. То есть фазировку по двум разнесённым антеннам этот борт не использует, хотя Mosaic умеет работать в такой схеме со сдвоенным приёмником Mosaic-H. Модуль смонтирован на своей плате с разъёмами и QR-кодом серийника внутри бокса авионики, отдельно от полётника.
Теперь параметры, как мы их нашли в дампе, пока ничего не меняя. GPS_TYPE=10, это нативный драйвер Septentrio в ArduPilot, приёмник отдаёт данные в фирменном бинарном формате SBF, и полётник его понимает без перекодировок. Дальше GPS_AUTO_CONFIG=0: полётник не лезет в настройки приёмника вообще, Mosaic живёт своим загрузочным конфигом, который сам о себе помнит при каждом включении. GPS_AUTO_SWITCH=0 и GPS_TYPE2=0: второй приёмник не подключён, автоматическое переключение и смешивание двух источников выключены. Смещение антенны GPS_POS1 по всем осям нулевое, оператор не задавал её положение относительно центра масс.
Загрузочный конфиг мы тоже просмотрели. Модель динамики выставлена в режим UAV, приёмник подстроен под полёт мультиротора с резкими разгонами и большими кренами, а не под автомобильную или пешеходную модель. Режущая маска по возвышению стоит на 3 градуса, спутники ниже трёх градусов над горизонтом отбрасываются. Сняты обе проверки здоровья, и по трекингу, и по решению навигационной задачи: приёмник продолжает использовать спутники, которые система пометила как нездоровые. Это настройка под помехи, когда истинных источников и так мало, терять часть созвездия из-за метки роскошь. В трекинг загнаны все спутники всех систем, 36 GPS, 30 ГЛОНАСС, 36 Galileo и 63 BeiDou, по всем доступным сигналам на L1, L2 и L5. Подавление широкополосных помех включено, аутентификация Galileo OSNMA работает в мягком режиме, не отбрасывая сигналы при первой подозрительности. Два порта, COM2 и COM3, разогнаны до 460800 бод, это высокоскоростные линии, одна из которых наверняка смотрит в полётник. А вот логирование на внутренний диск выключено, файлы на нём стёрты, L-band подписки отключены, Ethernet выключен.
Порт GPS1 на стороне полётника настроен как GPS на скорости 38400, и порт GPS2 прописан точно так же. Дефолт у ArduPilot здесь другой, 57600, а официальная рекомендация для связки с Septentrio вообще 115200, то есть оба значения выставлены специально, причём одинаковые на обоих портах. Сначала возник вопрос зачем так? Дефолтная скорость u-blox-приёмников ровно 38400, а на других трофейных бортах этого семейства на GPS1 стоит именно u-blox. Похоже, у сборщиков был единый шаблон параметров полётника на все борта сразу, а разницу железа гасили на стороне приёмника: у u-blox она и так совпадала, у Mosaic порт подгоняли в его собственном конфиге. Работает это только потому, что GPS_AUTO_CONFIG=0, полётник ничего не договаривает с приёмником, и скорость обязана совпасть вручную с обеих сторон. Хватает ли 38400? Для обычного позиционирования да: драйверу Septentrio нужен короткий набор блоков SBF, на такой скорости он проходит с запасом.
Как заходить в Mosaic и настраивать его под свой борт, расскажем в отдельной статье.
Модель для установки антенны на Лазарь можно скачать.
SineLink 2: разбор линка второго поколения
Несколько месяцев назад мы разбирали первый SineLink. Сегодня нам попался полный комплект второго поколения.
Корпус теперь модульный, внутри два слота под сменные радиомодули, у каждого свой SMA и свой обдув. Слот первый, условно «1G», это прямой потомок старого SineLink по частотному диапазону. Слот второй, «2G», это дополнительный диапазон частот. Дальность выросла до 140 км, передатчик до 2 Вт.
Управляет всем микроконтроллер STM32H750 на ядре Cortex-M7 с частотой 480 МГц, против скромного STM32G431 в первом поколении. Радиочип Semtech LR1121, третье поколение LoRa-трансиверов у Semtech. И вот здесь начинается самое интересное.
Даташит LR1121 описывает четыре рабочие полосы: привычный sub-GHz (150–960 МГц), L-band 1525–1660 МГц, S-band 1900–2200 МГц и классический ISM 2.4 ГГц. Производитель поставил в борт модуль с маркировкой «Band: 1600–2700», и это не опечатка. Стандартные FPV-джаммеры работают по 700–1000 МГц и по 2.4 ГГц, потому что там сидят ELRS и первые SineLink. А тут линк прыгает по 1100 МГц полосе, захватывая L-диапазон. Внутри 1610–1626 МГц сидит восходящий канал Iridium, выше идёт спутниковый S-сектор. Жечь помехой на этих частотах значит гасить и спутниковую связь.
Дальше усилили адаптивность. Четыре режима FHSS: ручной, одноканальный (модем сам сбегает с зашумлённого канала), многоканальный, где одновременно занято несколько чистых частот, и режим, вычёркивающий каналы по потерям пакетов. Отдельно работает динамическая модуляция: при помехах битрейт падает с 30 кбит/с до 1.5 кбит/с, и линк выживает там, где обычный рвётся. Мощность тоже сама подтягивается вверх, как только растут повторы пакетов.
Маппинг портов расширили до 5 линий: три физических UART плюс два виртуальных на USB-C. Протоколы на выбор: RAW, MAVLink, SBUS и CRSF. Появился полноценный Ethernet с PoE - модем на мачте питается и живёт через один кабель, всё что ходит по UART доступно как UDP-порты. Для тяжёлых комплексов это большой шаг, один шнур вместо пучка.
Канальная инфраструктура выросла в сторону роя. Один мастер держит до 32 бортов с индивидуальными AES-ключами, либо PSK-сеть с общим ключом, это для дешёвых FPV-бортов. Появилась функция Masquerade: мастер за 1 секунду превращается в «умный маяк» и обратно, без перезагрузки. А вместе с Share Slaves это готовая рабочая процедура - борт запускается с одной точки, в полёте оператор в укрытии забирает управление себе, начальный мастер уходит в тихий режим. Внутри сети есть даже чат для операторов на 25 символов, смешно, но имеет место.
Отдельно режим Sinepilot, в котором наземный модем сам генерирует координаты борта из сети маяков SNS и отдаёт их наружу как обычный MAVLink. Официальное применение - антенные трекеры.
Враг сейчас уходит туда, где подавление на бытовом железе не работает - спутниковые L/S-диапазоны, адаптивный FHSS, автоподстройка модуляции и мощности. Чтобы давить такие линки, нужна широкополосная станция, закрывающая и 510 МГц, и весь сектор 1.6–2.7 ГГц. Плюс на стороне платформы сеть маяков, которая ведёт борт без GPS вообще.
Протокол и поведение эфира полноценно не видно на одном модуле, нужен второй экземпляр для пары мастер/слейв. Если у кого-то такой модуль завалялся, вы бы могли помочь нашему изучению.
3D модели для восстановления тяжелого дрона "Лазарь".
Сделали папку с моделями для самостоятельной печати - скачать.
Если у кого есть что добавить, присылайте в личные сообщения сообщества или в бот.
Компас «Лазаря»: разбираемся с модулем QioTek RM3100-CAN
Продолжаем восстановление борта Лазарь. После бортовой электрики дошли до компаса. На луче стоит напечатанная на принтере коробочка с модулем QioTek RM3100-CAN и сенсором PNI RM3100.
RM3100 построен на магнитоиндуктивной технологии, это не эффект Холла. Разрешение 10 нанотесла, на порядок лучше типовых магнитометров. Но интересное тут поведение под нагрузкой. Сенсор почти не плывёт от полей моторов и силовых проводов. По замерам, которые удалось загуглить, он в 5-7 раз менее шумный, чем распространённый LIS3MDL, причём в том числе когда моторы стоят на полном газу. Для борта с батареей 12S на 75 ампер-часов и токами в сотни ампер это обязательно условие. Связь с полётником по DroneCAN на 1 Мбит/с, питание 5 В приходит прямо по шине, вес модуля 7 граммов.
Посмотрим Parameters List и сколько компасов работает на борту одновременно. В памяти полётника откалиброваны три компаса, а реально работает только один. COMPASS_ENABLE=0: встроенный компас Cube отключён полностью. COMPASS_USE2=0 и COMPASS_USE3=0 - ещё два компаса имеют сохранённые калибровки, но выключены. Приоритетный идентификатор COMPASS_PRIO1_ID расшифровывается как DroneCAN-узел номер 125, это и есть наш RM3100 на шине CAN1. А второй идентификатор указывает на компас класса IST8310 на шине I2C, тот самый, что обычно ставят на GPS-модули. При последнем включении он не обнаружился, хотя калибровки от него остались в параметрах. Возможно, борт когда-то летал с компасом на GPS-модуле или тестировался при сборке, потом его сняли и перешли на выносной RM3100 по CAN. Параметры помнят старое железо, и по ним можно читать историю переделок борта.
Что проверить при восстановлении Лазаря. Разъём GH1.25 на плате мелкий и хлипкий, обрыв одной жилы даёт плавающий курс, который выглядит как мистика. Стрелка на плате должна смотреть вперёд по ходу движения, при монтаже на луч не перепутайте направление. Питание модуль берёт по шине. Из параметров в первую очередь смотрим три. CAN_P1_DRIVER=1 и CAN_D1_PROTOCOL=1, без них шина просто молчит и компас не появится. Дальше COMPASS_PRIO1_ID, он должен указывать именно на узел компаса. Если на CAN висит несколько устройств, у каждого свой идентификатор узла, и конфликт номеров даст зависания телеметрии, в нашем дампе компас живёт на узле 125. COMPASS_ORIENT оставляем в нуле - у CAN-компаса ориентация задаётся в самом узле, а не в полётнике, это частая ошибка при переносе привычек с обычных магнитометров. COMPASS_ENABLE=0 здесь норма, встроенный компас отключен. И обратите внимание на COMPASS_MOT: в этом борту он нулевой, компенсацию моторами не настраивали, обошлись выносом сенсора на луч подальше от силовой разводки. Если ваш борт после сборки держит курс криво, а компас стоит близко к проводам, вот вам и ответ, где может быть проблемма.
Калибровка, когда всё собрано и проверено. Убираем от рабочего места металл, ключи, отвёртки, батарейку из кармана. Дальше стандартная процедура в Mission Planner: борт вращаем по всем осям через шесть положений, полётник сам соберёт офсеты и радиусы эллипса. После калибровки обязательная проверка на земле. Курс в HUD должен совпадать с фактическим направлением носа, крутим борт по кругу и смотрим, что расхождение не уходит дальше пары градусов. Если хочется выжать максимум на тяжёлом борту, есть CompassMot, но это отдельная процедура на железном столе, и перед ней обязательно снимаем пропеллеры, без вариантов. В конце сохраняем параметры, перезагружаем полётник и убеждаемся, что компас поднялся на своём узле и магнитное склонение пересчиталось само - COMPASS_AUTODEC здесь включён.
Благодаря помощи участника нашего сообщества удалось быстро подготовить 3D модель луча для установки компаса - скачать.
Полный дамп параметров борта, разбор электрики со схемой был в прошлом посте.
edited
🇷🇺 Собирай «Герани». Приближай Победу!
Условия:
🔺2 варианта оформления:
- Договор ТК РФ;
- Контракт с МО РФ.
🔺Карьерный трек развития в команде;
🔺Работа на территории РФ;
🔺Без опыта (обучение с нуля).
Карьерный трек:
🔺800 000 руб на руки — Начальник группы;
🔺700 000 руб на руки — Инженер;
🔺550 000 руб на руки — Штурман;
🔺450 000 руб на руки — Пилот;
🔺400 000 руб на руки — Техник.
🇷🇺 Хочешь присоединиться к Сталинским Соколам — напиши нам в мессенджер!
Наш Telegram / Наш Max
Неспеша работаем над «Штурманом» - это цифровой мозг, который вживляется в борт напрямую.
Он работает с телеметрией, разбирает логи и общается с полётником так, как это делал бы живой оператор.
Сейчас он обучается на трофейных бортах - изучает чужие дроны, системы связи, прошивки и сценарии работы, набивает руку на реальном железе.
Следующий шаг мы не скрываем. Скоро он начнёт управлять дронами самостоятельно. Процесс уже запущен и не остановится...
Лазарь»: как устроена бортовая электрика. Схема для восстановления
Разобрали трофейный борт - квадрокоптер на Cube Orange с ArduPilot 4.5.4. Схему бортовой электрики пытались восстановить по дампу параметров и осмотру бокса авионики. Выкладываем для коллег, кому придётся ремонтить похожий борт.
Питание собирается из двух 6S-сборок, включённых последовательно, итого 12S на 75 А·ч, это около 3,3 кВт·ч. Дальше два отдельных PDB с чётким разделением ролей. Главный принимает магистраль 48 В и раздаёт её на моторы и на полётник через Power1. Второй PDB кормит всю периферию: 7 В на Raspberry Pi 5 (через понижайку) и две линии 12 В на приёмник Septentrio Mosaic-X5 и на камеру. Зачем два? Силовые нагрузки отделены от цифры, просадка на моторах не роняет питание остального оборудования, компаньон не перезагружается. При восстановлении первым делом прозваниваем каждую линию PDB отдельно на исправность и только потом подключаем FC.
Управление моторами идёт обычным PWM с главных выходов полётника, проверено на стенде. А CAN-шина через хаб используется только как телеметрия ESC по DroneCAN - дамп показывает маску ровно четырёх ESC-узлов, совпадающую с моторными выходами полётника. То есть полётник видит здоровье моторов, но не командует ими по CAN. Незабываем пропеллеры снимать до того, как впервые дадим питание.
GNSS здесь Septentrio Mosaic-X5, и сидит он на порту GPS1 в нативном протоколе SBF. Важная деталь для восстановления - сборки у этой платформы разные, иногда в части бортов на GPS1 стоит обычный u-blox, поэтому сверяйте железо. Антенна у GNSS одна, второй «грибок» на луче это компас, он висит на шине CAN1, а CAN2 занята телеметрией моторов.
Raspberry Pi 5 подключён к телеметрийному порту полётника, а Starlink заходит в Pi по Ethernet. FC терминал не видит вообще: для автопилота вся связь выглядит как MAVLink 2 на 115200 на первом последовательном порту.
Три канала сброса груза сидят на AUX1–3, их питание идёт с PDB через силовую линию на MAIN8. Вентилятор охлаждения вообще не управляется, он просто крутится, пока есть питание. Сбросами командует не полётник, а компаньон Raspberry Pi 5 по MAVLink, минуя полётный микшер. Единственный активный AUX, шестой, прописан как проход канала RC7 с пульта, диапазон 1000–1550, и по схеме он уходит на камеру - это управление подвесом. Вывод для восстановления - параметры надо сверять со схемой обязательно, канал без функции в дампе выглядит мёртвым, а на деле им командует другой бортовой узел, а вентилятор может вообще жить своей жизнью.
Аварийные режимы здесь отключены почти наглухо. При потере связи с оператором борт не возвращается. Все мы помним что часто Лазарь летит в один конец и часто на расстояния 40-60 км!! Миссия стирается автоматически при срабатывании любого аварийного режима. Телеметрия на землю заглушена.
Полный дамп параметров можно скачать.
🇷🇺 Вступай в корпус ПВО «Сталинских Соколов» и защищай стратегические объекты!
Мы предлагаем:
🔻Удобный график: 2 дня работаешь, 2 дня отдыхаешь (cмены по 12 часов);
🔻Работа с высокими технологиям.
Карьерный трек:
🔻513 000 руб на руки - Техник FPV;
🔻565 000 руб на руки - Пилот FPV;
🔻617 000 руб на руки - Ответственный за пост FPV;
🔻665 000 руб на руки - Командир смены FPV.
🇷🇺 Присоединяйся к корпусу ПВО «Сталинских Соколов»
🔻Наш Telegram
🔻Наш Max