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

 
 
> Кватернионы и реальная механика, Вопрос синхронизации
alexPec
сообщение Apr 25 2018, 18:55
Сообщение #1


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

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



Всем доброго дня. Неожиданно столкнулся с такой проблемой.

Есть механика, на рисунке. Внутренняя рамка С может поворачиваться вокруг осей Х и У относительно рамки А моторами М1 и М2. Вся система располагается в море, на корабле. Рамка А прикреплена жестко к кораблю. Задача - стабилизировать рамку С, так чтобы ее нормаль (g) совпадала с вектором гравитации.
Допустим, устанавливаю на рамку С гироскоп и акселерометр (трехосевые). При старте все хорошо - я точно знаю, как располагается подвижная система координат и точно знаю, что угол поворота вокруг оси Х я могу компенсировать мотором М1, а вокруг У- мотором М2. Гироскопы неизбежно плывут - с этим ничего не поделать. И если уплывания по осям Х и У можно компенсировать, зная вектор гравитации (измеряю акселерометром), то уплывание по оси g пока не вижу способа компенсировать. Да и компенсировать собственно не надо, проблема в том, что из-за этого уплывания со временем, когда уплывание достигнет например, 90 градусов, то мотором М1 я уже буду крутить кватернион вокруг оси Y, а мотором М1 - вокруг Х. Как-то бы привязать кватернион по оси g к рамке А.
Привязывать отдельно рамку А и отдельно кватернион к одной глобальной системе координат (например, по компасу) нет возможности.

Вопрос такой: как-то можно определить, каким мотором крутить, чтобы компенсировать появившийся крен рамки С? Т.е. крен -то я из кватерниона вытащу и разложу на составляющие по осям Х и У, а как определить, как сейчас расположены оси Х и У подвижной системы координат относительно осей моторов?

PS охота именно комплексно, через кватернионы решить задачу, а не отдельно по каждой оси мерить и компенсировать угловые скорости.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlexandrY
сообщение Apr 25 2018, 19:08
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(alexPec @ Apr 25 2018, 21:55) *
а как определить, как сейчас расположены оси Х и У подвижной системы координат относительно осей моторов?

Так надо ввести некую процедуру начальной установки, когда вы точно знаете как и что ориентировано, а потом стартуете и в течении всей работы отслеживаете эти углы.
Кстати как вы собираетесь управлять моторам напрямую по кватернионам?
Там же вроде как надо пересчитать их в углы Тайт-Брайна
Go to the top of the page
 
+Quote Post
alexPec
сообщение Apr 25 2018, 19:28
Сообщение #3


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

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



Цитата(AlexandrY @ Apr 25 2018, 23:08) *
Так надо ввести некую процедуру начальной установки, когда вы точно знаете как и что ориентировано, а потом стартуете и в течении всей работы отслеживаете эти углы.
Кстати как вы собираетесь управлять моторам напрямую по кватернионам?
Там же вроде как надо пересчитать их в углы Тайт-Брайна


Да отследить - то отслежу, но они же плывут. К примеру: кладем на стол всю эту конструкцию (рамки А В С с моторами). Рассматриваем только ось g - остальные компенсирую по гравитации. При старте - да, знаю что как ориентировано. Но гироскопы плывут, соответственно при неподвижной механической конструкции кватернион будет вращаться (быстро ли, медленно ли - зависит от гироскопов, калибровки, но вращаться точно будет). Да, я отслежу что через некоторое время кватернион якобы повернулся на 90 градусов, а механика при этом лежит неподвижно. И в этом случае (когда механика лежит на столе) я знаю, что это кватернион уплыл, а не механика повернулась. А на корабле в море? Откуда мне знать, гироскоп это плывет или корабль медленно поворачивается? И через некоторое время я уже не смогу определить, на сколько повернулась механика, а на сколько уплыл кватернион.

По кватерниону, если он будет по оси g синхронизирован с углом поворота рамки А, то очень просто. Не знаю, как там эти углы называются, я просто вычисляю проекции на неподвижную систему координат и высчитываю нужный угол.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 25 2018, 20:01
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(alexPec @ Apr 25 2018, 22:28) *
И через некоторое время я уже не смогу определить, на сколько повернулась механика, а на сколько уплыл кватернион.

Да не сможете. Известный эффект.
Решается магнитометром или другими дополнительными средствами.
Неужели гугле вам об этом еще не сообщил?
Go to the top of the page
 
+Quote Post
alexPec
сообщение Apr 26 2018, 05:47
Сообщение #5


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

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



Цитата(AlexandrY @ Apr 26 2018, 00:01) *
Да не сможете. Известный эффект.
Решается магнитометром или другими дополнительными средствами.
Неужели гугле вам об этом еще не сообщил?

Да как-то можно, мне же не надо уплывание остановить - пусть плывет, но надо чтобы и механика "плыла" за кватернионом. Т.е. пусть плывет, но с механикой вместе. Мне не надо сделать не плывущий гироскоп, мне надо определить как механика относительно кватерниона расположена.
Рассуждения примерно такие: при повороте рамки С я имею информацию о повороте кватерниона и о повороте осей механики плюсом отдельно. И думается мне, что имея поворот кватерниона и разложение этого поворота по осям (с гироскопов, жестко связанных с механикой), можно определить как кватернион расположен относительно осей. Тем более что поворот кватерниона и формируется этими гироскопами, т.е. вроде как можно определить с математической точностью.
Поправьте если я ошибаюсь в своих рассуждениях.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alexPec   Кватернионы и реальная механика   Apr 25 2018, 18:55
|- - AlexandrY   Цитата(alexPec @ Apr 26 2018, 08:47) Да к...   Apr 26 2018, 06:11
|- - alexPec   Цитата(AlexandrY @ Apr 26 2018, 10:11) Ду...   Apr 26 2018, 06:41
- - тау   Цитата(alexPec @ Apr 25 2018, 22:55) Зада...   Apr 26 2018, 05:50
|- - alexPec   Цитата(тау @ Apr 26 2018, 09:50) почему н...   Apr 26 2018, 05:59
|- - тау   Цитата(alexPec @ Apr 26 2018, 09:59) Груз...   Apr 26 2018, 06:55
|- - Aner   QUOTE (тау @ Apr 26 2018, 09:55) добавьте...   Apr 26 2018, 09:01
|- - alexPec   Цитата(тау @ Apr 26 2018, 10:55) добавьте...   Apr 26 2018, 09:49
- - Rst7   Я что-то не совсем понимаю, в чем проблема. Вари...   Apr 26 2018, 08:23
|- - AlexandrY   Цитата(Rst7 @ Apr 26 2018, 11:23) В коде,...   Apr 26 2018, 08:39
- - Rst7   QUOTE По задумке и надо сделать такую поправку, ко...   Apr 26 2018, 10:38
|- - alexPec   Цитата(Rst7 @ Apr 26 2018, 14:38) Вы возь...   Apr 26 2018, 11:04
- - krux   энкодеры на оси приделайте   Apr 26 2018, 10:50
- - Rst7   QUOTE Как отсюда выделить уплывание чтобы вычислит...   Apr 26 2018, 11:38
- - alexPec   Цитата(Rst7 @ Apr 26 2018, 15:38) Да не н...   Apr 27 2018, 19:53


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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 21:41
Рейтинг@Mail.ru


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