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

SAV=
Oliver:

В принципе есть пару кусочков, которые можно ряпнуть, но для горизонта ИМХО этого не хватит. Как вариант - забрать PPM с переключений экрана и выводить его на доп. индикатор - небольшую шкалу. Переключать экраны ведь Вам не понадобится в полете?

Олег, Коллеги, а действительно переключением экранных раскладок в полёте кто нибудь пользуется? Насколько часто?
Я эту функцию не использую никогда.

P.S. Олег, почистите личку… она у Вас полна…😕

baychi
SAV=:

а действительно переключением экранных раскладок в полёте кто нибудь пользуется?

Никогда. 😃

Также из возможный путей экономии места: поддержка наземки далеко не всем нужна.
To Oliver: Олег, советую сделать не одну, а целую серию прошивок: через DEFINE определив отключаемые опции.
Я так в рабочих проектах делаю: набор исходников один, а выходных вариантов до 2-х десятков. Собираются все одним пакетом через make.

maloii

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

SAV=

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

baychi
SAV=:

это получается индикатор реального вектора перемещения… Штуковина работает в трехмерном пространстве…

В горизонтальной плоскости именно этот курс выдает GPS.
Направление носа модели совпадает с направлением компаса (3-х мерный вектор). Имея эти показания можно сделать что-то близкое.
Но ИМХО, очень далеко это от первоочередных задач народного хозяйства. 😃

maloii

Я конечно в математику не вникал, но мне кажется что у нас данных предостаточно. У нас есть углы положения самолета в пространства, по всем 3 осям, при том довольна таки точные. У нас есть курс по GPS, высоты по баро и GPS, вертикальные скорости. Плюс данные с акселерометров. Думою этого хватит.
По поводу народного хозяйства, вопрос двоякий. Конечно много кто летает блинчиком на высоте в километр и падает на брюхо в траву, но так же есть много тех кому нужно посадить самолет на пяточек, а тут эта метка просто спасение. Скажем так, наверху эта метка не нужна, а вот у земли применение для неё масса. Многие элементарно не могут сесть даже на дорогу, сверху вроде прицелился, а как подлетел то понял что уносит в бок, начинают судорожно выруливать и получают сваливание на крыло.

SAV=
maloii:

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

Справедливости ради - конечно ДА! А мне на вертолёте так и подавно… Всегда пятачки…
Но! Сначала первоочередные задачи!

Oliver
baychi:

серию прошивок: через DEFINE определив отключаемые опции

Честно говоря, идею не понял. Или просто не понял хитростей использования DEFINE

SAV=:

переключением экранных раскладок в полёте кто нибудь пользуется? Насколько часто?

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

SAV=:

почистите личку… она у Вас полна…

А форум мне об этом ни слова.

baychi:

поддержка наземки далеко не всем нужна.

А мне показалось все на это только и ломанулись. 😃

baychi
Oliver:

Честно говоря, идею не понял. Или просто не понял хитростей использования DEFINE

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

---- config.h ------
#define MUTLI_SCREEN 3
#define TREKKER_IN_USE 1
-----------------------

----- файлы проекта ----
#include <config.h>

#ifdef (MULTI_SCREEN)
… // эти строки будут компилироваться

#else

… // эти - нет
#endif

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

Oliver
baychi:

Речь об условной компиляции

Ах, в этом смысле… Ну так там уже не до жиру. Там тогда половину проекта придется так дефайнить. 😃

baychi
Oliver:

Ну так там уже не до жиру. Там тогда половину проекта придется так дефайнить.

ИМХО другого способа получить одно за счет другого нет. 😃
Или надо ставить мегу с большей памятью программ. Кстати, есть ли такие, что 5 В и ножка в ножку с существующей, тока памяти больше?

Oliver
baychi:

надо ставить мегу с большей памятью программ

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

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, но у кого то оно реализовано…

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

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

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

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

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

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