Smalltim OSD and autopilot (часть 2)

baychi
Oliver:

Надо доводить до ума наземку и иму и начинать новый проект на новом железе?

Я имею в виду Ваше минималисткое ответвление - Телеметрия плюс все, все, все… 😃
У большого АП пока свободно 50% ресурсов по обеим видам памяти.

Frr

На значек реального курса надо еще несколько символов, со смещением в долю клетки - поместится?

Если теперь все данные есть в наземке, синхронно с видео,
может прицепить к ней Ардуину с max7456 и замешивать этот значек на земле ?
Задержки не будет, куча места для кода и символов, есть примеры исходников.
И “первоочередные” задачи не страдают
(каждый свои хотелки - своими силами, или общественными - если много желающих).

Oliver
Frr:

может прицепить к ней Ардуину с max7456 и замешивать этот значек на земле

Ну это уж, знаете ли…

Мне кажется более реалистичным вариант, если сделать возможность подключать телеметрию к ИМУ в таком же режиме, как к АП, т.е. самим формированием изображения будет заниматься ИМУ, а ТМ только принимать датчики и вваливать сформированное изображение в видеосигнал.

StormAlex

Обьясните мне как настоящему пилоту малой авиации - что за значек реального курса? И что вообще за реальный курс такой?
Если кто то перевел true course или true heading как реальный курс - то это не верный перевод.

В авицаии есть два севера. Георграфический и магнитный! И БУМ! Представьте себе они отличаются )) Все пилоты используют карты где севером является полюс и точка откуда выходят долготы. В действительности же все навигационное оборудование использует магнитоное поле земли которе проходит волной через всю землю и северный магнитный полюс находится в Канаде! Поэтому если вы приложите линейку к карте и вычислеите, что для перемещения из А в Б вам нужно лететь курсом 360 то в Б вы можете и не оказаться. Потому как навигационное оборудование будет указывать на магнитный курс. Именно по этому на авиационных картах обозначено отклонение и оно может быть западным или восточным. Это отклонение показывает на сколько градусов в данном масштабе карты магнитный курс отличается от географического. С его учетеом высчитывается расчетный курс потом на него накладывается данные по направления и скорости ветра и получается true heading

Oliver
StormAlex:

что за значек реального курса

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

Pavel_K
StormAlex:

что за значек реального курса?

думаю, что реальный курс в данном случае это путевой угол (направление полета), по факту его и показывает телеметрия, т.к. данных по истинному курсу (куда смотрит нос самолета) ей взять неоткуда пока. А магнитный курс у нас вообще выдавать нечему, нету компасов на борту…

А вот отображать на экране точку, где предположительно самолет коснется земли, это вопрос не только и не столько в расчетах точки, а сложные расчеты по определению места ее рисования на экране, камеры-то у всех с разными линзами, разными углами установки, а у некоторых они еще и поворачиваются… 😵

smalltim
Pavel_K:

А магнитный курс у нас вообще выдавать нечему, нету компасов на борту…

В ИМУ есть, с коррекцией магнитного склонения.

Я так понял, вам надо показать направление скорости модели относительно земли с учетом ориентации по компасу. При наличии ветра оно как раз не совпадает, ориентация по компасу оказывается повернутой в ту сторону, откуда дует ветер, на величину, зависящую от силы ветра.

Pavel_K
smalltim:

В ИМУ есть

но ИМУ-то только у разработчика пока и есть! А остальные пока только облизываются…

ну а maloii хочет, чтобы на экране обводилась точка, где самолет коснется земли, если продолжит лететь как летит в данный момент. Эдакая курсо-глиссадная система, только без привязки к конкретному месту на земле, а с выводом на экран (с учетом направления камеры, ее фокусного расстояния, угла сноса модели, ее тангажа и крена) в месте касания.

А вот, кстати, можно добавить в “хотелки” к автопилоту курсо-глиссадный указатель? Для посадки в месте взлета с тем же курсом, который был на взлете? Угол наклона глиссады сделать настраиваемым, ну или на крайний случай забить какой-нибудь не очень крутой, градуса 3-3.5. Включать при полете на удалении менее 500 метров и высоте менее 150 метров. В центре экрана рисовать крестик, а положение по курсу и высоте отображать горизонтальной и вертикальной линией, если идешь по глиссаде в точку взлета с тем же курсом, с каким взлетал, то линии стоят в центре и закрывают крестик, а если отклонился немного от этой посадочной траектории, то линии смещаются в ту сторону, куда надо довернуть. Как в курсо-глиссадных приборах у обычных самолетов.

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

Annex
maloii:

визирная метка реального курса, и чтобы она смещалась с учетом поворота камеры. Для того чтобы я за метров сто мог правильно прицелится в ворота с учетом того что самолет сносит боковым ветром.

Кстати сказать, фишка то очень полезная!
Кто то упомянул Ardu Pilot, могу ошибаться но у них я такое кстати и видел.
Фактически да, она в отличии от нашей стрелочки направления (чуть ниже середины экрана) показывает место на земле. Может не у них а где то в DIY Drones, но у кого то оно реализовано…

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

Особливо полезно если плохая видимость туман, сумерки, ночь.

Я летел в несильном тумане назад, неприятненько так как видно все очень плохонько:)

Но кстати, я сажусь на дорогу где нет разметки как на ВПП, и нанести мне ее там недадут:) Частенько сложно расчитать скорость снижения так как ориентиров нет. А этот зверек визуально дает возможность четко контролировать сколько осталось до точки старта. А так приходится вглядываться в цифры.

И того:
Газ - цыфры (предложен ползунок визуальный)
Высота - цыфры (да еще и врет, ну да бог с ним) 😉
Скорость - цыфры
Расстояние до базы - цыфры (предложена метка)

Дык, если есть возможность, то можно и облегчить восприятие:)

StormAlex

посмотрел видео. кружочком отмечена обычная GPS навигационная точка. в данном случае это полоса 08 аэродрома с кодом LOWI по классификации ICAO
никакие крылышки ничего там не обозначают.

в нашем случае с телеметрией можно только показывать на экране точку старта.

Тимофей, даю идею ))
для Автопилота вижу другое более удачное применение:
предположим я захотел облететь какой то маршрут сам, без автопилота (на руках), я занес в автопилот данные точек и пусть мне автопилот показывает на экране где первая точка находится и расстояние до нее, пролетев ее в каком то радиусе АП переключается на на вторую навигационную точку и так далее. Получим настоящий маршрутный полет вручную.
Как это все удобнее обозначить можно обсудить

Annex

Да, сорри, посмотрел их видео, она там для понта по середине экрана статично висит.
И в Remzibi и в Ardu.
А на базу как у нас, стрелочка:(

А было бы здорово!

smalltim
StormAlex:

предположим я захотел облететь какой то маршрут сам, без автопилота (на руках), я занес в автопилот данные точек и пусть мне автопилот показывает на экране где первая точка находится и расстояние до нее, пролетев ее в каком то радиусе АП переключается на на вторую навигационную точку и так далее. Получим настоящий маршрутный полет вручную. Как это все удобнее обозначить можно обсудить

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

StormAlex

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

Annex
StormAlex:

отказаться от одного из трех экранов

Кстати да, и еще +1 к неиспользованию переключения в полете!
Если кто и пишет в высоком качестве, то не с курсовой а дополнительной камеры, на онбордовую писалку.
Думаю тех кто щелкает экранами единицы… 😃

Ильвир

Четыре экрана действительно многовато, но пару нужно оставить. Я переключаю периодически на чистый экран, без ТМ.

maloii
Pavel_K:

А вот отображать на экране точку, где предположительно самолет коснется земли, это вопрос не только и не столько в расчетах точки, а сложные расчеты по определению места ее рисования на экране, камеры-то у всех с разными линзами, разными углами установки, а у некоторых они еще и поворачиваются…

Во первых эта не точка касания, а все таки курс 😃. Грубо говоря у вас есть угол атаки 5 градусов, морда смотрит на 5 градусов вверх а летите вы с углом на 5 градусов вниз, получается что эта метка должна быть ниже центра экрана на сколько то пикселов (тут уже расчет).
теперь про камеры. Пут все стандартизировано, объективов не много, а используемых ещё меньше, плюс размеры матрицы, все это забивается как коэффициенты в расчеты и все под любую камеру настраивается за 5 секунд. В угле поворота тоже нет сложности, выставить центр и крайние положения, ну может ещё экспоненту. Я понимаю что точность не будет зашкаливать, но я думою что она будет в допустимых приделах.

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

Oliver
Ильвир:

Четыре экрана действительно многовато, но пару нужно оставить. Я переключаю периодически на чистый экран, без ТМ.

Там все сделано красиво. Те, кто пользовался 3хх версией автономной ТМ и конфигуратором обратили, наверное, внимание на то, что координат положения на экране у каждого элемента всего две пары. Так что честных экрана - всего два. Но одна координата занимает не 1 байт целиком, а только 5 бит. В итоге остается еще 3 бита, и вот 2 из них использованы для того, чтобы определять, включен или выключен элемент. Т.е. имеем дополнительно для каждого экрана еще 2 “подэкрана” - с неизменным положением элемента, но с индивидуальной настройкой “вкл-выкл”. Места не занимает, а возможность добавляется.
По поводу кода - сейчас если убрать алгоритмы настроек экрана и вернуться к фиксированному положению - сэкономим по большому счету только настройки второго экрана и 14 команд (28байт). А потеряем возможность что-то куда-то передвинуть, скрыть и, что САМОЕ ГЛАВНОЕ, возможность настроить предупреждающее мигание элемента на экране, т.к. проверки на границы мигания выполняются в одном блоке с общей настройкой вывода элемента. Ну вернее не совсем потеряем, можно будет все переколбасить, но выхлопа будет чуть.

Сейчас из хотелок для автономной ТМ вижу только:

  • вывод небольшой шкалы, показывающей положение входного канала (при этом в настройках отключается возможность переключать экраны и настраивать привязку шкал при включении)
  • коэф. (А/B-)х+C для ADC входов, чтобы можно было подключать на незадействованные входы любые датчики и подгонять отображаемые значения под нужные.
    Но второе мне уже кажется что проще сделать железом. ADC7 в последней версии уже будет иметь такую возможность и будет отображаться палочками вместо к-ва RC сигнала, что позволяет подключить любой доп.датчик от счетчика оборотов до посадочных сонаров, а для мониторинг батарей больше чем 3C проще наштамповать платок за 5 $ с хвостиками, разъемами и нужными делителями.

Все вышесказанное - ИМХО, может у кого мысли дельные будут.

baychi
Oliver:

Но второе мне уже кажется что проще сделать железом.

kX+b железом не сделать.
А все-же не проще ли поставить мегу помощней? C 16 кБ флэша к примеру? Цена кристалла - копейки…
Интерфейс отображения можно совершенствовать долго. 😃 Если ориентироваться на лучшие образцы OSD, то можно столько хотелок навыдумывать…

Oliver
baychi:

А все-же не проще ли поставить мегу помощней? C 16 кБ флэша к примеру? Цена кристалла - копейки…

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

SAV=
Oliver:

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

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

maloii

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