|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
||||||||||||||||
Алгоритм С. Мажвика. Влияние рыскания на крен и тангаж.05.11.2015, 15:05. Показов 23847. Ответов 47
Метки нет (Все метки)
Здравствуйте. Есть микросхема MPU6000 из показаний её гироскопа и акселерометра пытаюсь получить крен и тангаж платы, на которой она установлена, с помощью алгоритма Мажвика (Madgwick) получаю кватернионы, а из них углы Эйлера. Вот исходник библиотеки, которую я использую:
0
|
||||||||||||||||
| 05.11.2015, 15:05 | |
|
Ответы с готовыми решениями:
47
Кватернионы. Алгоритм Себастиана Мажвика. Влияние рыскания на крен и тангаж Влияние алгоритма случайного числа на алгоритм сортировки Крен самолета при повороте |
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 11.11.2015, 12:40 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
|
| 11.11.2015, 12:59 | |
|
Вот. На вход подаю всё и аксель и гиро. Кватернион выведен на третем графике сверху каждого скрина. Легенду было лень переделывать поэтому напишу так: Kren = q0; Tangaj=q1; Riskanie=q2; q3=q3;
0
|
|
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 11.11.2015, 13:16 | |
|
Абсолютно нормальное поведение, как по мне... Чудастненько.
0
|
|
|
DPOMYTO
|
|
| 11.11.2015, 14:07 | |
|
А что за провалы, обведённые чёрным?
http://s017.***********/i432/1511/ed/4a683b3f3f9b.jpg Похоже на переполнение переменной. У меня было такое. |
|
|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
||
| 11.11.2015, 14:28 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
|
| 11.11.2015, 14:32 | |
|
А вот тот же кватернион, при перемещении коробочки вдоль плоскости стола "по квадрату".
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
||
| 11.11.2015, 14:34 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
||
| 11.11.2015, 22:00 | ||
Не вникая в саму кватернионную механику достаточно будет вспомнить, что между компонентами кватерниона выполняется условие нормировки q0^2 + q1^2 + q2^2 + q3^2 = 1 q1 и q2 в плоском случае остаются равными нулю. Это совершенно правильно. Значит в случае плоского вращения при нулевых начальных q0^2 + q3^2 = 1 Что мы и наблюдаем. По сути они ведут себя как синус и косинус половины угла на который осуществляется вращение.
0
|
||
|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
|||||||||||||||||
| 12.11.2015, 10:38 | |||||||||||||||||
|
[QUOTE="Myrmyk"][QUOTE="Цитата:[/QUOTE]
0
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 12.11.2015, 15:59 | |
|
... Интересно... А откуда эти формулы?
Вот что нам говорит википедия: Сейчас еще Салычева посмотрю. https://uptood.wikimedia.org/math/a/2/9/a2925987257bc7469187cfc3c18da853.png
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
|||||||||||
| 12.11.2015, 16:06 | |||||||||||
|
В одном ардуйновском проекте подсмотрены а именно:
// I2C divice ctoss (I2Cdiv) demonstration Processing sketch for MPU6050 DMP output // 6/20/2012 by Jeff Rowberg <jeff@rowberg.net> Там он приводил два набора формул первые для углов эйлера:
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 12.11.2015, 16:08 | |
|
Че-то в книжках нету этих формул в готовом виде.
Но википедии можно верить. Вот статьи полностью. Очень годные. Всегда меня выручали. Жаль на великий и могучий переведена не полностью. https://en.wikipedia.org/wiki/Quaternio ... l_rotation https://en.wikipedia.org/wiki/Conversio ... ler_angles
0
|
|
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 12.11.2015, 16:10 | |
|
Раз одинаково, значит всё правильно. Математике надо верить.
0
|
|
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 12.11.2015, 16:19 | |
|
Ой, чего-то туплю я... Действительно, гироскопические и углы и углы Эйлера Крылова - не одно и тоже....
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
|
| 12.11.2015, 16:21 | |
|
А какова формула перевода в гироскопические и углы?
0
|
|
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 12.11.2015, 16:28 | |
|
https://uptood.wikimedia.org/math/a/2/9/a2925987257bc7469187cfc3c18da853.png Вот это как раз она. Прецессия, нутация, собственное вращение. Или нет?... ща я подумаю... Это всё-таки самолётные.
0
|
|
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 12.11.2015, 16:39 | |
|
Так, всё... отставить:
Гироскопические: zxz https://uptood.wikimedia.org/math/0/c/a/0ca87394cd7d6a75d1b23eb3eb85b067.png Самолётные: zyx https://uptood.wikimedia.org/math/1/3/1/131b556d90669e4f615a198221083277.png rijk 0123
0
|
|
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 12.11.2015, 16:56 | |
|
А давайте вернёмся к самому первому опыту...
http://**************************/download/file.php?id=25569&t=1 Плата у нас лежит на боку. Это видно по показаниям акселлерометра. Как проводится опыт? Сначала плата лежит горизонтально. В этом положении кватернион устанавливается в состояние (1,0,0,0). Потом вы переворачиваете ее на бок. Вопрос. С какого крен и тангаж равны нулю, возвращаются в ноль? Они должны показывать, что плата лежит на боку вообще-то... То есть первый вопрос не в том, почему в системе такая большая ошибка при повороте возникает. Вопрос в том, почему система в статическом режиме показывает ноль, хотя там не ноль должен быть. Вот! Наконец-то есть почва под ногами.
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
||
| 12.11.2015, 17:11 | ||
А уже потом я положил плату плашмя, и проделал аналогичный опыт. Кватернион, там, естественно был уже (1,0,0,0) и в этом случае я увидел что влияние рыскания на крен и тангаж меньше раза в два.
0
|
||
|
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
|
|||||||
| 12.11.2015, 17:12 | |||||||
0
|
|||||||
| 12.11.2015, 17:12 | |
|
Помогаю со студенческими работами здесь
40
Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|