Ватсон: – Таак... Какие-то иероглифы.
Холмс: – Прекрасно, Ватсон! Впереди расшифровка. И пусть мне позавидуют все британские египтологи!
Итак! Задал я себе задачку построить инерциальную навигационную систему на базе общедоступных комплектующих.
Т.е. снабдить разрабатываемую фбл-ку функциями определения своего положения в пространстве относительно точки взлета. Вопрос совсем непростой, но состоит из кучи интереснейших подзадач.
В итоге фбл-ка должна без помощи gps/glonass записывать свой полет от старта до посадки. Потом можно будет в симе посмотреть риплэй.
Ну и просто получить данные объективного контроля о величине перегрузок, уровне вибраций, скорости вращений по осям и т.д.
Это базовая задача, за ней следуют другие.
Для тестов взял плату stm32f3discovery дополненную sd картой и обвязкой для серв, блютуза и т.д. Ее можно видеть в соседней теме про сервотестер.
Перегрузки я уже мерял в прошлом году с помощью флажков и видеокамеры. Где-то есть соответствующая тема. Измерения акселерометрами должны дать более точный результат.
Измерения производятся с частотой 100Гц, предел измерений по акселерометрам выставлен 8g.
Также пишутся угловые скорости, но об этом потом.
Впрочем первое опробование системы показало, что частоту надо увеличивать раза в 4 минимум и предел измерений тоже маловат.
Первый взгляд на данные несколько удивил. Я конечно понимал, что сигнал будет сильно зашумлен вибрациями, но итоговая картина оказалась для меня полным сюрпризом.
Уровень вибраций превышает полезный сигнал и он просто теряется в таком потоке шума.
Выглядит необработанный сигнал примерно так:
И это в покое!
Для выделения полезной составляющей я решил попробовать несколько методов фильтрации сигнала:
1. скользящее среднее
2. альфа-бета фильтр
3. быстрое преобразование Фурье
4. фильтр Калмана
5. фильтр Маджвика
Данные анализирую в маткаде, методы 1-3 опробовал, есть результаты. Чуть позже выложу сравнение и анализ этих методик.
Для удобства анализа наложил логи на видео полета. Пришлось написать простенькую прогу для этого, но так гораздо проще оценивать результаты.
Итак полет Ярослава и необработанные данные с акселерометров, синхронизированные с видео (графики лучше видно в hd):
Далее будет сравнение разных фильтров, первые приближенные к реальности данные и т.д.