А не сделать ли нам OSD?

Shuricus

В продолжения разговора:

Всем не особо нравится MinimOSD (MavlinkOSD). Особенно, те что с РЦТаймера, потому что именно они постоянно горят. А если и не горят, то все они сильно греются, и графика тоже не балует красотой.
Единственное, что есть хорошего у этих ОСД - то что написаны открытые прошивки с поддержкой Арду, Мультивии и даже НАЗЫ!

Причем для Мультивии прошивка позволяет через ОСД настраивать параметры прошивки полетного контроллера.

Теперь собственно идея - перенести весь этот функционал на более современную платформу, например на СТМ32, с красивой и аккуратной графикой.

И либо организовать изготовление этих ОСД у китайцев, либо как минимум платок для самостоятельной пайки.

Помимо функционала МинимОСД, видятся следующие расширения:

  1. Подключение ЖПС
  2. Датчика тока и напряжения
  3. RSSI с аналоговым фильтром
  4. А так же, сразу встроенного LC фильтра по питанию
  5. Как вариант - еще переключатель двух видео входов

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

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

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

Всех желающих просим участвовать!

Если будет продолжение - все новости буду выкладывать в дневнике, а-ля апдейт первого поста.

AlexSneg

Сделаю перепост сюда.

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

  1. обоснование реализуемости, хотя бы теоретическое (эскизное проектирование)
  2. техническое задание, РКД
  3. реализация
  4. испытания, багфиксинг

Соответственно, для начала, кто-то заводит тему (уже завели) и там собирается материал, раскрывающий главный вопрос - а позволяет ли мавлинк реализовать то, что мы хотим видеть по плавности и информационной насыщенности (то есть пункт №1). Ибо, как верно заметили, а кто сказал, что мавлинк позволит получать данные с достаточной скоростью и частотой? Если ответ на этот вопрос - Да, тогда имеет смысл собрать команду энтузиастов и замутить реализацию. Если ответ - нет, а тогда и смысла нет. Нам, чтобы гладко рисовать надо как минимум достичь следующих скоростей:

  1. крен, тангаж, курс - 20 раз в секунду с точностью до 1 градуса (лучше 25 раз в секунду и с точностью до 0.2 градуса)
  2. высота с бародатчика, минимум 20 раз в секунду с точностью до 2ого знака после запятой, уже отфильтрованая (а иначе - фиг мы вариометр нормальный отрисуем).
  3. воздушная скорость. Либо отфильтрованая и подготовленная автопилотом не менее 5 раз в секунду, либо сырая до 30 раз в секунду (лучше больше)
  4. с датчиком тока, пока темная тема. Зависит от устройства, которое берет на себя функцию расчета.
  5. остальые параметры хотя бы до 5 раз в секунду

Все параметры, конечно IMHO. Но, я как бы примерно с такими скоростями это сейчас и зарисовываю.

Shuricus

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

X3_Shim
Shuricus:

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

Если без мавлинка, непонятно как цеплять к стандартному ардупайлоту.
Вопрос в том, что профита может быть два “скорость” и “красота” или только “красота”. Хотелось бы все получить оптом. В общем ничего не обещаю, но смотрю в мавлинк, напишу тестик, буду смотреть с какой реально частотой передается по уарту “горизонт” и остальное.

AlexSneg
Shuricus:

Как вариант - еще переключатель двух видео входов

сразу встаем на грабли аналоговых переключателей. Не подходит под критерий всенародное ОСД. Потянет бабки из кармана юзеров. И чем переключать? Мавлинк дает возможность считать каналы приемника?

Shuricus:

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

Мое мнение - чисто в параллель нельзя, ибо есть куча камер, которые отрежут постоянную составляющую, и дадут нам такие грабли прямо в лоб промеж глаз.
Ставить надо в разрыв между двумя MAX4090. Есть опасность,что глючное ОСД зарежет видео сигнал? Да, есть, однако, даже если в параллель, то все равно эта опасность есть.

Shuricus:

А так же, сразу встроенного LC фильтра по питанию

С питанием надо думать. Любой импульсник добавит шума в общий сетап. Линейник - будет греть атмосферу. Сейчас мозголет в части АП сосет 100мА. 100мА - не вариант для линейника, если на входе 16В, а на выходе 3,3В

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

gorbln
Shuricus:

Особенно, те что с РЦТаймера, потому что именно они постоянно горят…
Теперь собственно идея - перенести весь этот функционал на более современную платформу, например на СТМ32, с красивой и аккуратной графикой.

Так горит-то не ардуина, а МАХ. Собственно, если его не менять - смысл подобной разработки не очевиден. Другое дело - если как-то ограничить возможности сгорания максины, но это знать надо - а чего она собственно горит.

Но вообще - идея мне нравится. Универсальное и мощное ОСД, с возможностью собрать его самостоятельно - это прекрасно. Только не пожалейте места, сделайте супрессоры по всем наружным цепям.

X3_Shim
AlexSneg:

Мавлинк дает возможность считать каналы приемника?

Как я уже писал, да, передаются все каналы.

gorbln:

ак горит-то не ардуина, а МАХ.

В предлагаемом решении никакого макса не будет. Макс это чисто текстовая фигня предназначенная для вывода телетекста.

gorbln
AlexSneg:

Мое мнение - чисто в параллель нельзя

Максину нельзя, вроде как, а ОСД на LM1881 - только так и подключают. Но тогда надо будет делать ОСД на МАХ + LM. Потому что надо будет синхронизировать сигнал ОСД и камеры. Ну мне как-то так видится.

X3_Shim:

В предлагаемом решении никакого макса не будет.

Совсем другое дело!

AlexSneg
gorbln:

Максину нельзя

Я не про тот МАКС писал, про который вы подумали 😃 гыыыыы )))))))

X3_Shim:

Как я уже писал, да, передаются все каналы.

Вот это уже хорошая перспектива.

Shuricus
AlexSneg:

сразу встаем на грабли аналоговых переключателей. Не подходит под критерий всенародное ОСД. Потянет бабки из кармана юзеров. И чем переключать? Мавлинк дает возможность считать каналы приемника?

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

AlexSneg:

С питанием надо думать. Любой импульсник добавит шума в общий сетап. Линейник - будет греть атмосферу. Сейчас мозголет в части АП сосет 100мА. 100мА - не вариант для линейника, если на входе 16В, а на выходе 3,3В

У меня видеолинк на всех моделях питается напрямую от 3S. Без LC фильтра жутко полосит. Там нужна мелкая катушка и два кондера. Я думаю так у большинства.

gorbln:

Так горит-то не ардуина, а МАХ. Собственно, если его не менять - смысл подобной разработки не очевиден. Другое дело - если как-то ограничить возможности сгорания максины, но это знать надо - а чего она собственно горит.

Я нигде не говорил, что горит Ардуина, все знают что горит Макс и почему. Поэтому в этой разработке ни то ни другое не предполагается изначально.

Речь идет пока о схемотехнике мозголета. Там другие Максы стоят! )

alexeykozin

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

Drinker
Shuricus:

Всех желающих просим участвовать!

Дринкер подключается. Щас паять, хоть и лень буду. Пять проводков-то осилю надеюсь.

AlexSneg:
  1. обоснование реализуемости, хотя бы теоретическое (эскизное проектирование) 2) техническое задание, РКД 3) реализация 4) испытания, багфиксинг

А если сначала поделка, а потом ТЗ?

alexeykozin

вот интересно а не бывает какого нибудь компактного чипа микроконтроллера (ног на 32-40) чтоб в нем уже был интегрирован видеовыход.
есть ведь ноутах и всяких гаджетах выдеовыходы.
ведь если такой выход есть то там уже pal будет аппаратный тоесть можно будет батареечку показать зелененьким а предупреждения красненьким.

и еще идея - под занавес компьютера “синклер” пал энкодер в плм уже был?

X3_Shim
alexeykozin:

ожно и скорость 115200 задать и параметры чтоб лились с высокими скоростями

Пока у нас на одном порту сидят телеметрийный модем (со воздушной скоростью порядка 64 килобита) и OSD, кажется нет большого смысла поднимать скорость порта.

X3_Shim

Написал простенький тест (не использую MavLink библиотеку), смотрю как часто мессаджи приходят.

Чет пока все грустно. АП отдает “ATTITUDE ( #30 )” 10 раз в секунду примерно.

The attitude in the aeronautical frame (right-handed, Z-down, X-front, Y-right).
Field Name Type Description
time_boot_ms uint32_t Timestamp (milliseconds since system boot)
roll float Roll angle (rad, -pi…+pi)
pitch float Pitch angle (rad, -pi…+pi)
yaw float Yaw angle (rad, -pi…+pi)
rollspeed float Roll angular speed (rad/s)
pitchspeed float Pitch angular speed (rad/s)
yawspeed float Yaw angular speed (rad/s)

Проверял через USB и на прямую к UART0 цеплялся. Одинаково раз в 120 миллисекунд посылка attitude идет.

Посмотрел частоту всех сообщений.
Самые часто передающиеся это
“ATTITUDE ( #30 )”
“VFR_HUD ( #74 )”

Остальные передаются примерно в 4 раза реже.

Drinker
X3_Shim:

Проверял через USB и на прямую к UART0 цеплялся. Одинаково раз в 120 миллисекунд посылка attitude идет.

А что если осд снабдить иму, мпу6050 к примеру? Горизонт ой как плавно будет отрисовываться. Брекауты c мпу, компасом и баро смешные по цене нынче. Вот например www.aliexpress.com/wholesale?SearchText=mpu6050 hm…

Хотя, тогда автопелот с осд получается…

X3_Shim
Drinker:

Хотя, тогда автопелот с осд получается…

😃

Drinker

15$ сенсоры и 20$ проц, запаянный в 40-ногом формате поди плохо?

X3_Shim
Drinker:

15$ сенсоры и 20$ проц, запаянный в 40-ногом формате поди плохо?

Ну и выставлять уровень для двух IMU, калибровать два IMU… Ну его наффиг 😃

Drinker
X3_Shim:

Ну и выставлять уровень для двух IMU, калибровать два IMU… Ну его наффиг

А вот тут есть идея. Иму в осд “захватывает” положение от источника и в паузах между его посылками использует свои показания.

Типа “физическая аппроксимация во времени” думаю за промежутки между мавлинковскими пакетами углы в иму осд и источника разойдутся не намного.

X3_Shim
Drinker:

А вот тут есть идея. Иму в осд “захватывает” положение от источника и в паузах между его посылками использует свои показания.

Идея понятна. А можно еще интерполяций заниматься. Надо то, всего удвоить частоту показаний. Положение знаем, скорость знаем. Фигня вопрос. Шучу конечно. По моему это лишнее усложнение. Мне вот и 10 герц хватает в общем то. Самолет все равно меееедлеееный 😃

Drinker

Это еще посмотреть надо чей (осд или источника) горизонт более корректен 😃

X3_Shim:

Мне вот и 10 герц хватает в общем то.

Тогда чем не устраивет дерготня и заторможенность в мишн планнере?

X3_Shim
Drinker:

Тогда чем не устраивет дерготня и заторможенность в мишн планнере?

А я хочу красивую картинку наложенную на видео. Без компа. 😃

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