Телеметрия (часть 2)

Paddler
baychi:

А как Вы планируете учитывать высокие деревья, провода, или просто демонстрантов с флагами? 😃

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

ukkr

Можно ведь учитывать показания бародатчика для определения высоты, а не ГПС.

Frr

Дополнение к смотрелке логов - добавлен экран с телеметрией.
Надо распаковать этот файл после предыдущих 5-ти файлов, и дополнения, туда-же.
Телеметрия включается/переключается клавишей “t”.
Ускорить/замедлить - стрелки вверх/вниз, остановить - “p” или PAUSE, скриншот в файл - “c”.
Подсказки по клавишам - “h” или “F1”.

Исправлено чтение лога без заголовка из поста #3156,
и карта для этого лога.

smalltim

>Сильно сомневаюсь, что Тим будет менять старое на новое, даже с доплатой…

Это про что? Мелкая телеметрия ващета изначально предполагалась как в полном комплекте со всеми датчиками, так и просто как платка. Притащил домой, бросил в фюзеляж, воткнул датчики из старого комплекта и вперед! 😃

>а реально сварганить управление через сотовую сеть? Как вариант в качестве дублирования основного РУ, например при сваливании в фэйлсэйф

А зачем изобретать то, что давным-давно изобретено до нас? Аппа такая, какая она есть, и смысла особого городить свой канал радиоуправления нет, тем более что лучше штатного почти наверняка не получится. Управлять моделью по сотовому - это по сути апдейтить полетное задание автопилоту в реальном времени, поскольку непосредственно рулить самиком будет невозможно. Это интересно, да, и даже теоретически возможно сделать (GSM модуль с UART, на который шлются SMSки с данными в ASCII), но практического смысла в применении к FPV мало. И ваще айяйяй 😃

Так что пока - коль пропала связь на родной аппе, врубается автопилот и тащит модельку домой.

А радиоканал - отдельная тема, он не для радиоуправления.

slides
smalltim:

>…

Это про что? Мелкая телеметрия ващета изначально предполагалась как в полном комплекте со всеми датчиками, так и просто как платка. Притащил домой, бросил в фюзеляж, воткнул датчики из старого комплекта и вперед! 😃

Это как это “внешние датчики” - типа термо, гпсо и токо ? А все остальное (я имею в виду баро) ! Как ни крути все равно новая телеметрия выходит. И потом как это “бросил” ? У меня ничего не валяется, выдирать придется, что очень неохота…😍

baychi
Frr:

Дополнение к смотрелке логов - добавлен экран с телеметрией.

Исправлено чтение лога без заголовка из поста #3156,
и карта для этого лога.

Спасибо огромное!
Давно хотел просить поправить чтение лога и карту моего “домашнего поля”.
За вывод телеметрии - отдельный респект!

Brandvik

А у меня опять что то не фурычит, все скачал, все распоковал, запускаю например лог_3_бат Изик летает, справка по Ф1 выводится, на буквенные клавиши 0 реакции, даже в оконный режим не переключается…

smalltim

Frr, класс!
А очень трудно будет приделать не линейную, а более модную интерполяцию между сэмплами? А то дергает сильно, мешает сосредоточиться. Я у себя делал сглаживание шума ГПС - тупо шел оконным фильтром по координатам и курсу ГПС. Камеру я не привязываю к самолету в режиме преследования, а грубо говоря, пускаю “за самиком на резиночке”. Она у меня этакую кривую преследования за самиком выписывает, получается гораздо плавнее.

>А все остальное (я имею в виду баро)

Баро покупать новый не хочется? Не хочется. Значит придется просто выпаять и повесить на такие же шлейфики, как термо и токо 😃 У бародатчиков из 8 ног используются 3: земля, питание, выход 😃

Frr
Brandvik:

А у меня опять что то не фурычит, все скачал, все распоковал, запускаю например лог_3_бат Изик летает, справка по Ф1 выводится, на буквенные клавиши 0 реакции, даже в оконный режим не переключается…

Проверил на Вин-ХР, на рус. и англ. раскладке клавиатуры - все клавиши работают.
Может быть новый файл распаковался не туда?
Размер запускаемого файла smtlv2.exe должен быть 1273856 байт. (предыдущий был 975360 байт)
И должен появиться подкаталог fonts.
(В предыдущем не было F1, значит это новый.)

smalltim:

А очень трудно будет приделать не линейную, а более модную интерполяцию между сэмплами? А то дергает сильно, мешает сосредоточиться.

Попробую. “Модная” - это на ф.Калмана, для динамики Изика? (или просто что-бы лучше выглядело?)
Для внимательного разглядывания можно уменьшить скорость - “стрелкой вниз”,
а в особо интересных местах остановить - “p” или Pause.

smalltim

>Попробую. “Модная” - это на ф.Калмана, для динамики Изика?

Да упаси Боже пихать туда Калмана. Не, это всё просто для убирания дергания камеры и резкого махания крыльями при просмотре.
Просто вместо линейной интерполяции кубическую сделать или сплайнами. Чтоб в точке сэмпла не было излома из-за линейной интерполяции от предыдущего сэмпла и до следующего.

см квадратичная кривая Безье - как раз наш случай.

ru.wikipedia.org/wiki/Кривые_Безье

Делается просто: сначала линейная интерполяция по двум сегментам, от сэмпла n-2 до n-1 и от n-1 до n, а потом между полученными значениями еще раз делается линейная интерполяция.

Frr
smalltim:

Делается просто: сначала линейная интерполяция по двум сегментам, от сэмпла n-2 до n-1 и от n-1 до n, а потом между полученными значениями еще раз делается линейная интерполяция.

Там это есть, только не по целым сегментам, а по небольшой части около “n-1” , по картинке - P1.
Если на подъеме смотреть снизу, то видно как трек ползает по пузу, как трамвайный провод.

Brandvik

Спасибки за подсказку, фаил smtlv2.exe почему то не весь распаковался… перераспаковал и все заработало!
Frr. Заметил что прибор который показывает крен и тангаж самолета наклоняется гораздо больше чем изик, это нормально?

Тимофей, я тут как обычно с рац. предложениями…
На сей раз по поводу руления хвостом.
Идея такая. Имеем 4х кнальный самолет. элероны на одном канале или через V микшер.
В случае ассистента, запретить автопилоту пользоваться хвостом.
Поясню почему. Дело в том что чаще всего возникает просто крен, и если он быстро исправляется (чем и занимается ассист.) то “курсового смещения” не происходит. Если же он будет исправлять крен элеронами+хвост, то как мне кажется неизбежно возникнет курсовая раскачка… что не есть хорошо для сьемок…
В то же время, в режиме автопилота исравление ошибок по крену тоже только элеронами, а когда идет команда поворта куда либо, то вот тут уже надо задействовать еще и хвост что бы получить красивый и более быстрый скоординированный разворот.
Что скажешь на это?

PigTail
Paddler:

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

Тогда это уже не автопилот, да и на какое расстояние Вы сможете на 5-метровой высоте увидеть, да и за первым же препятствием полет станет неуправляемым. Вообще то проскакивала темка с ультрозвуковым удержателем высоты rcopen.com/forum/f87/topic151627 .

Paddler
PigTail:

Тогда это уже не автопилот, да и на какое расстояние Вы сможете на 5-метровой высоте увидеть, да и за первым же препятствием полет станет неуправляемым. Вообще то проскакивала темка с ультрозвуковым удержателем высоты rcopen.com/forum/f87/topic151627 .

Ну так там же еще и камера стоит, я думаю она поможет :о)
А за ссылочку спасибо, пошел изучать…

smalltim

>Идея такая. Имеем 4х кнальный самолет. элероны на одном канале или через V микшер.
В случае ассистента, запретить автопилоту пользоваться хвостом.
Поясню почему. Дело в том что чаще всего возникает просто крен, и если он быстро исправляется (чем и занимается ассист.) то “курсового смещения” не происходит. Если же он будет исправлять крен элеронами+хвост, то как мне кажется неизбежно возникнет курсовая раскачка… что не есть хорошо для сьемок…
В то же время, в режиме автопилота исравление ошибок по крену тоже только элеронами, а когда идет команда поворта куда либо, то вот тут уже надо задействовать еще и хвост что бы получить красивый и более быстрый скоординированный разворот.
Что скажешь на это?

Э… Не знаю, что сказать. В настройках типа модели выбираешь, например, не “Классика (Элероны + РН + РВ)”, а “Икар” - у него нет руддера - и усё. Тогда автопилот не будет рулить руддером вообще. Всё, и стабилизация, и автопилот будет рулить только элеронами/РВ. При этом канал руддера будет проходить через автопилот насквозь без изменений.
Проверено неоднократно, работает без проблем, крена без руддера для разворота на базу хватает.

Единственное что я сейчас сделаю - залезу в код и убедюсь, что при таких установках выходной PPM на канале руддера при включении автопилота и ассистента встает в нейтраль.

Вот еще одна мысль есть: когда модель имеет и элероны, и руддер, и РВ, то можно в режиме автопилота рулить на базу строго блинчиком: элероны держат модель в горизонте, а руддер тащит на базу.
Но это, во-первых, непонятно, кому надо, во-вторых, эффективность разворота одним руддером в плоском полете - не очень, и, в третьих, это сделать слишком просто и поэтому неинтересно 😃

baychi
smalltim:

Но это, во-первых, непонятно, кому надо,

Для съемки полезно. Сделай опцию в настройках, пригодится.

smalltim

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

Что-то сильно нежные эти ультразвуковые датчики, И так их не ставь, и сяк их не трогай 😦

>Для съемки полезно. Сделай опцию в настройках, пригодится.

Ок. Но поспорю лишь ради спора: для съемки нужен режим “ассистент”. Режим “автопилот” нужен для спасения модели, и тут не до ровного горизонтального полета блинчиком.

>Единственное что я сейчас сделаю - залезу в код и убедюсь, что при таких установках выходной PPM на канале руддера при включении автопилота и ассистента встает в нейтраль.

Стоп, это я неправильно сказал. При включении ассистента руддер не надо принудительно ставить в нейтраль. Пусть пилот имеет возможность отдать стабилизацю самика в горизонт ассистенту (элероны и РВ), а сам рулит руддером как ему надо. Будет радиоуправляемая машинка 😃

baychi
smalltim:

Ок. Но поспорю лишь ради спора: для съемки нужен режим “ассистент”. Режим “автопилот” нужен для спасения модели, и тут не до ровного горизонтального полета блинчиком.

Да, конечно, ассистенту. Или при полете по точкам.

И еще я все про резкий сброс высоты думаю. Может тоже опцией сделать, - сразу сбрасывать, линейно до базы, или сохранять до последних 200 м удаления. Кроме всего прочего, - глядя на клип, где мой Изя теряет 100 м высоты за 7 сек, разгоняясь до 110 км/ч - думаю, что было, если бы он на 1 км в режим автопилота перешел?

Вахтанг
baychi:

Вручную можно и BGA запаять. Вопрос нужно-ли? Есть некий технологический предел, когда ручная пайка становится менее эффективна, чем пайка в печи.

Согласен. Но, сколько человек, из здесь присутствующих, имеет доступ к печи. Даже у меня, профессионально занимающего разработкой и сборкой ПП, его нет (то, что ест я не считаю хорошим устройством). Не выгодно экономически, пока! Зато имеется хороший микроскоп, хорошая паяльная станция и не кривые руки. BGA отдаю на производство, пока (хотя могу и сам запаять), остальное паяю руками. Если конечно 1-5 плат. Если больше, то рядом завод САМ, оснащенный всем необходимым оборудованием, и хорошие отношения и договор о сотрудничестве. Правда подготовка производства занимает больше времени, чем спаять вручную 😃, но когда заказ на >50 плат, то лучше на линии.
Я не призываю всем стать высококлассным монтажником, но в нашем деле иметь “правильный” инструмент и уметь ею пользоваться не помешает. В связи с переходом на бензиновые самолеты, решил разработать PowerBox. Как-то жалко отдавать за него $800! На 50СС в него особой необходимости нет, но через год захочется 100СС, а там без него никак. Правда, это тема не для этой ветки.

baychi:

Да, конечно, ассистенту. Или при полете по точкам.

И еще я все про резкий сброс высоты думаю. Может тоже опцией сделать, - сразу сбрасывать, линейно до базы, или сохранять до последних 200 м удаления. Кроме всего прочего, - глядя на клип, где мой Изя теряет 100 м высоты за 7 сек, разгоняясь до 110 км/ч - думаю, что было, если бы он на 1 км в режим автопилота перешел?

Понятное дело, что! Стремительное продолжение полета к планете, со сложенным или отвалившимся крылом 😦
Тимофей - Наверно не сложно добавить несколько строк анализа текущей высоты (ваше предыдущее мнение читал), и если она не создает опасность гражданской авиации, то не совершать резких движении, особенно, если разница всего пару сотен метров вверх! а вот, если ниже безопасной высоты, тогда да.

smalltim

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

А на данный момент никто не мешает ограничить угол тангажа до ± 10-15 градусов, и никаких сложенных крыльев не будет 😃 У baychi самик под 45 градусов вниз пошел к целевой высоте…

smalltim

Коллеги, нужна помощь.

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

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

kulikof
smalltim:

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

Ну так сделай еще один тупой но эффективный вариант
Ломимся домой на не менее чем S скорости по барику.

Если не долетели то боремся за высоту (расходуем аклематор) и прем дальше
Если долетели а высота выше установленной (алах ахбар) то грациозно спускаемся по спирали, следим только за S скоростью по барику

для меня к примеру S=50 км/ч

baychi
smalltim:

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

Предлагаю следующую логику “линейного снижения”. В каждой точке имеем две величины: разность высот= текущая-требуемая и удаление от базы. По ним вычисляем угол наклона к горизонту который и задаем РВ, естественно не превышая предела. Таким образом мы будем выдерживать не прямую снижения а лишь “намерение снижаться”, но по моему этого будет достаточно.
Линейное снижение (или набор высоты)- в любом случае потребутся в режиме “полет по точкам”.

Предлагаю также ввести 3 варианта выхода на заданную высоты при возврате (по выбору пользователя). 1) Как сейчас. 2) Линейное снижение. 3) Удержание текущей высоты (если она больше заданной) до точки удаления от базы, где глиссада снижения будет имет угол равный максимально возможному (параметр Pitch). То есть лететь сохраяя высоту, а потом резко сбросить ее перед базой.
Считаю, что самым экономически выгодным будет в среднем 2-й вариант.

kulikof:

Ну так сделай еще один тупой но эффективный вариант Ломимся домой на не менее чем S скорости по барику.

У бародатчика есть один недостаток, в отличии от GPS мы не знаем работает он или нет. А если работает, то насколько верно? Так небольшая соринка попавшая в трубку занизит нам бароскорость на неизвестную величину.
Считаю, что показания бародатчика лучше не использовать в простейших алгоритмах, а оставить для расширенной “пользовательской” логики (если таковая будет реализована).

Brandvik

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

По логике снижения: А если поступить так. Имеем превышение. Включается автопилот по ограничениям. Разворачиваем модель на среднем газу на базу. Как только модель встала на курс базы, выключаем мотор, запоминаем координаты и переходим в режим “планирования” с заранее заданной скоростью. Так летим в течении 5с запоминаем еще одну точку, через эти две точки проводим прямую и смотрим, прямая попадает в землю за точкой взлета? ДА-> Увеличиваем тангаж на пикирование на 3-… град. еще 5с и сново срвнение предпоследних точек. Таким образом имперически модель будет стремиться увеличить скорость и тангаж без применения мотора. (естественно нужны ограничения на тангаж и мах скорость, а то с 2х км над точкой взлета оно тупо начнет пикировать 😃 )
Если же потеря высоты больше чем того позволяет простое планирование и прямая попадает в землю до точки взлета. Ну и хай себе планирует так и дальше. А как достигнет заданной высоты подлючит и моторчик для ее сохранения.

Тут встает еще один вопрос, что если встречный ветер оч. сильный и модель на планировании тащит назад, или же она стоит на месте? Тогда моторчик надо подключать сразу, что бы скорость по GPSу была скажем не меньше 10 км\ч

З.Ы. Точка взлета для аварийного возвращения находится на заданной высоте…

Короче есть надчем поломать голову 😉

kulikof

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

Глядишь и автопилоту будет легче

baychi:

У бародатчика есть один недостаток, в отличии от GPS мы не знаем работает он или нет. А если работает, то насколько верно? Так небольшая соринка попавшая в трубку занизит нам бароскорость на неизвестную величину.
Считаю, что показания бародатчика лучше не использовать в простейших алгоритмах, а оставить для расширенной “пользовательской” логики (если таковая будет реализована).

У Барика есть один недостаток это когда его НЕТ

Brandvik:

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

Полность согласен
“правильно” летать можно только по барику

rcopen.com/forum/f90/topic154286/53
Вот видео полета с ветром 10 - 12 м/с

смотрим внимательно
на 7 минуте 22 секунде видео падаем, а почему
а потому что идем по ветру скорость ветра 25-30 км/ч
скорость по барику и жпс 58 км/ч то есть скорость движения в воздушной массе меньше допустимой - прощай модель