Физика для игрСтатьи

От принципа Д'Аламбера до задачи о линейном дополнении

Статья предназначена для людей, которым интересны основы, заложенные в фундаменте современных алгоритмов моделирования динамики твердых тел с ограничениями; рассказывает она о том, как пройти путь от фундаментального вариационного принципа до системы неравенств с дополнительными ограничениями.

Итак, начнем с упомянутого выше принципа, являющегося одним из основных для современной механики - вариационного приципа Д'Аламбера-Лагранжа, суть которого выражается формулой

Принцип Д'Аламбера | От принципа Д'Аламбера до задачи о линейном дополнении

а словесная формулировка звучит как "Среди всех движений системы с идеальными ограничениями, кинематически возможным является такое, для которого в любой момент времени сумма элементарных работ приложенных сил и сил инерции равна нулю". Говоря проще, Д'Аламбер постулировал, что в системе с идеальными ограничениями, перемещения являются "допустимыми" - ортогональными к вектору ограничивающих сил.
Приняв во внимание этот принцип, начнем с "идеализации" ограничивающих сил моделируемой системы - минимизации их работы:

Постановка задачи минимизации | От принципа Д'Аламбера до задачи о линейном дополнении

 
Данная формулировка является задачей математической оптимизации, и решить ее можно применением метода множителей Лагранжа. Для начала нужно задать функцию - лагранжиан, минимум которой будет соответствовать минимуму целевой функции на допустимом множестве (не нарушающем заданных ограничений):

Лагранжиан | От принципа Д'Аламбера до задачи о линейном дополнении

Для того, чтобы решение полученной задачи было оптимальным, необходимо соблюдение условий Каруша-Куна-Такера [1]:

Условия ККТ | От принципа Д'Аламбера до задачи о линейном дополнении

Условие стационарности прямиком следует из условия первого порядка для существования оптимума функции (производная в точке оптимума равна нулю), а первичное условие допустимости - из первоначального условия задачи, собственно. Матрица Якоби ([J]) в условии - матрица частных производных - производная одного вектора по другому вектору, в данном случае dc/dx. Вывести аналитическую формулу для конкретного соединения можно по правилу взятия производной сложной функции:

Получение матрицы Якоби для ограничивающей функции | От принципа Д'Аламбера до задачи о линейном дополнении

Исходя из того, что целевая функция - сумма элементарных работ ограничивающих сил на перемещении r, производная этой суммы - сама ограничивающая сила, и таким образом, условие стационарности можно переписать в виде

Ограничивающая сила | От принципа Д'Аламбера до задачи о линейном дополнении

Это условие стационарности и является первопричиной обозначения ограничивающих сил через транспонированную  матрицу Якоби, помноженную на вектор неизвестных множителей Лагранжа. Напомню, какой смысл в себе несет данная конструкция:  матрица Якоби по сути своей - матрица частных производных, полученная при дифференцировании вектора по вектору, dc/dx = [J]. Следовательно, в строке матрицы находится градиент скалярного компонента вектора c, ci/dx. Математическое ограничение имеет форму c = 0, значит градиент, указывает в направлении наискорейшего роста скалярной функции ci. Схематическое изображение:

Градиента скалярной ограничивающей функции | От принципа Д'Аламбера до задачи о линейном дополнении

Но поскольку нам нужен 0 это функции, то градиент показывает "запретное направление". Транспонирование матрицы [J] и умножение ее на вектор дает линейную комбинацию "запретных" градиентов, т.е. ограничивающая сила действует перпендикулярно допустимым перемещениям, а это суть определения идеальной ограничивающей силы.

Далее, ограничивающие силы можно представить через фиктивную силу - силу инерции:

Введение фиктивных сил инерции | От принципа Д'Аламбера до задачи о линейном дополнении

Подобная формулировка использовалась некоторое время назад для решения системы для ускорений, но решение на уровне вторых производных вызвало некоторые проблемы в стабильности и введении в систему сил трения [2][3]. Поэтому было использовано положение интегратора первого порядка (явный Эйлера или Эйлера-Кромера):

Предположение явного интегратора первого порядка | От принципа Д'Аламбера до задачи о линейном дополнении

и система принимала следующий вид:

Уравнение скорости на текущем шаге | От принципа Д'Аламбера до задачи о линейном дополнении

Теперь, рассмотрим первичное условие допустимости из условий ККТ решения задачи. Поскольку положения тел после применения ограничивающих сил неизвестны, нужно их как-то приблизить ограничивающую функцию в новом положении; например, с помощью ряда Тейлора (положения на предыдущем кадре нам известны, новое положение можно представить как xt = xt-1 + r, где r = vt*dt - это искомое "допустимое" смещение), а затем подставим выражение скорости, полученное выше:

Аппроксимация функции ограничения | От принципа Д'Аламбера до задачи о линейном дополнении

Стоит отметить, что по результатом разложения в ряд ограничивающей функции, приблизить можно также и матрицу Якоби в точке xt (производная берется с тем учетом, что c(xt-1) константна в отношении r, следовательно и матрица Якоби в этой точке константна):

Приближение матрицы Якоби | От принципа Д'Аламбера до задачи о линейном дополнении

Теперь, переформулируем неравенство относительно неизвестных множителей Лагранжа, получим искомую формулировку задачи в виде LCP - задачи о линейном дополнении:

Конечное условие LCP | От принципа Д'Аламбера до задачи о линейном дополнении

[1] М. Интрилигатор, "Математические методы оптимизации и экономическая теория";
[2] M. Cline, "Rigid Body Simulation with Contact and Constraints";
[3] M. Anitescu and F. Potra, "Formulating dynamic multi-rigidbody contact problems with friction as solvable linear complementarity problems".

#dynamics, #lagrangian multipliers, #физика, #rigid body, #динамика, #множители лагранжа

20 января 2010 (Обновление: 21 мая 2010)

Комментарии [92]