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

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 в большей степени составляют датчики, сама же плата стоит копейки. Выпустить новую плату и чисто её продавать на замену. Но в ней уже заложить ресурсов на годы вперед.

Oliver
maloii:

А не хотите выпустить плату новой версии?

Это к Тимофею. 😃 Но у него, думаю, забот хватает и с ИМУ, чем думать о телеметриях. С телеметриями уж как-нить разберемся. 😉

Annex
SAV=:

вход RSSI

Таки да! 😃
Эг си си ай (RSSI) это уже пгосто священно;)
Один из жизнено важных параметров, для тех кто любит летать в ручную:)
Иначе, “ай” и мы уже отлетали;)

StormAlex

Сейчас заказал и опалтил Arducopter-2 стал листать доки и наткнулся на то что при полете по точкам GPS в ПО нужно указывать магнитное отклонение своего местонахождения! Этот как раз то, о чем я писал нескольккими постами выше про географический и магнитный север!

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

Алексей_Сергеевич
Алексей_Сергеевич:

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

Здравствуйте. Продолжил попытки полетов с автопилотом от Smalltim. Проблема та же: в горизонтальном полете линия горизонта колеблется от 45 до 90 градусов к реальному горизонту, сей час это наблюдаю и на земле и в полете, от направления полета не меняется, причем если поднести ладонь снизу к датчику Z, то линия горизонта становится горизонтально (как надо), а если поднести ладонь сверху, то горизонт переворачивается на 180 градусов- тоесть вроде все работает. Попробовал заклеить скотчем нижний пиромет- ни какой разницы. Может попробовать перепаять верхний и нижний пирометр местами (как тут предлогали), или есть еще варианты, что можно сделать?

Ильвир
Алексей_Сергеевич:

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

Просто плату датчика нужно перевернуть на 180 гр. И потом поиграть с настройками по подключению шлейфа, ну типа там плата чипом вниз шлейфом назад(играть нужно соответственно с подключенным самолетом к бортовому питанию и Р/У).