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

 
 
> Кватернионы и реальная механика, Вопрос синхронизации
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
Ответов
Rst7
сообщение Apr 26 2018, 11:38
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
Как отсюда выделить уплывание чтобы вычислить собственно разницу между курсом механики и курсом по результатам интегрирования?


Да не надо ничего выделять. Оно просто будет всегда в нулевой курс утягивать. Это тоже самое, что просто с занулением данных гироскопа, но более культурно (меньше ошибка, если одновременно с креном происходит поворот по курсу). А рамка никуда у Вас не повернется. Углы Эйлера по крену и дифференту не зависят от курса, так что просто поворачиваете рамку на обратные углы и все.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
alexPec
сообщение Apr 27 2018, 19:53
Сообщение #3


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

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



Цитата(Rst7 @ Apr 26 2018, 15:38) *
Да не надо ничего выделять. Оно просто будет всегда в нулевой курс утягивать. Это тоже самое, что просто с занулением данных гироскопа, но более культурно (меньше ошибка, если одновременно с креном происходит поворот по курсу). А рамка никуда у Вас не повернется. Углы Эйлера по крену и дифференту не зависят от курса, так что просто поворачиваете рамку на обратные углы и все.


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

Сообщений в этой теме
- alexPec   Кватернионы и реальная механика   Apr 25 2018, 18:55
- - AlexandrY   Цитата(alexPec @ Apr 25 2018, 21:55) а ка...   Apr 25 2018, 19:08
|- - alexPec   Цитата(AlexandrY @ Apr 25 2018, 23:08) Та...   Apr 25 2018, 19:28
|- - AlexandrY   Цитата(alexPec @ Apr 25 2018, 22:28) И че...   Apr 25 2018, 20:01
|- - alexPec   Цитата(AlexandrY @ Apr 26 2018, 00:01) Да...   Apr 26 2018, 05:47
|- - 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


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

 


RSS Текстовая версия Сейчас: 23rd April 2024 - 15:53
Рейтинг@Mail.ru


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