|
Кватернионы и реальная механика, Вопрос синхронизации |
|
|
|
Apr 25 2018, 18:55
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Всем доброго дня. Неожиданно столкнулся с такой проблемой. Есть механика, на рисунке. Внутренняя рамка С может поворачиваться вокруг осей Х и У относительно рамки А моторами М1 и М2. Вся система располагается в море, на корабле. Рамка А прикреплена жестко к кораблю. Задача - стабилизировать рамку С, так чтобы ее нормаль (g) совпадала с вектором гравитации. Допустим, устанавливаю на рамку С гироскоп и акселерометр (трехосевые). При старте все хорошо - я точно знаю, как располагается подвижная система координат и точно знаю, что угол поворота вокруг оси Х я могу компенсировать мотором М1, а вокруг У- мотором М2. Гироскопы неизбежно плывут - с этим ничего не поделать. И если уплывания по осям Х и У можно компенсировать, зная вектор гравитации (измеряю акселерометром), то уплывание по оси g пока не вижу способа компенсировать. Да и компенсировать собственно не надо, проблема в том, что из-за этого уплывания со временем, когда уплывание достигнет например, 90 градусов, то мотором М1 я уже буду крутить кватернион вокруг оси Y, а мотором М1 - вокруг Х. Как-то бы привязать кватернион по оси g к рамке А. Привязывать отдельно рамку А и отдельно кватернион к одной глобальной системе координат (например, по компасу) нет возможности. Вопрос такой: как-то можно определить, каким мотором крутить, чтобы компенсировать появившийся крен рамки С? Т.е. крен -то я из кватерниона вытащу и разложу на составляющие по осям Х и У, а как определить, как сейчас расположены оси Х и У подвижной системы координат относительно осей моторов? PS охота именно комплексно, через кватернионы решить задачу, а не отдельно по каждой оси мерить и компенсировать угловые скорости.
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Apr 25 2018, 19:28
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(AlexandrY @ Apr 25 2018, 23:08)  Так надо ввести некую процедуру начальной установки, когда вы точно знаете как и что ориентировано, а потом стартуете и в течении всей работы отслеживаете эти углы. Кстати как вы собираетесь управлять моторам напрямую по кватернионам? Там же вроде как надо пересчитать их в углы Тайт-Брайна Да отследить - то отслежу, но они же плывут. К примеру: кладем на стол всю эту конструкцию (рамки А В С с моторами). Рассматриваем только ось g - остальные компенсирую по гравитации. При старте - да, знаю что как ориентировано. Но гироскопы плывут, соответственно при неподвижной механической конструкции кватернион будет вращаться (быстро ли, медленно ли - зависит от гироскопов, калибровки, но вращаться точно будет). Да, я отслежу что через некоторое время кватернион якобы повернулся на 90 градусов, а механика при этом лежит неподвижно. И в этом случае (когда механика лежит на столе) я знаю, что это кватернион уплыл, а не механика повернулась. А на корабле в море? Откуда мне знать, гироскоп это плывет или корабль медленно поворачивается? И через некоторое время я уже не смогу определить, на сколько повернулась механика, а на сколько уплыл кватернион. По кватерниону, если он будет по оси g синхронизирован с углом поворота рамки А, то очень просто. Не знаю, как там эти углы называются, я просто вычисляю проекции на неподвижную систему координат и высчитываю нужный угол.
|
|
|
|
|
Apr 26 2018, 05:47
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(AlexandrY @ Apr 26 2018, 00:01)  Да не сможете. Известный эффект. Решается магнитометром или другими дополнительными средствами. Неужели гугле вам об этом еще не сообщил? Да как-то можно, мне же не надо уплывание остановить - пусть плывет, но надо чтобы и механика "плыла" за кватернионом. Т.е. пусть плывет, но с механикой вместе. Мне не надо сделать не плывущий гироскоп, мне надо определить как механика относительно кватерниона расположена. Рассуждения примерно такие: при повороте рамки С я имею информацию о повороте кватерниона и о повороте осей механики плюсом отдельно. И думается мне, что имея поворот кватерниона и разложение этого поворота по осям (с гироскопов, жестко связанных с механикой), можно определить как кватернион расположен относительно осей. Тем более что поворот кватерниона и формируется этими гироскопами, т.е. вроде как можно определить с математической точностью. Поправьте если я ошибаюсь в своих рассуждениях.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|