реклама на сайте
подробности

 
 
> Гироскоп - вырождение угла, Как борются с этим?
alexPec
сообщение Feb 10 2014, 11:56
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Добрый день всем.

В гироскопе вычисляю угол рыскания через кватернионы по известной формуле:

atan2(2*q[1]*q[2]-2*q[0]*q[3],2*q[0]*q[0]+2*q[1]*q[1]-1)

При угле тангажа в 90град. значение всегда примерно равно -90. Соответственно начинаются глюки, система управления чудит.

При этом (когда угол тангажа 90 град.) заметил, что в этом случае угол, вычисляемый как:

asin(2*q[1]*q[3]+2*q[0]*q[2]) это как раз то, что мне нужно.

Т.е. при приближении тангажа к 90 градусам регулируемая величина для системы управления должна плавно перейти от

atan2(2*q[1]*q[2]-2*q[0]*q[3],2*q[0]*q[0]+2*q[1]*q[1]-1)

к

asin(2*q[1]*q[3]+2*q[0]*q[2]).

Может кто сталкивался и решал подобную задачу?

Или может классическое решение проблемы есть?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
spl
сообщение Mar 16 2017, 13:09
Сообщение #2





Группа: Участник
Сообщений: 9
Регистрация: 26-01-07
Пользователь №: 24 779



Понемногу разбираюсь. Поскольку поворот на углы Эйлера осуществляется последовательно - XYZ, то и вычитание этих углов должно быть таким же только в обратном порядке - ZYX. Таким образом, методом вычитания можно найти только первый угол - X, осуществив последовательное вычитание вокруг ZY. На этом мысль заканчивается. Как найти два других угла непонятно.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Mar 16 2017, 20:27
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Я в итоге бросил это занятие - сначала вычислять обратный угол, а затем поворачивать кватернион. У меня задача решилась проще. Я вычисляю проекцию вектора локальной системы координат на глобальную, а из нее достаю нужный угол. По вычислениям раз в 5 быстрее.
Думаю, в Вашем случае тоже правильнее нужную проекцию получить в глобальной системе координат, а потом вычислить угол исходя из проекций на оси глобальной СК, хотя конкретной задачи не знаю, может в Вашем случае это и не спасает.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 10:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.0323 секунд с 7
ELECTRONIX ©2004-2016