RCHeliClub.ru

Технический раздел => Электроника => | Прочая электроника | => Тема начата: kasmirov от 26 Май, 2016, 12:40:46 pm

Название: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 26 Май, 2016, 12:40:46 pm
Ватсон:  – Таак... Какие-то иероглифы. 
Холмс:  – Прекрасно, Ватсон! Впереди расшифровка. И пусть мне позавидуют все британские египтологи! 

Итак! Задал я себе задачку построить инерциальную навигационную систему на базе общедоступных комплектующих.
Т.е. снабдить разрабатываемую фбл-ку функциями определения своего положения в пространстве относительно точки взлета. Вопрос совсем непростой, но состоит из кучи интереснейших подзадач.
В итоге фбл-ка должна без помощи gps/glonass записывать свой полет от старта до посадки. Потом можно будет в симе посмотреть риплэй.
Ну и просто получить данные объективного контроля о величине перегрузок, уровне вибраций, скорости вращений по осям и т.д.
Это базовая задача, за ней следуют другие.

Для тестов взял плату stm32f3discovery дополненную sd картой и обвязкой для серв, блютуза и т.д. Ее можно видеть в соседней теме про сервотестер.
Перегрузки я уже мерял в прошлом году с помощью флажков и видеокамеры. Где-то есть соответствующая тема. Измерения акселерометрами должны дать более точный результат.
Измерения производятся с частотой 100Гц, предел измерений по акселерометрам выставлен 8g.
Также пишутся угловые скорости, но об этом потом.
Впрочем первое опробование системы показало, что частоту надо увеличивать раза в 4 минимум и предел измерений тоже маловат.

Первый взгляд на данные несколько удивил. Я конечно понимал, что сигнал будет сильно зашумлен вибрациями, но итоговая картина оказалась для меня полным сюрпризом.
Уровень вибраций превышает полезный сигнал и он просто теряется в таком потоке шума.
Выглядит необработанный сигнал примерно так:
(http://kasmirov.ru/img/static.jpg)
И это в покое!  :D
Для выделения полезной составляющей я решил попробовать несколько методов фильтрации сигнала:
1. скользящее среднее
2. альфа-бета фильтр
3. быстрое преобразование Фурье
4. фильтр Калмана
5. фильтр Маджвика

Данные анализирую в маткаде, методы 1-3 опробовал, есть результаты. Чуть позже выложу сравнение и анализ этих методик.
Для удобства анализа наложил логи на видео полета. Пришлось написать простенькую прогу для этого, но так гораздо проще оценивать результаты.

Итак полет Ярослава и необработанные данные с акселерометров, синхронизированные с видео (графики лучше видно в hd):
http://www.youtube.com/watch?v=6Y4A9_DaKCU (http://www.youtube.com/watch?v=6Y4A9_DaKCU)

Далее будет сравнение разных фильтров, первые приближенные к реальности данные и т.д.

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: almus от 26 Май, 2016, 15:05:33 pm
Задача, конечно, интересная, но на графиках даже после фильтрации полезного сигнала практически не видно. Пока они подтверждают лишь и так очевидные вещи: в пиках перегрузки не превышают нескольких g, при относительно спокойном полете - практически приближаются к 0. Отшелушить "мусор" с акселерометров в условиях вибраций в широком спектре - очень непростая задача! Слежу с интересом и желаю успеха!
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 26 Май, 2016, 15:07:56 pm
Нет тут никакой фильтрации :)
На этом видео только исходные данные для понимания с чем приходится иметь дело. Выше написано.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: almus от 26 Май, 2016, 16:29:45 pm
Нет тут никакой фильтрации
Точно! Прошляпил. Тогда шансы есть! :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 26 Май, 2016, 21:23:00 pm
Ты в основном слушаешь мотор а не борт. Глянь сюда - я тут как раз балансировал винтомоторные группы - там это очевидно вылезло.

http://rcheliclub.ru/index.php?topic=10906.msg202849#msg202849 (http://rcheliclub.ru/index.php?topic=10906.msg202849#msg202849)


Попробуй померять на авторотации - результат, скорее всего, будет заметно отличаться.
Кстати на последних секундах видно что на автоакселерации  совсем другая картина.

По уму -надо ставить датчик фазы на мотор и потом резать гармоники мотора, шестерни, основного ротора, хвостового ротора. ТОгда останутся только полетные ускорения.

https://www.dropbox.com/s/psj0290xz7m2tg9/%D0%BE%D1%82%D1%87%D0%B5%D1%82%20%D1%83%D0%BB%D0%B5%D0%B9%20717%201%20%D0%B3%D0%BE%D0%B4%202%20%D1%8D%D1%82%D0%B0%D0%BF_%D0%B1%D0%B0%D0%BB%D0%B0%D0%BD%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0.doc?dl=0 (https://www.dropbox.com/s/psj0290xz7m2tg9/%D0%BE%D1%82%D1%87%D0%B5%D1%82%20%D1%83%D0%BB%D0%B5%D0%B9%20717%201%20%D0%B3%D0%BE%D0%B4%202%20%D1%8D%D1%82%D0%B0%D0%BF_%D0%B1%D0%B0%D0%BB%D0%B0%D0%BD%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0.doc?dl=0)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 27 Май, 2016, 00:28:49 am
Андрей. Судя по измеряемым частотам не мотор мы слушаем. Слушаем пульсацию потока от ротора, пульсации ветра (была фиговая погода), всякие явления типа флаттера, возможно резонанс элементов конструкции типа кабины и т.д.
Более того, по спектру видно, что частота соответствующая вращению ОР никак не выделяется из фона, значит лопасти у Ярослава отбалансированы хорошо.

Итак, возвращаемся к нашим баранам.

Попробовал три типа фильтрации.
1 - скользящее среднее
2 - комплементарный, он же алфа-бета, фильтр
3 - обратное преобразование Фурье

Кратко по фильтрам:
Первый усредняет данные за предшествующий период измерений. Я использовал 25 и 50 значений, что соответствует 0,25с и 0,5с измерений. На графиках обозначены midx_25 и midx_50.
Не подходит для данного случая.
Второй - тоже усреднение, но с весовыми коэф. альфа и бета, которые определяют насколько влияет история на выдаваемый результат. Работает несколько лучше. Применимо, но для поставленной задачи тоже не айс. Хотя в фбл-ках и коптерных контроллерах его используют. На графиках выбран с оптимальными параметрами и обозначен alfa_beta
Третий. Идея такова: измеряемый сигнал состоит из полезного сигнала об ускорениях вертолета (слабый) и сигнала от вибраций конструкций (сильный). Вибрации имеют синусоидальную (в целом) форму, соответственно если распознать в исходном сигнале синусоиду и вычесть ее, то в остатке получим полезную составляющую. В упрощенном варианте я сделал это путем обратного преобразования Фурье получаем спектр амплитуды ускорений в частотном диапазоне 0-50 Гц. Интересующая нас область 0-2,15Гц, все остальное выкидываем и далаем еще одно преобразование Фурье. Получаем только ту составляющую сигнала, которая имела изначально частоты до 2,15Гц. Сюда попадают управляемые эволюции вертолета, а также вызванные порывами ветра. На графиках h_f_10 фильтр 0-1Гц и h_f_20 фильтр 0-2,15Гц.

Графики (произвольный кусок 512 измерений = 5,12 с полета)
1. Исходные данные
(http://kasmirov.ru/img/img0010_255050375.jpg)
2. Спектр сигнала
(http://kasmirov.ru/img/img0031_255050421.jpg)
3. Сравнение фильтров
(http://kasmirov.ru/img/img0040_255050437.jpg)

Но особенно мне интересно попробовать фильтр Калмана. Фильтр на который все молятся, боготворят, называют магией и ни фига ничего в нем не понимают. :) Используется в большой авиации, радиолокации, финансах и х.з. где еще. Очень полезная штука, не знаю как только жил без него :)
Ну и Маджвик тоже. Надо же заценить новые веяния. :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 27 Май, 2016, 01:22:56 am
Фильтрация Фурье - штука хорошая и правильная, но

Слушаем пульсацию потока от ротора, пульсации ветра

И еще неслабо слышим дерготню системы стабилизации, кстати. Сравнить интересно с полетом на флайбарном. По крайне мере гопро четко различает ФБЛ и флайбар. Вероятно, если честно померять вертолёт с датчиком фазы - найдем кучу биений. Тем не менее  - с выключенным мотором на авторотации и со включенным на видео видна разница.

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

Есть масса интересных подходов к измерениям, кстати. Ставим на борт полсотни дешевых акселерометров - в 7 раз уменьшаем шум измерений, оставляя только реальное ускорение.

Калман - штука предельно простая. Просто его объясняют плохо, особенно программисты и математики. Лучшая объяснялка - вот тут.

http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/ (http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/)

 Огромный плюс - идеально настроенный он не запаздывает. Огромный минус - при неидеальной физмодели превращается в обычный альфа - бета и запаздывает.

Основная идеологическая проблема всех автопилотов - раздельное решение задач измерения и задач управления. Т.е. сначала меряют а потом пытаются рулить...и пытаются зарулить до совершенно непонятного состояния, хотя очевидно что надо сначала решить чего мы хотим добиться,  а потом - как. Т.е. если нам надо зажать координату - нас будет жестко трясти чтобы её удержать. Если нам надо не трясти аппарат - мы будем изрядно плавать по координатам. Одновременно и то и другое недостижимо.

Маджевик - лёгкое шулерство но отлично работает, т.к. магнитное поле неплохо работает одноосевым гироскопом. У народа, правда, квадрик на маджевике переворачивался на 360 временами. Либо где-то знак забыли либо оси перепутали.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: almus от 27 Май, 2016, 06:40:01 am
Судя по измеряемым частотам не мотор мы слушаем. Слушаем пульсацию потока от ротора, пульсации ветра
Можно повторить измерения на столе со снятыми лопастями. Уверен, принципиально картина не изменится! Вибрации механики на вертолете являются наиболее сильной составляющей, как ее не балансируй, причем они вызывают вторичные вибрации рамы, балки и прочих элементов конструкции, что приводит к очень сложному спектру.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 27 Май, 2016, 09:53:30 am
Побалансировать можно, просто это надо делать на динамическом стенде. Мотор, главная пара, хвостовой ротор. Ну кто у нас балансирует хвост? В несколько раз амплитуду вибрации вполне можно снизить. Но, похоже, в автопилотных схемах датчики угловых скоростей играют более важную роль, чем датчики линейных ускорений.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: Vovets от 27 Май, 2016, 18:30:04 pm
3 - обратное преобразование Фурье
Оно, вроде, много точек требует? Т.е. вносит большую задержку. А при этом всего лишь работает как ФНЧ. Я помню в конце института немного занимался цифровыми фильтрами. Помню можно было рассчитать неплохие (в смысле с достаточно крутой характеристикой) БИХ ФНЧ на 5 точек. Я пытался их сам рассчитывать, сейчас, наверное, готовые программы есть.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 28 Май, 2016, 01:20:07 am
3 - обратное преобразование Фурье
Оно, вроде, много точек требует? Т.е. вносит большую задержку. А при этом всего лишь работает как ФНЧ. Я помню в конце института немного занимался цифровыми фильтрами. Помню можно было рассчитать неплохие (в смысле с достаточно крутой характеристикой) БИХ ФНЧ на 5 точек. Я пытался их сам рассчитывать, сейчас, наверное, готовые программы есть.
Фурье требует 2 в степени N точек. Я брал 1024. Можно меньше. Это 10с, фактически инициализация контроллера.
На выходе получаем половину, т.е. 512. Задержку можно убрать или сильно уменьшить добивая недостающие данные нулями. Т.е. использовать 512 измеренных точек, дополненных 512 нулями.
Тогда фильтр выдаст значение совсем без задержки. Если допустить возможную скорость отклика фильтра 0,1с при существующей частоте 100Гц, то получится 522 измерения дополненных 502 нулями.
Можно увеличить частоту опроса, таким образом увеличим количество реальных измерений. Это я еще не проверял.
Я первый раз с цифровыми фильтрами работаю. Много нового еще предстоит узнать.



Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 28 Май, 2016, 10:08:42 am
Самое простое на первом этапе - к контроллеру приделать грузик их вместе в поролон завернуть  :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: Vovets от 30 Май, 2016, 17:27:38 pm
к контроллеру приделать грузик

Кстати да, ещё же есть такой момент, что в аналоговом сигнале не должно быть частот выше половины частоты дискретизации, иначе оно же заворачивается. Т.е. аналоговый ФНЧ обязателен. Либо повышать частоту дискретизации, только опять же, до какого предела?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 30 Май, 2016, 18:00:48 pm
к контроллеру приделать грузик

Кстати да, ещё же есть такой момент, что в аналоговом сигнале не должно быть частот выше половины частоты дискретизации, иначе оно же заворачивается. Т.е. аналоговый ФНЧ обязателен. Либо повышать частоту дискретизации, только опять же, до какого предела?
По теореме Котельникова частота дискретизации должна быть как минимум в два раза выше от верхней частоты спектра полезного сигнала.
В моем случае полоса пропускания 50 Гц, т.к. опрос 100 Гц.
У CD audio 44,1 кГц и 22,050 кГц
Меня интересуют частоты 0-2 Гц. Все остальное может и должно быть отброшено.
Следующий эксперимент будет на 400Гц. Т.е. 200 Гц верхняя граница измерения.
Думаю это добавит точности или скорости при вычислении БПФ.

А так можно делать забавный вывод, что если мне нужен верхний предел измерения 2Гц, то сделать частоту дискретизации 4Гц и ничего не обрезать. :)
Но поскольку точность фильтра зависит от количества данных = 2^N, то просто уйдет больше времени на их получение, соответственно фильтр будет работать с сильным отставанием.
Дополнительно аналоговые фильтры не нужны.
Да и поставить некуда. :) Цепь такая: цифровой акселерометр - вход контроллера.

Кстати, Андрей прав, сигналы с гиры сильно лучше данных с акселей. И их намного проще обрабатывать. У них соотношение сигнал-шум 90/10, у акселерометров 20/80.
Но ни имеют дрейф во времени. Есть куча статей и патентов по поводу коррекции дрейфа за счет акселерометров. Но все это применимо, когда полет без перегрузок. Или глобальное позиционирование используется.

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: Vovets от 30 Май, 2016, 18:08:16 pm
Карим, почитай подробнее про явление под названием "aliasing". Извини, не помню как по-русски. В любом серьёзном учебнике по цифровым фильтрам. Если кратко, то переход к дискретному времени приводит к тому, что спектр сигнала с частотами выше Котельникова отображается на твой спектр от нуля до Котельникова. Это на самом деле тесно связано с теоремой Котельникова. Свойство самого перехода к дискретному времени.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 30 Май, 2016, 18:10:48 pm
+ гиры
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 30 Май, 2016, 18:18:29 pm
Карим, почитай подробнее про явление под названием "aliasing". Извини, не помню как по-русски. В любом серьёзном учебнике по цифровым фильтрам. Если кратко, то переход к дискретному времени приводит к тому, что спектр сигнала с частотами выше Котельникова отображается на твой спектр от нуля до Котельникова. Это на самом деле тесно связано с теоремой Котельникова. Свойство самого перехода к дискретному времени.
Это понятно.
Сам переход с аналога на цифру происходит внутри акселя и гиры, т.к. они цифровые.
Я не использую внешний ЦАП.
Увеличивать скорость выдачи значений можно, но не до бесконечности. И это явно не килогерцы.
Как быть в данной ситуации?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: Vovets от 30 Май, 2016, 18:58:14 pm
Как быть в данной ситуации?

Почитай, что говорит даташит на аксель по поводу его полосы пропускания, особенно максимум. И что они говорят по поводу работы в условиях вибрации, до каких пределов они обещают работу. Я бы не отметал возможность аналоговой фильтрации, т.е. механического демпфирования. Особенно если к нему подходить серьёзно, т.е. рассчитывать. Вообще нужно как-то экспериментально определить до каких пределов распространяется спектр вибрации на вертолёте. И уже исходя из этого действовать. Я понимаю, что это курица и яйцо.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: ilyxa от 30 Май, 2016, 22:49:12 pm
у тебя нет желания кодом поделится? ;) Я ленив и туповатъ в программировании, было бы круто чужое засмотреть ;)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 30 Май, 2016, 23:16:35 pm
У них соотношение сигнал-шум 90/10, у акселерометров 20/80.
Вот тут у тебя системная ошибка в понимании то, что ты измеряешь. На акслерометрах у тебя НЕТ щума...вообще нет. Шумят они чуть-чуть  -включи на столе и ты увидишь то, что есть шум акселерометра. Я тоже на этом попался. Посмотри мой текст - там показано что то, что мы считали шумом оказалось либо субсемплированным, либо оверсемплированным ЧЕСТНЫМ ИЗМЕРЕНИЕМ тех вибраций, которые идут по корпусу. Ну представь ты по едва волнистому гладком шоссе едешь на телеге с квадратными колесами. Тряска от квадратных колес - это не шум, это реальные ускорения, которые и измеряет прибор. Просто ты досаточно случайно точкой измерений попадаешь мимо фазы колеса. И если интересно - надо снять профиль вибраций и именно его резать ( хвала создателю, всё зависит от оборотов). Как правильно снять профиль вибраций- в моем тексте или звони -расскажу как просто сделать датчик фазы.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 30 Май, 2016, 23:18:59 pm
Свойство самого перехода к дискретному времени.
в переводе на общечеловеческий. Через две точки во времени можно провести прямую, синус, удвоенный, утроенный и так далее синус.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 30 Май, 2016, 23:49:39 pm
у тебя нет желания кодом поделится?  Я ленив и туповатъ в программировании, было бы круто чужое засмотреть
Каким участком?
Пока что я всю обработку данных делаю в маткаде. Или в проге на си++.
А в проце только вспомогательные процедуры.
Хотя нигде ничего интересного нет. Все сугубо унитарное. Взяли здесь, положили сюда.


Почитай, что говорит даташит на аксель по поводу его полосы пропускания, особенно максимум. И что они говорят по поводу работы в условиях вибрации, до каких пределов они обещают работу. Я бы не отметал возможность аналоговой фильтрации, т.е. механического демпфирования. Особенно если к нему подходить серьёзно, т.е. рассчитывать. Вообще нужно как-то экспериментально определить до каких пределов распространяется спектр вибрации на вертолёте. И уже исходя из этого действовать. Я понимаю, что это курица и яйцо.
Пределы выживания 3,000g for 0.5 ms g 10,000g for 0.1 ms
Предел измерения 16g
Data rate 400Hz Вот это ограничение ключевое

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

Пара соображений.
1. Думаю с задачей определения полного спектра вибрации на вертолете справится микрофон. Его элементарно завести на АЦП и получить спектр.
2. По поводу частот выше Котельникова. Чем выше частота вибрации, тем меньше ее энергия. Зависимость сейчас не помню. Возможно эти данные не внесут сильной погрешности при БПФ на интересующий участок. Надо проверять. Сейчас сделаю простой тест. Прорежу данные из графика выше, т.е. получу частоту дискретизации не 100Гц, а 50, 25. Посмотрим на результат.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 30 Май, 2016, 23:54:20 pm
У них соотношение сигнал-шум 90/10, у акселерометров 20/80.
Вот тут у тебя системная ошибка в понимании то, что ты измеряешь. На акслерометрах у тебя НЕТ щума...вообще нет. Шумят они чуть-чуть  -включи на столе и ты увидишь то, что есть шум акселерометра. Я тоже на этом попался. Посмотри мой текст - там показано что то, что мы считали шумом оказалось либо субсемплированным, либо оверсемплированным ЧЕСТНЫМ ИЗМЕРЕНИЕМ тех вибраций, которые идут по корпусу. Ну представь ты по едва волнистому гладком шоссе едешь на телеге с квадратными колесами. Тряска от квадратных колес - это не шум, это реальные ускорения, которые и измеряет прибор. Просто ты досаточно случайно точкой измерений попадаешь мимо фазы колеса. И если интересно - надо снять профиль вибраций и именно его резать ( хвала создателю, всё зависит от оборотов). Как правильно снять профиль вибраций- в моем тексте или звони -расскажу как просто сделать датчик фазы.
Не придирайся к словам.
Пусть будет шум вертолета? Ок? Разумеется я писал про полезную составляющую сигнала и мусор. Последний являет собой вибрации конструкции.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 31 Май, 2016, 01:17:56 am
Я оказался прав. Вполне приемлемый результат.
Да, точность несколько уменьшилась, но тренд сохранился.
Скорее всего в данной довольно грубой методике обсуждаемый эффект незначителен.
Взял каждое второе и четвертое значение, отфильтровал.
Обозначения:
h_f_20 - отфильтрованный по 2,15Гц сигнал с частотой дискретизации 100Гц.
h_f_20_25 ---//--- 25Гц
h_f_20_50 ---//--- 50Гц

Спектр
(http://kasmirov.ru/img/img0042_607216390.jpg)

Значения
(http://kasmirov.ru/img/img0057_607216421.jpg)

Думаю при 400Гц вообще все хорошо будет.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: Vovets от 31 Май, 2016, 01:59:23 am
Прочитай вот это: http://digteh.ru/dsp/AntiFlt/ (http://digteh.ru/dsp/AntiFlt/)
Обороты двигателя обычно в районе 20000 об/мин или 333 Гц. Плюс могут быть более высокие гармоники на которых могут резонировать элементы рамы.
Мне кажется, твоё прореживание ничего не доказывает, в исходном сигнале уже есть энергия более высоких частот.

Мне вот подумалось, что полезный сигнал у нас апериодический, а помеха, вроде как периодическая. Тогда в идеальном случае интегрирование нефильтрованного сигнала должно удалить помеху. Но, кажется, это будет работать опять же только при достаточно высокой (у тебя не достаточно) частоте дискретизации.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2016, 10:44:35 am
апериодический, а помеха, вроде как периодическая.
Да, только окно БПФ некратно оборотам и поэтому вместо "палки" он видит "горбы". Датчик фазы (отметка начала оборота двигателя)поможет работать в правильном окне. Частоты достаточно если работать с сабсэмплингом благо вибрация периодична.

Да, точность несколько уменьшилась, но тренд сохранился.
Пришли несколько секунд сырых данных - я тебе медленным фурье покажу как вырезать обороты и вибрации. (аж самому интересно стало)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 31 Май, 2016, 11:51:26 am
Да, точность несколько уменьшилась, но тренд сохранился.
Пришли несколько секунд сырых данных - я тебе медленным фурье покажу как вырезать обороты и вибрации. (аж самому интересно стало)
https://yadi.sk/d/0-XImR_As94Bt
Данные не обрезал, полет целиком. Выше рассматривал отрезок с записями с 11000 по 11512.
Порядок данных id, дата-время, GyroX,GyroY,GyroZ,AccX,AccY,AccZ
Частота дискретизации 100Гц, аксель откалиброван по нулю и значениям, гира - по нулю.
 
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2016, 16:44:32 pm
А почему данные не целочисленные? Поделил на нормировочную G?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 31 Май, 2016, 17:01:15 pm
Откалиброванные и нормированные
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2016, 17:52:17 pm
А какие обороты, главная и хвостовая пара?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 31 Май, 2016, 18:06:20 pm
Я хз. Это раптор Ярослава. Обороты более 2100, но они меняются под нагрузкой.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2016, 18:10:12 pm
На 2240 что-то видно, продолжаю мучать...
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2016, 20:59:26 pm
В общем, крутил так и эдак - что увидел.
Исхожу из того что за минуту набегает 6000 отсчетов.
Взял данные за 3 минуты... Шкала идет в  оборотах в минуту (поэтом поделено на 3).
Более-менее видно ротор около 2400 оборотов на Y акселерометре. Что на 1700 оборотах - не понимаю пока...Мотор на ~24000 так не видно, нужно датчик фазы и работать с сабсемплингом.

от 30 до 600 оборотов в минуту...подозреваю что это отработка системы стабилизации, интересно было бы сравнить с полетом на флайбарном вертолёте. Уж больно частоты похоже на те, которые вызывают мыло на видео. Похоже, мягкий подвес их может радикально снизить чисто физически.

Если резануть все гармоники выше 30-50ой - получим вполне приличную кривую перегрузок.

Кстати, на X и Z оси ротор не видно... С чем связано...может акселерометр по одной оси более тупой или вертолет так устроен.

Разберусь с текущими делами - будут вибростендить вертолёт, может придут еще какие-то мысли в голову.
Будут новые данные - присылай!!!
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 31 Май, 2016, 21:12:47 pm
Спросил про обороты - 2150. Передатка 4.27

Чета последний график не похож на правду. Попробуй сопоставить его со временными отметками по видео.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2016, 21:23:15 pm
Это где-то третья минута полетов с 11000 отсчета. Скажи с какого по какой отсчет интересно - пришлю отфильтрованное.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 31 Май, 2016, 21:37:11 pm
Кинь полностью отфильтрованный по всем 6
Я на видео наложу, сравним.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2016, 22:19:32 pm
https://www.dropbox.com/s/vhetndwdzw7fc3q/50_PT_filter.rar?dl=0 (https://www.dropbox.com/s/vhetndwdzw7fc3q/50_PT_filter.rar?dl=0)

https://www.dropbox.com/s/r0hfctpkmw20g99/200_pt_filter.rar?dl=0 (https://www.dropbox.com/s/r0hfctpkmw20g99/200_pt_filter.rar?dl=0)


вот, отфильтрованные примерно до 10 оборотов в минуту. и еще 40 оборотов в минуту.. может маловато, конечно.  X Y Z акслелерометры, ДУСы не фильтровал- не смотрел.

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

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 01 Июнь, 2016, 01:43:27 am
Похоже акселерометры влоб измеряют ускорения, это можно красиво компенсировать несколькими акселерометрами, расставленными по тушке. Ускорение линейное у них будет одинаковым, а ускорение из за вращения -разным, можно его будет порезать, особенно если данные срастить с ДУСами...может акселерометр стоял низковато, может надо ближе центрам вертолета...
Тут есть нед чем подумать.
Но просто задачка не решается.
Вот что получилось. Фильтрация несомненно присутствует. Результирующий сигнал часто показывает что-то похожее на правду, но все же местами содержит явную лажу.
Светлый график - сырые данные, темный - после фильтра на 2,15 Гц.

Сейчас твои данные обработаю, но с ходу видно там какая-то беда с размерностью.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: SERGINIO от 01 Июнь, 2016, 09:47:01 am
это можно красиво компенсировать несколькими акселерометрами
Андрюх,а если использовать выход флайбарлесс на сервоприводы для синхронизации? Там наверное можно набросать прогу чтоб выделяла вектор по трем-четырем сигналам от серв?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 01 Июнь, 2016, 10:03:29 am
но с ходу видно там какая-то беда с размерностью.
А в чем проявляется? Может там на 2 или где-то забыл умножить...наверняка, кстати, забыл.

Там наверное можно набросать прогу чтоб выделяла вектор по трем-четырем сигналам от серв?
поэтому и интересно откалиброваться на флайбарном вертолете было бы для начала, где все жестко завязано на оборот ОР и мотора.

Но просто задачка не решается.
смотря какая задача...3Д стабилизатор или БИНС? Или БИНС для 3Д стабилизатора?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 01 Июнь, 2016, 10:23:48 am
но с ходу видно там какая-то беда с размерностью.
А в чем проявляется? Может там на 2 или где-то забыл умножить...наверняка, кстати, забыл.

Но просто задачка не решается.
смотря какая задача...3Д стабилизатор или БИНС? Или БИНС для 3Д стабилизатора?
Наверняка забыл :)
Там AccR=1g даже на земле не наблюдается :) 0,4 или 0,5
И все слишком сглаженное, практически прямая.

3-й вариант. БИНС для фбл.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 01 Июнь, 2016, 10:56:11 am
Да, и еще средние значения повыкидывал...Исправлю конечно.

Насчет БИНС для ФБЛ у меня есть подозрение что в существующих системах, как справедливо отметил  SERGINIO, измерения происходят с учетом того что мы знаем как дергаем сервами и даже как грузим мотор. А высота, похоже, на барометре живет
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 01 Июнь, 2016, 11:18:10 am
Да, и еще средние значения повыкидывал...Исправлю конечно.

Насчет БИНС для ФБЛ у меня есть подозрение что в существующих системах, как справедливо отметил  SERGINIO, измерения происходят с учетом того что мы знаем как дергаем сервами и даже как грузим мотор. А высота, похоже, на барометре живет
Ну скажем так, я таких фбл не знаю. Пользуются гпс в основном. Некоторые позволяют бародатчик подключить. Но все по пид управляется.
То что ты описал, это реализуемо в фильтре Калмана. И это следующий этап.
Пока что увеличу частоту до 400Гц и посмотрю, как это скажется на измерениях. Хочется понять применимо ли БПФ для данного случая?

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 01 Июнь, 2016, 11:34:21 am
Ну скажем так, я таких фбл не знаю
Любая...ФБЛ же знает сама когда она дергает сервами.

Пользуются гпс в основном. Некоторые позволяют бародатчик подключить. Но все по пид управляется.
ФБЛ - летный контроль. А GPS - автопилот. Бародатчик стоит внутри той же NAZA-H


реализуемо в фильтре Калмана.
Фильтра Калмана - это не фильтр :) Точнее когда его используют как фильтр- он перестает быть Калманом.

Хочется понять применимо ли БПФ для данного случая?
БПФ применимо всегда - это чисто формальная операция над данными. Вопрос в том, насколько полезно то, что выходит после БПФ и используется для фильтрации. А фильтрация по БПФ - это с точностью до определений ОБЫЧНЫЙ сглаживающий фильтр N-го порядка. Т.е. Данные после фильтрации Фурье совпадают с данными, если акселерометр повесить на "сопли". А вот сглаживание - это дурная операция :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 01 Июнь, 2016, 13:34:59 pm
Но одно можно сказать точно, на вертолет действительно периодически действуют приличные перегрузки.
В данном полете макс.было 10g на протяжении 0,1 с
И около 7g на протяжении 1 c.

Ну и на всякий кидаю лог со скокума720
Интересно, что там за датчики стоят. Получается что аналоговые?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 01 Июнь, 2016, 16:44:13 pm
А какая связь? на графике вполне приличный осмысленный спектр с четко видимыми гармониками. Но у них у всех  акселерометры вроде должный внутри коробочек висеть на виброразвязках
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 01 Июнь, 2016, 17:25:01 pm
А какая связь? на графике вполне приличный осмысленный спектр с четко видимыми гармониками. Но у них у всех  акселерометры вроде должный внутри коробочек висеть на виброразвязках
Ну такая, что если аксель аналоговый, то снимать с него показания можно с любой частотой, какой хочешь. И фильтр низких частот поставить можно. Т.е. можно практически полностью убрать эффект алиазинга.   
Если цифровой, как у меня, то есть ограничения. Например 400Гц, что позволяет обрабатывать сигналы с частотой не более 200Гц. Вдобавок, как правильно подсказал Володя, происходит отражение всего того, что выше на диапазон 0-200.

Судя по графику скокума, частота дискретизации не менее 1000 Гц. Ну может датчик такой крутой. 
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: Vovets от 01 Июнь, 2016, 17:27:15 pm
Получается что аналоговые?

Я чот не нашёл, какую ты модель акселерометра используешь. Но вот, например, у ADXL363 (http://www.analog.com/media/en/technical-documentation/data-sheets/ADXL363.pdf) встроенный (аналоговый) ФНЧ, настраиваемый на ODR/2 или ODR/4. ODR=Output Data Rate. У твоего, наверное, тоже есть. Тогда вопрос про aliasing снимается. Но ты посмотри в даташите.

И у аналоговых датчиков есть ФНЧ, как я посмотрел. Можно только его частоту внешним конденсатором подстраивать.

Осталось понять, какая полоса соответствует динамике вертолёта точки зрения твоей гипотетической БИНС.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 01 Июнь, 2016, 17:42:01 pm
сли аксель аналоговый, то снимать с него показания можно с любой частотой, какой хочешь.
Хмм..не задумывался над этим. Кстати, то что ты меряешь - оно не в зашкале, случайно? Я, кстати, на вибростенд ставил 3000 герцовый цифровой датчик, отлично работал, кстати.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: Vovets от 01 Июнь, 2016, 17:51:46 pm
если аксель аналоговый, то снимать с него показания можно с любой частотой, какой хочешь

С любой не получится, читайте даташиты, там всё написано. Как минимум, у датчика есть резонансная частота в районе единиц килогерц при приближении к которой, думаю, будет трэш.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 01 Июнь, 2016, 18:53:09 pm
Вот данные, честно порезанные до 2.5 Герц
https://www.dropbox.com/s/790etknyy7zkoqx/2_5__HZ_filter.rar?dl=0 (https://www.dropbox.com/s/790etknyy7zkoqx/2_5__HZ_filter.rar?dl=0)

Что мне есть сказать по данным вообще... ПОхоже что это просто акселерометр вибрировал в месте где висел в пределах +-10g а в полете эта вибрация слегка поджималась ускорением вертолёта. Т.е, похоже..То, что на 30-35 герцах ротор видно крайне слабо говорит о том, что акселерометр мерят всё, что угодно кроме самого вертолета....
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 01 Июнь, 2016, 22:06:23 pm
В общем, посмотрел я на данные и понял что меня так занимало...В общем, борт вообще не вибрирует..оно аккуратно и четко прецессирует...(в принципе, вполне разумное поведения для гироскопа). Если более аккуратно поработать с данными можно даже выделить ось и в новых осях получть вместо эллипса окружность. Но мои подозрения - это не ось вертолета а болтанка платы вокруг подвеса. Причем заметь - зашкалы...
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 01 Июнь, 2016, 22:19:45 pm
Нет. Плата там гвоздями прибита была :)
Данные вполне вменяемые, если ты посмотришь ровные фигуры типа воронок, то там перегрузка 1..2g.
Раскидана по трем осям, как и должно быть, т.е. видно силу тяжести, распределенную между z и x, центростремительную по y.
Меня не устраивает волнообразность показаний. Явно в такие моменты вибрация еще усиливается, добавляется пульсирующий воздушный поток от винта в срывном режиме.

А зашкаливание действительно имеет место быть по оси z как раз на том самом участке после 11000, где в районе 10 было. Уж чета мощное Ярик там задвинул.
Сегодня переделаю на 400Гц и повторю эксперимент, но на другой вертухе и полетаю ровные фигуры.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 01 Июнь, 2016, 22:30:12 pm
Плата там гвоздями прибита была
не показатель..у меня от вибрации диафрагма в камере вибрировала в полете, видео тряслось...месяц искали, приклеили - исчезло.

Меня не устраивает волнообразность показаний.
Так я и показываю что это не ВОЛНЫ, это прецессия вертолёта...ну типа размешивания сахара в стакане ложкой. Вот эти волны - это движение ложки - видишь как 5 переходит в 7 и обратно. И амплитуда волны в 10G - тому свидетельство. В общем - звони, расскажу

Кстати, чувствительность по всем осям одинаковая?

Если сложить квадраты всех ускорений и извлечь корень - увидим модуль ускорения. Он нигде ниже 5G в среденм вроде не падает...Т.е. основная движуха - это прецессия, похоже.

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 01 Июнь, 2016, 23:31:46 pm
Я чот не нашёл, какую ты модель акселерометра используешь. Но вот, например, у ADXL363 ([url]http://www.analog.com/media/en/technical-documentation/data-sheets/ADXL363.pdf[/url]) встроенный (аналоговый) ФНЧ, настраиваемый на ODR/2 или ODR/4. ODR=Output Data Rate. У твоего, наверное, тоже есть. Тогда вопрос про aliasing снимается. Но ты посмотри в даташите.

И у аналоговых датчиков есть ФНЧ, как я посмотрел. Можно только его частоту внешним конденсатором подстраивать.

Осталось понять, какая полоса соответствует динамике вертолёта точки зрения твоей гипотетической БИНС.

LSM303DLHC
http://www.st.com/resource/en/datasheet/lsm303dlhc.pdf (http://www.st.com/resource/en/datasheet/lsm303dlhc.pdf)
Дешевая микросхема для мобильников
И там есть high pass filter. Есть даже какие-то настройки.
Поковырялся я в датишите повнимательней и обнаружил, что 400Гц не предел. Есть еще режим Normal (1.344 kHz) / low-power mode (5.376 kHz)
Разбираюсь.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 01 Июнь, 2016, 23:59:43 pm
Плата там гвоздями прибита была
не показатель..у меня от вибрации диафрагма в камере вибрировала в полете, видео тряслось...месяц искали, приклеили - исчезло.

Меня не устраивает волнообразность показаний.
Так я и показываю что это не ВОЛНЫ, это прецессия вертолёта...ну типа размешивания сахара в стакане ложкой. Вот эти волны - это движение ложки - видишь как 5 переходит в 7 и обратно. И амплитуда волны в 10G - тому свидетельство. В общем - звони, расскажу

Кстати, чувствительность по всем осям одинаковая?

Если сложить квадраты всех ускорений и извлечь корень - увидим модуль ускорения. Он нигде ниже 5G вроде не падает...Т.е. основная движуха - это прецессия, похоже.
Давай лучше на поле выберемся вместе и помучаем технику вживую.

Чувствительность одинаковая разумеется.

Все пучком с корнем. Он после фильтрации как надо 1g показывает на земле (до фильтрации он действительно в движении только херь всякую мерял). Даже шаги Ярика посчитать можно, когда он несет вертушку к старту :) См. скриншот 1
2-й скрин - торможение после радуги, перегрузка под 6g (кратковременная). Очень похоже на правду. В прошлом году мерял перегрузки путем подсчета траекторий по кадрам из видео.
Далее, рассмотрим фигуру, воронка в инверте. Тоже все как надо, на выходе развернул вертолет и пульнул вверх - тоже отлично видно, см. скриншот 3.
 
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 02 Июнь, 2016, 00:45:12 am
Методологическая ошибка, на мой взгляд. Нельзя разделять влоб сцепленные переменные.

Фильтровать надо не Х Y Z тогда уж, а потом брать их корень из квадратов.... Очевидно, что любое сглаживание знакопеременной финкции будет давать что-то около нуля.

А сначала свести их в радиальное ускорение а потом фильтровать ( углы- отдельно). И вот тогда видно что  нуля нет вообще, ниже 4G постоянное ускорение не снижается "волны". Т.е. в любой момент времени на датчик действует от 4 до 8 G но направленные куда попало. Попробуй так сделать - станет очевиднее то, про что я говорю.

Ну представь что у тебя акселерометр стоит на ободе колеса. Он покажет среднее по Х и по У нуль..и частоту оборотов колеса....но реально у него будет постоянно ускорение радиальное не зависящее от времени.
Наша задача ловким трюком расцепить вращательные и линейные ускорения как раз.

номера тиков и длительность каждого скриншота можешь подсказать?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 02 Июнь, 2016, 01:28:48 am
Т.е. в любой момент времени на датчик действует от 4 до 8 G но направленные куда попало.
Где ты это увидел?
На последних скриншотах ничего подобного нет. От 1 до 2.
В одном месте только 6, так там и видно, что правда.
Если ты видео на первой странице смотришь, то там чистые нефильтрованные данные, состоящие в основном из вибраций.

Зы. То, что ты предлагаешь, делать нельзя.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 02 Июнь, 2016, 09:11:58 am
Свел сырые ускорения  в вектор и смотрю его модуль после взлета.

состоящие в основном из вибраций.
Вибрации имеют форму прецессии
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 02 Июнь, 2016, 11:47:03 am
Вот, загрузил в маткад данные в виде 3Д - видно отлично

https://youtu.be/XPeTtspcxWk
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kirsol от 03 Июнь, 2016, 00:10:32 am
Блиииин! Так вот он какой, сферический конь в вакууме!!! :D
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 04 Июнь, 2016, 00:07:19 am
Спектры в полете..
красный с поролоном, синий - без поролона. Не совсем понятно почему обороты ротора он видит по разному и откуда взялась низкочастотная, но хорошо видимая вибрация.

Видно что с поролоном есть больше выделенных гармоник...почему- не понятно. Надо проверить крепление на липкий двусторонний скотч и другие варианты демпфирования.

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 04 Июнь, 2016, 00:23:20 am
Похоже поролон позволил найти собственную частоту колебаний платы внутри поролона  :D Это я про 470 Гц
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 04 Июнь, 2016, 07:42:08 am
Угу..Датчик, похоже, надо отдельно от большой платы использовать на маленькой платке с проводочком. 470 - это в оборотах в минуту. Но поролон резанул гармонику на 6000 оборотах неплохо.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 06 Июнь, 2016, 15:29:23 pm
http://www.youtube.com/watch?v=nGp_PlPxleQ (http://www.youtube.com/watch?v=nGp_PlPxleQ)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 06 Июнь, 2016, 18:18:29 pm
Подвес - это уже ПЛАТФОРМЕННАЯ ИНС...так сказать, самая изначальная версия. Если сделать полноценный 3Д подвес -на нем можно неплохо удерживать вертикаль, особенно если еще иметь данные с GPS о крупномасштабной траектории...
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 28 Август, 2016, 13:27:13 pm
Как успехи в борьбе?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 28 Август, 2016, 19:15:17 pm
Идут понемногу. Реализовал вращение векторов с помощью матричного аппарата без складывания рамок (gimbal lock).
Кое чего еще доделал.
Спасибо за совет по добавлению избыточных осей измерения.
Решил расположить три блока аксель-гиро с наклоном 45град относительно земли и поворотом на 120 град относительно друг друга.
Такое расположение даст возможность некоторой приближенной оценки смещения нулей гиры по каждой из осей.
Ковыряю Калмана. Думаю насчет вэйвлет преобразования.
Сделал запись на флешку с честными 1000Гц.

Для продолжения экспериментов купил три платки на базе 6050, теперь надо на 3д принтере корпус сделать. Не в курсе где можно за умеренную цену печать заказать?
Для организации полноценного Калмана буду записывать не только показания датчиков, но и управляющие сигналы.
 
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: Sergeev от 28 Август, 2016, 19:55:38 pm
Не в курсе где можно за умеренную цену печать заказать?

http://forum.rchobby.ru/index.php?showtopic=21687 (http://forum.rchobby.ru/index.php?showtopic=21687)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 28 Август, 2016, 20:52:14 pm
Ковыряю Калмана. Думаю насчет вэйвлет преобразования.
Для организации полноценного Калмана буду записывать не только показания датчиков, но и управляющие сигналы.

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

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

Про наши дела - там тоже интересно :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 28 Август, 2016, 21:13:17 pm
Наверное не так объяснил :)
Я не собираюсь откидывать вибрацию, ее надо проанализировать и выделить, можно на вход ФК подать.
Это очень полезная информация, можно по сути определять степень износа тех или иных деталей. Так в вибродиагностике делают, определяют когда подшипникам конец приближается.
Но если вибрацию вращающихся деталей еще несложно выделить, то срыв потока и аэродинамические шумы я х.з. как определить.

Надо попозжее еще раз будет пересечься.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 28 Август, 2016, 21:52:30 pm
Ок! Предупреди за день!
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 12 Декабрь, 2016, 23:45:52 pm
Затея пока живет и очень медленно развивается
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 13 Декабрь, 2016, 00:24:19 am
а что за HUD?
Собрал какой-то адский проект?
Чего пишешь, что получилось?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 13 Декабрь, 2016, 01:44:12 am
Ну да, это HUD   :-[

Нужен, во-первых для проверки алгоритмов на столе и в воздухе (пока в виде носимого датчика). Гораздо проще работать, когда есть удобные инструменты.
В тестовом варианте на этот экран еще графики акселерометров, гироскопов и барометров будут выводиться. А также вектор силы тяжести. Ну и взаимное расположение систем координат земли и датчика. Это для верчения "на столе".
Во-вторых, это часть моей итоговой задумки. Фбл-ка будет через модем данные на планшет или ноут слать.
Чуть позже подробнее распишу и видео сделаю.
Проект все также и идет с нуля. Пока что ни строчки кода из каких-либо открытых проектов не использовано. С одной стороны хочется самому разобраться, с другой - лень разбирать кучу адаптаций под разное железо, в третьих ничего близко похожего на мои задачи в открытом доступе нет.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 13 Декабрь, 2016, 01:51:06 am
Мы пошли простым путем - раскурили и собрали на свою плату iNav и Либра
просто непонятно что и чем у тебя рисуется? Или это чисто настольный вариант?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 13 Декабрь, 2016, 02:00:06 am
Мы пошли простым путем - раскурили и собрали на свою плату iNav и Либра
просто непонятно что и чем у тебя рисуется? Или это чисто настольный вариант?
Либра, что-то знакомое, что это?
Рисуется HUD с помощью библиотеки OpenCV, но можно и на канве рисовать, без разницы. Прога на VS C++.
Библиотека портируемая, по идее можно быстро переделать под что угодно.
OpenCV опять-таки взял из-за некоторых будущих задач по анализу изображения с камеры для предотвращения столкновений и прочего. Но это не для фбл-ки.


 
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 13 Декабрь, 2016, 18:23:00 pm
Либра, что-то знакомое, что это?
Потомок OpenPilota  LibrePilot
Прога на VS C++.
т.Е. на настольном компе?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 13 Декабрь, 2016, 20:47:27 pm
Картинка формируется на земле. На компе или планшете.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kirsol от 14 Декабрь, 2016, 00:13:01 am
Андрей, iNav и Либра на сколько я понимаю это прошивки для контроллеров. А как вы из них осд склеили?  Расскажи пожалуйста.

Отправлено с моего SM-N9005 через Tapatalk

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 14 Декабрь, 2016, 10:23:11 am
у нас целая готовая наземка, которой можно скормить телеметрию - это первый подход. Но и у прошивок тоже есть свои GroundStation с "шариком" авиагоризонта
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 25 Декабрь, 2016, 00:19:55 am
Хорошая вещь - преобразование Гильберта — Хуанга
Сигнал раскладывается на его составляющие (вибрации) в итоге остается только тренд.
Вот кусок, который с помощью БПФ дает довольно плохие результаты.
А с помощью Гильберта-Хуанга проявляется что-то, похожее на правду.
На втором графике я оставил последнюю и предпоследнюю моды
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 25 Декабрь, 2016, 11:36:51 am
Эмпирическая декомпозиция сигнала, если ты перед этим не определил точных гармоник вибраций, то ты просто получаешь то, что хочешь, а не то, что на самом деле...
А без датчика фазы на моторе - у тебя из за оверсемплинга ФФТ может найти кучу зеркальных, побочных и прочих гармоник...
Вибрации проще не фильтровать, их проще найти и потом просто вычитать из сигнала. Я как раз сейчас студента озадачил сделать бакалаврскую на эту тему.

При том что все вибрации вертолета - гармонические и в течение оборота ОР особой нелинейности не наблюдается.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 04 Январь, 2017, 11:09:33 am
Оставлю здесь
http://www.youtube.com/watch?v=ymuhJ6pt52o (http://www.youtube.com/watch?v=ymuhJ6pt52o)
Это часть того, что должно получиться, только без жпс
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 04 Январь, 2017, 15:29:39 pm
Так там GPS может работать в режиме ориентации, есть такие трюки.- мерять направление прохождения принятого сигнала...
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 04 Январь, 2017, 16:16:00 pm
А есть где почитать про эти трюки?
Для общего образования
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 04 Январь, 2017, 16:47:56 pm
http://www.dissercat.com/content/opredelenie-orientatsii-obektov-po-signalam-sputnikovykh-radionavigatsionnykh-sistem (http://www.dissercat.com/content/opredelenie-orientatsii-obektov-po-signalam-sputnikovykh-radionavigatsionnykh-sistem)

Есть еще диссер на 215 страниц в PDF 1995 Года, могу прислать. Но сейчас это проще и легче делается.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 10 Февраль, 2017, 04:27:49 am
Помучил железо и софт еще немного.
Сделал БПФ на контроллере и фильтр на его основе. И могу сказать результат мне понравился. Точнее не сам еще результат, но направление, оно выглядит верным.
Для запытания системы установил на плату вибратор из моторчика от 250-ки и прилепленного на него эксцентрика.
Вибрация была такая, что в руках держать было утомительно. Одна плата не выдержала издевательств, потом мотор накрячился. Короче, было все приближено к боевой обстановке :)
И надо признать, в целом работало. Есть еще что настраивать, но результат намного лучше комплементарного фильтра и по быстродействию и по форме сигнала. Гладкости еще есть за счет чего добавить.
Единственный минус - вычислительная мощность. У меня на плате работало 3 БПФ для отображения спектра, 6 БПФ туда-обратно для фильтра, 3 комплементарных + служебная хрень и плата работала с большим трудом. Посылки по usb периодически пропускались. Были тормоза в отображении. Хотя я не использовал оптимизированные библиотеки под ядро cortex. Не было времени изучить. Важно было понять принцип.

Осталось проникнуть в секту свидетелей Калмана и реализовать на контроллере Гильберта, нашего Хуанга :)
Боюсь сразу все это не потянуть одному процу.

На картинках обозначено:
Acc - акселерометр
Rx Ry Rz - гиры
FFT - спектр до 500 Гц
_F - отфильтровано Фурье
_С - комплементарный фильтр
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 10 Февраль, 2017, 08:56:43 am
Фурье фильр не синхронизированный с оборотами показывает, в целом, биения между своими периодами и оборотами двигателя.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 10 Февраль, 2017, 11:30:52 am
Андрей, поясни пожалуйста.

И с чем именно его синхронизировать при наличии 2-3 несинхронизированных и независимых источников вибрации?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 10 Февраль, 2017, 15:47:30 pm
Источников всего два - мотор и основной ротор. Остальное - кратное по передачам, ибо не откуда взяться другим источникам энергии для возбуждения вибрации. Но главное - фильтр ( кроме Калмана) жрет время. А калман - требует физмодели, т.е. знания текущей фазы двигателя, чтобы оценивать текущий вклад в показания датчиков от регулярной вибрации. У меня сейчас студент как раз переделывает вибростенд для того, чтобы замеряв вибрации потом на ходу их вырезать из текущих показаний.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 10 Февраль, 2017, 19:40:21 pm
Источников всего два - мотор и основной ротор. Остальное - кратное по передачам, ибо не откуда взяться другим источникам энергии для возбуждения вибрации. Но главное - фильтр ( кроме Калмана) жрет время. А калман - требует физмодели, т.е. знания текущей фазы двигателя, чтобы оценивать текущий вклад в показания датчиков от регулярной вибрации. У меня сейчас студент как раз переделывает вибростенд для того, чтобы замеряв вибрации потом на ходу их вырезать из текущих показаний.
Мы уже обсуждали это. Идея поставить датчик фазы на мотор понятна.
Но в самом "простом" случае классического вертолета источников несколько:
1. Мотор (самый минимальный источник вибраций) и далее связанная с ним вся трансмиссия с учетом передаточных чисел в случае, если мотор подсоединен к трансмиссии напрямую. Это случается либо в мелких вертолетах, типа валкеры или протоса, там нет обгонки. Либо при работе с замкнутой обгонкой. Т.е. спокойный, размеренный полет. В случае 3д полета мотор работает абсолютно в непредсказуемом режиме, часть времени ротор обгоняет мотор и тот непродолжительно отключается / значительно снижает обороты. Могут быть еще всякие оверспиды, когда ротор выходит на обороты вообще не достижимые мотору.
2. Вибрации вызванные в следствии срывного процесса обтекания лопастей на некоторых режимах, флаттер например. Вибрация вызванная попаданием закрученного потока ротора в хвостовые лопасти. Турбуленция воздуха в следствии аэродинамически несовершенной формы корпуса большинства рц-вертолетов. Да и откуда оно возьмется если вертолет то боком летит, то задом, то еще х.з. как.
3. Применительно к моему проекту соосника все еще несколько запутанней. Роторы крутятся с одинаковой частотой, но углы установки лопастей будут несколько отличаться, условия обтекания у роторов разные (через нижний прокачивается больше воздуха и поток попадает уже закрученный), длина валов до верхнего и нижнего роторов разная, соответственно скорее всего на предельных режимах оба ротора будут вибрировать в целом спектре никак не коррелирующих частот. Ну и зачем тут заморачиваться с датчиком фазы, что он даст?

А если пойти чуть дальше, т.е. за рамки одномоторных вертолетов, то ответь мне как быть в случае, когда на борту два ГТД, два генератора? Причем один турбовальный двигатель может издавать вибраций намного больше одной частоты. Если турбина со свободным колесом, то это означает два минимум вала каждый из которых крутится на своих оборотах.
Кстати, коптер имеет 4-8 движков, все с разными оборотами. Как тут учитывать?
Или коптеры с двс + генератор + электромоторы?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 10 Февраль, 2017, 23:24:41 pm
Именно этим мы сейчас и занимаемся :)
Задача - именно нацучиться мерять хотя бы то, что можно померять...При наличии датчика фазы можно увидеть много- много интересного. А без датчика фазы фурье - это будет банальный сглаживающий RC фильр... Можно просто поставить акселерометры на "сопли".
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 11 Февраль, 2017, 11:43:53 am
Кстати еще о вибрациях...можешь в полете выключить двигатель и увидишь как при его отключении мнгновенно огромный процент вибраций исчезает. Акселерометр - он же крайне тупой. Допустим на квадролёте 90% вибраций видимых на акселерометрах идет от обмоток мотора, еще 5% - дисбаланс ротора и остальное - моды колебаний в раме...
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: SERGINIO от 12 Февраль, 2017, 00:05:54 am
Ну и зачем тут заморачиваться с датчиком фазы, что он даст?
Видимо начало отсчета ,тик проца известен,обороты там \сям тоже ,можно программно определить временную  область где что шумит .
 Если что то кратно -подавить ,нужное -акцентировать . :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 12 Февраль, 2017, 00:29:07 am
Ну дык на коптере, к примеру, 4-е несовпадающих начала отсчета будет, а датчик воспринимающий вибрацию один. Рама-то одна.
Если один мотор и жестко связанный с валом ОР и ХР, да имеет смысл. В остальных случаях не лучше и не хуже того же Фурье, но не синхронизированного с мотором.
Иначе придется вешать датчик оборотов на каждую несинхронизированную передатку и мотор.
На коптере, в принципе, несложно получить с каждого регуля текущие обороты. Передатки нет. Определяй гармоники и вычитай все это из полученных данных - получишь чистые данные об ускорениях. В идеале.
В вертолете все совсем не так.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 12 Февраль, 2017, 11:29:16 am
, а датчик воспринимающий вибрацию один
Датчик - один, а датчиков фазы - четыре. А дальше - формула сложения синусов :)Ты тут прав. А насчет датчиков ускорений - мы планируем по датчику на луч на квадре а на вертолете - отдельно меряем хвост, отдельно ротор, отдельно - двигатель. Цель - прямое измерение эволюций борта вместо фильтрации.
В результате останутся только вибрации не связанные с электроприводом. Можешь посмотреть на свои измерения с выключенным мотором. Вот мы хотим их получить на включенных моторах...
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 12 Февраль, 2017, 13:54:46 pm
Андрей, а ты вейвлет преобразования не пробовал?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 12 Февраль, 2017, 18:42:59 pm
А смысл? Физику это не отменит и чуда не даст. Вейвлет просто умеет найти контраст или что-то в этом духе. Вейвлетом хорошо удар искать.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 19 Февраль, 2017, 13:53:08 pm
Попалась отличная подборка лекций про фильтр товарища Калмана
https://youtu.be/-cD7WkbAIL0
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 19 Февраль, 2017, 15:05:34 pm
Шикарная картинка, там все просто, но если не представлять это объемно - по формулам из книжки очень тяжело разбираться. Спасибо, студентам скормлю!
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 19 Февраль, 2017, 15:09:07 pm
Вот тоже неплохой текст
http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/ (http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 05 Март, 2017, 00:22:36 am
Моделисту любая хрень может пригодиться, ничто не пропадает даром :)
В прошлом году сделал программируемый и управляемый с телефона сервотестер http://rcheliclub.ru/index.php?topic=14367.0 (http://rcheliclub.ru/index.php?topic=14367.0)
И вот он вдруг нашел применение.
В ходе экспериментов мне надоело трясти плату рукой, все-таки это как-то ненаучно, да и повторяемость результатов никакая :)
Так что сделал стенд из моторчика с эксцентриком, примотанного к плате с датчиками, которая крутится на серве, которой в свою очередь управляет сервотестер :)
Моторчик вибрирует что надо, аж пол бетонный дрожит  :D
(http://rcheliclub.ru/index.php?action=dlattach;topic=14535.0;attach=77943;image)

Программа испытаний (вверху угловая скорость, внизу управляющий сигнал на серву):
(http://rcheliclub.ru/index.php?action=dlattach;topic=14535.0;attach=77945;image)

Второй кадр размыт не из-за того что фотограф не в фокусе :) Просто вибрация такая, что штатив вместе фотиком прыгает, находясь в метре от стенда :o
(http://rcheliclub.ru/index.php?action=dlattach;topic=14535.0;attach=77947;image)

Из промежуточных результатов.
Метод Гильберта-Хаунга, который мне очень хотелось попробовать, не работает вообще. Т.е. местами он выдает вполне осмысленные и очень хорошие кусочки первоначального движения, но в основном просто мусор.
Комплементарный с такой вибрацией тоже практически бесполезен, а увеличивать разницу между коэф. приведет к еще большей задержке и искажению формы сигнала.
Фурье работает или не работает в зависимости от частоты дискретизации. На 1кГц результаты удовлетворительные,  на 100Гц абсолютно бесполезные.
Вдобавок сложности с вычисление этого самого быстрого преобразования Фурье. Считать его в МК удалось в реальном времени как раз с частотой 100Гц и менее, т.е. там где он бесполезен. Выше проц не справляется. Еще ограничения с объемом памяти, ибо надо держать приличных размеров блок данных. А внешней памяти на моей плате нет.
Правда я не пробовал специальные DSP функции, а использовал неоптимизированный алгоритм.
Похоже надо менять процессор на более мощный и ставить его на задачи чистой фильтрации без всякого управления.

Ну да ладно, сейчас доковыриваю Калмана, очень интересно посмотреть на результат.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 05 Март, 2017, 11:24:44 am
Вот, наконец-то системный подход вместо радиолюбительства:)
Стационарный Калман - это в чистом виде комплементарный фильтр, только без задержки...Но в станционарной ситуации оно и не особо надо. В общем, ставь на мотор датчик фазы и будет тебе счастье :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 20 Апрель, 2017, 23:05:57 pm
Жаль, что тот видеокурс по Калману остается пока незавершенным. Хотя и другие лекции у того мужичка просто замечательные и супердоходчивые.
Вот еще свежее видео от матлаба про Калмана. Дополняет чем-то курс выше.
https://www.youtube.com/watch?v=VFXf1lIZ3p8 (https://www.youtube.com/watch?v=VFXf1lIZ3p8)

Зы. Попробовал Калмана в маткаде сделать. Вроде чета там считает. Но с моей вибрацией пока не справляется. И опять-таки вопросы у меня с правильным указанием матрицы R и других ковариационных матриц.

ЗЗы.
Затык у меня.
Где-то пишут, что ФК работает только с нормально распределенными шумами и прочими случайными величинами.
И в кино выше тоже перемножаются вероятности нормальных по Гауссу случайных величин.
Где-то пишут, что пофиг, не обязательно.
А у меня вибрации нифига не нормально распределены. В одной оси вообще имеется бимодальное распределение.


Шумы измерения тоже чем-то похожи. По тем же осям еще более выраженные 2 моды и смещение от 0, хотя шумы измерения практически ничтожные.

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 20 Апрель, 2017, 23:20:29 pm
Потому что у тебя НЕ шумы, а настоящие сигналы имеющие четкую физическую природу :) 1000 раз тебе говорил, но пока ты не прошел славный пусть усеянный граблями - не поверил. У меня студент вроде научился кривокодить на СТМке, жду прямого измерения ускорений из которых вычитается вибрация мотора напрямую.

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

Опять же - хочешь странного  - ставь несколько акселерометров в параллель. Реальные шумы -усреднятся, а вибрации - всплывут. Бонус - расставь датчики так, чтобы вибрации имели разные знаки и складывай показания - получишь эволюцию, а не вибрацию. А если вычтешь - получишь вибрацию, а не эволюцию. Проблема простейшая - надо разделить переменные - шумы от сигнала и при определённых условиях это можно сделать.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 20 Апрель, 2017, 23:21:44 pm
" В одной оси вообще имеется бимодальное распределение."
А может это просто обычная модуляция ( произведение), которое дает дополнительные пики на F0-f и F0+f
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 20 Апрель, 2017, 23:26:14 pm
Опять же - хочешь странного  - ставь несколько акселерометров в параллель. Реальные шумы -усреднятся, а вибрации - всплывут. Бонус - расставь датчики так, чтобы вибрации имели разные знаки и складывай показания - получишь эволюцию, а не вибрацию. А если вычтешь - получишь вибрацию, а не эволюцию. Проблема простейшая - надо разделить переменные - шумы от сигнала и при определённых условиях это можно сделать.
Нарисуй картинку, если не сложно.
Я не врубаюсь, как это аксели расставленные встречно будут вибрацию вычитать.

Зы.
Я понимаю то, что ты говоришь. Но надо добить Калмана до конца и понять во всех, хотя бы крупных, деталях.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 20 Апрель, 2017, 23:28:48 pm
" В одной оси вообще имеется бимодальное распределение."
А может это просто обычная модуляция ( произведение), которое дает дополнительные пики на F0-f и F0+f
Х.з. Я еще поковыряю на эту тему.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 21 Апрель, 2017, 00:32:22 am
Я не врубаюсь, как это аксели расставленные встречно будут вибрацию вычитать.

представь себе КАМЕРТОН - двузубую вилку. У тебя на двух зубах стоят датчики.... Колебания направлены встречно, как ты понимаешь...А теперь их сложим. Получим нулевую сумму. но если камертон целиком куда-то поедет - сумма показаний датчиков покажет именно движение всего камертона, а не его зубцов. 

Но надо добить Калмана до конца и понять во всех, хотя бы крупных, деталях.

А у тебя есть физмодель управляющего воздействия? Если нет - будет обычный сглаживающий фильтр с задержкой. И эту задержку должна компенсировать информация о твоем воздействии..иначе каждое воздействие ты увидишь на фильтре после сглаживания.

(http://img.lenagold.ru/m/muz/muzik12.png)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 25 Апрель, 2017, 23:54:09 pm
представь себе КАМЕРТОН - двузубую вилку. У тебя на двух зубах стоят датчики.... Колебания направлены встречно, как ты понимаешь...А теперь их сложим. Получим нулевую сумму. но если камертон целиком куда-то поедет - сумма показаний датчиков покажет именно движение всего камертона, а не его зубцов. 
Вертуха не камертон и колебания двух датчиков, особенно расположенных на одной площадке в пределах одного устройства направлены одинаково какими осями их не разворачивай.
Данные будут возможно чище, но все вибрации в них останутся.

А теперь о наших баранах.
Вреде я нашел общий язык с ФК. Не могу сказать стал ли я сектантом, но свои задачи ФК выполняет. Все зависит от модели.

Удалось разобраться и получить некий результат близкий к истине.
Нашел небольшое упущение в своем стенде. Гира имеет (установлен) предел измерения несколько меньше (500град/с), чем скорость сервы, которая крутила платформу (600-630 град/с).
Поэтому на серии прямоугольных импульсов гира выдает заниженные значения. Плюс у нее в эти моменты перекладывается дрейф.
Не стал переделывать потому, что это на самом деле хорошо для эксперимента.

Опыт 1. Без вибраций.
Первый график - исходные данные. Зелененьким искомый угол поворота платформы альфа.
Второй график - угол поворота, найденный из усреднения показаний акселерометров
Третий график - угол поворота, найденный с помощью фильтра Калмана по акселерометрам и гироскопам с вычислением и коррекцией их дрейфа
Четвертый график - дрейф вычисления угла интегрированием показаний гироскопа

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 26 Апрель, 2017, 00:02:39 am
Опыт 2. Вибрации адские. Бетонный пол ощутимо вибрировал.

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

На третьем графике видна заметная ошибка в месте, где идет серия прямоугольных импульсов. Это как раз из-за того, что скорость вращения превышала предел измерения гиры.
А хорошее в этом то, что в данной реализации ФК отсутствует накопленная ошибка. Как видно дольше, где скорость вращения попадет в пределы измерения, угол измеряется довольно точно.

Можно переходить к фбл-ке.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 26 Апрель, 2017, 10:57:58 am
У тебя как-то подозрительно линейно углы выглядят...
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 26 Апрель, 2017, 12:18:21 pm
Вертуха не камертон и колебания двух датчиков, особенно расположенных на одной площадке в пределах одного устройства направлены одинаково какими осями их не разворачивай.
Это не совсем так, точнее совсем не так... представь что у тебя в воздух подброшена трубка, которая летя в воздухе колеблется и гудит....
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 26 Апрель, 2017, 12:45:37 pm
Вертуха не камертон и колебания двух датчиков, особенно расположенных на одной площадке в пределах одного устройства направлены одинаково какими осями их не разворачивай.
Это не совсем так, точнее совсем не так... представь что у тебя в воздух подброшена трубка, которая летя в воздухе колеблется и гудит....
Ну если один датчик прилепить на морду, а второй на хвост, то что они там намеряют никому неизвестно. :)
А если оба датчика стоят встречно в одном корпусе, то мерять они будут одно и то же. Если датчиков больше двух, то можно получить увеличение точности измерений. Убавить собственный шум датчиков. Но не вибрации.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 26 Апрель, 2017, 17:23:09 pm
Вибропрофиль мотора квадрокоптера

то что они там намеряют никому неизвестно.

Ну надо грамотно разместить и калибровать
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 27 Апрель, 2017, 00:29:44 am
А чего ты не хочешь Маджвика использовать. Он проще и естественнее для уличных полетов
https://habrahabr.ru/post/255661/
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 27 Апрель, 2017, 00:59:28 am
Я в курсе про Маджвика. Но там вся фишка  в том, что показания гироскопов корректируются магнетометром.
А это есть зло. А без магнетометра его фильтр никаких выдающихся результатов не показывает.

У меня главная идея - получить алгоритм БИНС, который на протяжении некоторого промежутка времени (выход из зоны устойчивого сигнала гпс/глонасс) будет давать относительно достоверные данные. Не используя лазерные гироскопы конечно :)
Тут без динамической модели летательного аппарата не обойтись, а Маджвик тут никак. Не уверен, что буду Калмана использовать. Мне не все в нем нравится.
Есть пока расплывчатая идея, попробую ее проработать.

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 28 Апрель, 2017, 00:47:58 am
Магнитное поле на протяжении веков считалось вполне надежным компасом. Привязывать к нему БИНС как минимум логично....
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 15 Май, 2017, 10:29:08 am
там проще - все сигналы в спектре повторяются с шагом в частоту котельникова
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 15 Май, 2017, 12:47:36 pm
Андрей, расшифруй пожалуйста, о чем это?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 15 Май, 2017, 16:11:24 pm
Это у меня глюканул форум когда я там искал эту нашу тему
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 18 Май, 2017, 02:01:41 am
Крутатень :круто:
https://www.youtube.com/watch?v=HNWdYrtw3f0 (https://www.youtube.com/watch?v=HNWdYrtw3f0)

https://github.com/Microsoft/AirSim (https://github.com/Microsoft/AirSim)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 18 Май, 2017, 04:41:33 am
А без Пиксхока оно работает?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 19 Май, 2017, 03:04:36 am
А без Пиксхока оно работает?
Да. Пикс в данном конкретном случае используется только как конвертер команд с пульта на комп.
Можно пульт от приставки использовать, можно вручную команды подавать.
А еще интересная опция - можно воспроизвести реальный полет в виртуальной среде.
Движок очень хороший, редактор сцен имеется.

Это все сделано для упрощения тестирования алгоритмов полетных контроллеров.
Ты работаешь с виртуальной камерой, которая снимает довольно детально воссозданный окружающий мир. С тенями, с птицами, бликами оптики и т.д. Все проблемы как в жизни, только дешевле.

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 19 Май, 2017, 08:37:52 am
А вибрации от моторов оно симулирует?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 19 Май, 2017, 10:57:57 am
Ты ее сам в визуал студио компилируешь.
Я так понял, она симулирует все, на что у тебя хватит фантазии и способности описать это кодом.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 19 Май, 2017, 13:41:50 pm
понятно.. это для визуальных полетов, похоже
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 19 Май, 2017, 19:05:40 pm
понятно.. это для визуальных полетов, похоже
Это как посмотреть. Любой БЛА при полете опирается на сведения от камер и датчиков.
Вся фишка в том, что ты с помощью этой среды можешь все это промоделировать и отработать до начала непосредственных полетов.
Тестить всякие системы предотвращения столкновений. Или например слежения за движущимся объектом. Или автоматическую посадку.
Симулятор ЛА там отдельной утилитой идет и эта среда получает от него данные.
Захочешь реализовать вибрацию - пожалуйста, закладываешь модель вибрации в сим,  и он будет слать соответствующие данные.

Хотя по большей части среда и ориентирована на отработку автономного полета по камерам/датчикам, можно найти ей множество смежных применений.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 19 Май, 2017, 22:30:37 pm
весьма интересно, а оно умеет в одном поле летать стаями?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 19 Май, 2017, 22:40:27 pm
Птицами оно управлять умеет :)
Может быть где-то есть и опция "птицы в стае"  :D

Шучу :)
Движок игры многопользовательский. Если ты смотрел видео выше, там показывался процесс настройки. По дефолту там было много игроков. Затем всех кроме одного удалили. К нему через плагин подключается сим коптера.
Думаю ничего не мешает сделать 10-20 игроков и запустить столько же симов.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 20 Май, 2017, 00:36:52 am
ааааа...картина играет новыми красками!
Мы стайку на 100 бортов засимулировали.... в общем, скайнет непобедим, пока есть свежие батарейки :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 31 Май, 2017, 01:12:29 am
Андрей, посмотри очень интересная работа
https://www.youtube.com/watch?v=fWBsDwBJD-g (https://www.youtube.com/watch?v=fWBsDwBJD-g)
еще
https://www.youtube.com/watch?v=C6-xwSOOdqQ (https://www.youtube.com/watch?v=C6-xwSOOdqQ)
и еще
https://www.youtube.com/watch?v=jh6tMHjxHSY (https://www.youtube.com/watch?v=jh6tMHjxHSY)

Зы. Это отличный канал с хорошим материалом, статьями и лекциями.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2017, 09:37:48 am
материалы интересные, но всегда есть вопрос - на 15 метрах в  секунду они смогут обеспечить заход в окно помещения ?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 31 Май, 2017, 10:47:58 am
А кто сможет?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2017, 11:49:09 am
я могу, у меня сырых 7000 измерений в секунду по координате и около 10 миллионов по скорости
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 31 Май, 2017, 12:02:46 pm
Так у тебя только в помещении работает, насколько я помню?
А этот алгоритм прелестен тем, что при доработке он может привязываться к существующей карте местности.
Никакой гпс/глонасс не нужен. Как я понял, можно замыкать контур не только на разведанные точки, но и на имеющуюся карту местности.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 31 Май, 2017, 13:04:00 pm
теперь и на солнце, мы с 50 м  градусах на 40 пикируем в помещение
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 01 Июнь, 2017, 00:46:10 am
Интересно посмотреть вживую.

Тем временем продолжаю изучать OpenCV. Сделал небольшое сравнение алгоритмов слежения.
Точнее это уже пятое тестовое видео и на нем более-менее что-то работает. Но это очень простое видео. На более сложных с меняющимся фоном, дергающейся камерой все довольно плохо.
https://youtu.be/AzdeIzQDdh0

Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 01 Июнь, 2017, 00:54:36 am
Слежение... мы висим на хвосте у коптера, обмотанного светодиодной летной, шикарно его видим на фоне неба и земли, держим 50 метров до земли, 3 метра между бортами...И вдруг система слежения уходит куда-то не туда...
Оказалось, вывеска магазина норман сведит теми же диодами :) и мы с 50 метров  в камерку это захватили :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 04 Июнь, 2017, 02:04:21 am
Проверил те же самые алгоритмы по воздушной цели :)
Ничего хорошего. Ни один даже минуты не продержался.
https://youtu.be/VO9hT1XUTcA

Так что мои надежды запилить по быстрому платформу для сопровождения / записи полетов вертолетов накрылись медным тазом.  :'(
Все эти алгоритмы нормально работают только на тестовых видео по которым они и строились.
Придется пилить что-то свое.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 04 Июнь, 2017, 11:07:22 am
Придется пилить что-то свое.
Стереокамера упрощает задачу на пару порядков, когда для алгоритма выделения есть подсказка по параллаксу.
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 13 Сентябрь, 2017, 00:28:16 am
Датчик (первый прототип)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 13 Сентябрь, 2017, 01:14:35 am
Вижу, процесс идет!
А у меня сегодня курсоглиссада заработала :)
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: kasmirov от 13 Сентябрь, 2017, 11:07:21 am
А зачем коптеров глиссада?
Название: Re: Измерение перегрузок действующих на вертолет. Фильтрация сигналов и прочее
Отправлено: AndRay от 13 Сентябрь, 2017, 16:33:52 pm
Заход с улицы на склад