Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/23: Рейтинг темы: голосов - 23, средняя оценка - 4.74
1 / 1 / 0
Регистрация: 03.04.2017
Сообщений: 17

Дрейф результатов фильтра Маджвика. MPU9250

30.06.2018, 10:00. Показов 4775. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добра!
Для одного проекта мне потребовалось определять ориентацию объекта в пространстве.
Я решил использовать фильтр Маджвика для этой цели, в качестве сенсора взял MPU9250
который содержит все необходимое.

Код для фильтра взял тут https://github.com/morgil/madgwick_py

Датчик управляется ардуино нано, и отправляет пакеты на мой компьютер каждые 12мс через последовательный порт.

Магнитометр был откалиброван так, чтобы центр сферы, состоящей из множества измерений, оказался в начале координат.

Дальше, для проверки, я нарисовал в блендере координатные оси, примерно так

И написал скрипт, который будет считывать данные с последовательного порта, применять к ним фильтр, и поворачивать объект на кватернион.

Когда рисовал, я слегка накосячил с направлением оси ox, поэтому я изменил знаки у всех Х компонент измерений, и все стало нормально.

Согласно даташиту, оси магнитометра не совпадают с осями других датчиков : ось оz направлена вниз, а оси оу и ох совпадают с осями ох и оу соответственно.
Поэтому я поменял местами х и у компоненты в измерении магнитометра, а перед z поставил минус (забегая вперед, это не имеет никакого эффекта)

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

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

Скорость смещения зависит от beta алгоритма - чем больше она, тем больше скорость

Есть способ пофиксить это?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.06.2018, 10:00
Ответы с готовыми решениями:

Excel - использование результатов фильтра
Народ, поможите!!! Как программно можно использовать результаты применения фильтра? т.е. как можно строить циклы по отобранным в фильтре...

Использование результатов фильтра, если результат пустой
Очень помог ответ: Sub Макрос1() Set tbl = Sheets(1).AutoFilter.Range Set y = tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _ ...

Запрет индексирования для Google результатов выборки фильтра
Добрый день! Скажите, пожалуйста, как запретить Гуглу индексировать страницы, которые были сормированы в процессе выборки товара в...

2
0 / 0 / 0
Регистрация: 17.06.2021
Сообщений: 3
08.12.2022, 16:15
У меня похожая ситуация. Получилось ли у вас решить данную проблему? Если да, то каким способом?
0
0 / 0 / 0
Регистрация: 17.06.2021
Сообщений: 3
19.12.2022, 17:33
Данная проблема решается калибровкой датчиков, в частности магнетометра.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2022, 17:33
Помогаю со студенческими работами здесь

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

Выполнить действие, если при применении фильтра нет результатов, соответствующих условию фильтрации
всем привет! использую такой фильтр: Sub TEST() Application.ScreenUpdating = False With Sheets("ALLRESULTS") ...

Создание фильтра и копирование результатов фильтрации на другой лист (либо в другой файл)
Необходима помощь "чайнику". Есть большой массив строк (тексты и цифры), в которых присутствуют часто повторяющиеся слова. ...

Чтение данных магнитометра MPU9250 AK8963
Я написал код для работы с MPU9250 (гироскоп и акселерометр), но у меня не получается прочесть данные с другого устройства AK8963. На нем...

Кто либо работал с MPU9250 на atmega168pa?
Здравствуйте. Бьюсь уже довольно долгое время с датчиком MPU9250. Ни в какую не хочет работать с Atmega168pa (не получается ни в spi ни...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru