2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Связь между твёрдыми телами: шарнирная петля
Сообщение10.03.2016, 01:03 
Аватара пользователя


04/12/10
115
Пусть есть два твёрдых тела, положение которых в пространстве задаётся координатами центров масс и единичными кватернионами, задающими поворот ортонормированного базиса в неподвижной ИСО (будем называть её мировой системой координат и обозначим W) в базис, жёстко связанный с телом (так и будем называть его базис тела A / базис тела B; обозначать будем A'/B'). Так что если $\vec v$ -- координатный столбец вектора в W, то его координатный столбец в A' -- $q_a (0, \vec v) \bar q_b$. Скорости пусть задаются координатами вектора скорости центра масс в W и координатами вектора угловой скорости в A'/B'. Я хочу ограничить относительное движение тел так, чтобы они могли свободно (и, для простоты, неограниченно) вращаться относительно общей оси.

(Как на картинке.)

Изображение

Как выглядят правильные функции связей (функции, обращающиеся в ноль тогда и только тогда, когда координаты удовлетворяют связям (в идеале; на крайний случай -- в некоторой области корфигурационного пространства))? Сосредоточимся на связи, ограничивающей вращения, т.к. трансляционная тривиальна.

Если бы ось вращения была бы коллинеарна оси Z в A', то всё было бы просто: кватернион "относительной ориентации" $q = \bar q_a q_b = q_w + q_x i + q_y j + q_z k$ должен иметь мнимую часть только "вдоль третьей компоненты": $q_x = q_y = 0$.

Но общий случай можно свести к нему, подправив $q$ следующим образом: $q = \bar \alpha \bar q_a q_b \beta$, где $\alpha$ -- какой-нибудь кватернион, описывающий вращение вектора с координатами $(0,0,1)$ в $\vec v_a$ -- столбец с координатами единичного направляющего вектора оси вращения в системе координат A'; $\beta$ -- аналогично. $\alpha$ и $\beta$ постоянны. Не ошибаюсь ли я где-нибудь?

Хочется связей именно такого вида -- непосредственно на кватернионы, а не что-то типа $\vec f_{a1} \cdot \vec v_a = \vec f_{a2} \cdot \vec v_a = 0$ для тела A и аналогично для B, где $f_{a1}, f_{a2}$ -- неколлинеарные орты, нормальные к $\vec v_a$, жёство связанные с телом A. С этим можно жить, но такой подход имеет недостатки. Во-первых, информация об ориентирующих кватернионах используется неявно, а во-вторых, такие уравнения связей выполнены и тогда, когда связь нарушена: если одно из тел повернуть на $180$ градусов "в запретном направлении" (вокруг $\vec f_{a1}$, например): $\vec f_{a1} \cdot \vec v_a = -\vec f_{a2} \cdot \vec v_a = 0$. Что неприятно как само по себе, так и потому, что при численном решении уравнений (да, весь сыр-бор ради этого), лагранжевой системы со связями, сходимость в последнем (бистабильном) случае явно будет хуже, т.к. "возвращающая сила" (пропорциональная множителям Лагранжа), по идее, будет слабеть, при приближении системы к точке поворота на $90$ градусов в запретном направлении, обращаясь в ноль при нём (такая прикидка: при повороте на $1$ градус возвращающая сила в одну сторону вращает, при повороте на $180-1$ -- в другую; непрерывная функция принимающая значения разных знаков на концах отрезка где-то зануляется -- где это делать, как не посередине).

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: photon, whiterussian, profrotter, Jnrty, Aer, Парджеттер, Eule_A, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group