Научная статья на тему 'Моделирование динамики системы связанных тел с учетом трения в шарнирах'

Моделирование динамики системы связанных тел с учетом трения в шарнирах Текст научной статьи по специальности «Физика»

CC BY
275
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СВЯЗЬ / РЕАЛЬНОЕ ВРЕМЯ / СИСТЕМА ТЕЛ / ТРЕНИЕ В ШАРНИРАХ / ПОЛУНЕЯВНАЯ СХЕМА ЭЙЛЕРА

Аннотация научной статьи по физике, автор научной работы — Михайлюк М. В., Страшнов Е. В.

Рассматривается задача моделирования в масштабе реального времени динамики системы связанных тел с учетом трения в шарнирах. Для моделирования трения в шарнире предлагается использовать закон Кулона сухого трения. С использованием полунеявной схемы Эйлера данная задача представляется в виде системы уравнений и неравенств относительно неизвестных скоростей тел и величин импульсов. Для решения данной системы предлагается использовать итерационный метод последовательных импульсов. Чтобы улучшить сходимость метода величины импульсов, полученные с предыдущего шага моделирования, используются в качестве начального приближения для текущего шага моделирования. Предложенные в статье методы и алгоритмы описываются для основных типов шарниров и реализованы в виде исполняемой библиотеки имитационно-тренажерного комплекса, разработанного в НИИСИ РАН. Апробация разработанных методов была проведена в подсистеме динамики для моделирования роботов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по физике , автор научной работы — Михайлюк М. В., Страшнов Е. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Моделирование динамики системы связанных тел с учетом трения в шарнирах»

Наука и Образование

МГТУ им. Н.Э. Баумана

]Э5М 15Э4-040В

Наука и Образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2016. № 01. С. 108-124.

Б01: 10.7463/0116.0830582

Представлена в редакцию: Исправлена:

© МГТУ им. Н.Э. Баумана

25.11.2015 12.12.2015

УДК 004.94

Моделирование динамики системы связанных тел с учетом трения в шарнирах

Михайлюк М. В.1'*, Страшнов Е. В.

1 Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук,

Москва, Россия

1

тЬ; *Й1Ш5ца ьли

Рассматривается задача моделирования в масштабе реального времени динамики системы связанных тел с учетом трения в шарнирах. Для моделирования трения в шарнире предлагается использовать закон Кулона сухого трения. С использованием полунеявной схемы Эйлера данная задача представляется в виде системы уравнений и неравенств относительно неизвестных скоростей тел и величин импульсов. Для решения данной системы предлагается использовать итерационный метод последовательных импульсов. Чтобы улучшить сходимость метода величины импульсов, полученные с предыдущего шага моделирования, используются в качестве начального приближения для текущего шага моделирования. Предложенные в статье методы и алгоритмы описываются для основных типов шарниров и реализованы в виде исполняемой библиотеки имитационно-тренажерного комплекса, разработанного в НИИСИ РАН. Апробация разработанных методов была проведена в подсистеме динамики для моделирования роботов.

Ключевые слова: система тел, реальное время, трение в шарнирах, связь, полунеявная схема Эйлера

Введение

В задачах и технологиях виртуальной реальности для обеспечения реалистичного визуального поведения объектов в сцене часто необходимо компьютерное моделирование динамики шарнирно связанных тел. При таком моделировании требуется задать законы и описать процессы взаимодействия тел в виртуальном пространстве, которые в той или иной мере были бы приближены к законам и процессам механики твердых тел реального мира. Одним из таких физических процессов является трение в месте сочленения двух тел в системе. Моделирование трения в шарнирах позволяет повысить качество визуального поведения объектов в сцене, что важно при создании различных тренажеров, т.к. препятствует формированию у обучаемых ложных навыков. Разработка тренажерных комплексов с развитой виртуальной реальностью является одним из магистральных путей разви-

тия, поэтому создание методов и алгоритмов моделирования динамики систем тел с учетом трения в шарнирах является важной и актуальной задачей.

Особенность моделирования динамики тел в системах виртуальной реальности состоит в том, что требуется использовать такие методы и алгоритмы, которые обеспечат проведение всех расчетов в режиме реального времени. Поэтому часто приходиться жертвовать физической точностью симулирования для обеспечения визуальной правдоподобности. Кроме того, используемые алгоритмы должны быть универсальными, что означает возможность их использования для моделирования механических систем различной топологии и имеющих заранее неизвестную структуру. В системах виртуального окружения часто требуется решать задачу контактного взаимодействия между телами, что накладывает определенные ограничения на используемые алгоритмы моделирования динамики системы тел. Задача, которая решается в данной статье, состоит в разработке таких методов и алгоритмов моделирования динамики системы тел с трением в шарнирах, которые удовлетворяют всем выше перечисленным требованиям.

Для моделирования шарнирно связанных тел существуют два подхода: первый [1, 2] базируется на использовании минимального набора координат (обобщенных координат), а второй [3, 4, 10, 11] - на использовании полного набора координат (в общем случае избыточного). В данной статье будут рассмотрены методы второго подхода, поскольку они являются более универсальными по сравнению с методами первого подхода.

В статье [3] рассматривается метод моделирования шарнирно-связанных тел, основанный на импульсах. В этом методе сначала осуществляется предварительная стабилизация, которая выполняется итерационно по всем шарнирам в системе тел, пока не обеспечит выполнение всех голономных связей, а затем решается задача обеспечения ограничений в терминах скоростей. Задача стабилизации ограничений сводится к системе нелинейных алгебраических уравнений, решение которой требует больших вычислительных затрат. В статье [4] такая система нелинейных уравнений аппроксимируются системой линейных уравнений, что позволяет сократить вычисления. В публикациях [5, 6, 7] описываются базовые возможности моделирования динамики твердых тел, а также существующие методы моделирования систем тел с использованием полного набора координат на основе выполнения набора ограничений относительно координат и скоростей тел.

Трение часто учитывается в моделировании контактного взаимодействия тел (см., например, [6]). Однако в известных системах имитационного моделирования и наиболее распространенных программах моделирования динамики [8, 9] не рассматривается задача моделирования трения именно в шарнирах. Поэтому предлагаемые в настоящей работе методы и алгоритмы являются новыми в рамках рассматриваемой области исследования.

Основной целью данной статьи является моделирование динамики системы тел с учетом трения в шарнирах с использованием метода последовательных импульсов [10, 11]. Для ускорения сходимости метода на следующем шаге моделирования используются величины импульсов с предыдущего шага моделирования. Предлагаемые алгоритмы и методы предназначены для использования в системах виртуального окружения, в которых

требуется обеспечить визуально правдоподобную картину при моделировании системы тел с основными типами шарниров.

1. Динамика системы связанных тел

Рассмотрим механическую систему произвольной топологии, состоящей из N тел, которые соединены с помощью К шарниров. Будем считать, что каждый шарнир накладывает ограничения только на координаты тел в системе. Такие ограничения представимы в виде голономных связей и определяются в зависимости от типа шарнира. Согласно принципу освобождаемости от связей любое несвободное тело можно рассматривать как свободное, если действие связей заменить их реакциями. Тогда уравнения движения г - го твердого тела в системе будут иметь вид

где щ - масса тела, I - тензор инерции тела, V и Щ - линейная и угловая скорость тела,

ГС С ^

Ji и гг - внешние силы и моменты, Ji и т{ - неизвестные силы и моменты реакций связей (гироскопический момент вида Iщ здесь не учитывается, так как его

влияние несущественно для нашей задачи).

Объединяя вектора линейной и угловой скорости в один вектор V, получим уравнения движения в более компактной форме

му^Р' , /=ГЖ (1)

где V = (V,Щ) - вектор обобщенных скоростей, Е* = () - вектор обобщенных внешних сил, ЕС = () - вектор обобщенных сил реакций связей, М = diag{щjE3,1} -блочно-диагональная матрица масс.

Положение и ориентация г - го тела описывается набором координат Xi размерностью ц (например, положение центра масс и кватернион описываются набором ц = 7 координат), которые подчиняются кинематическим уравнениям следующего вида:

Хг = ВД , т = ПУ , (2)

где И{ = Н (X) - матрица размерностью ц на 6.

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

Ск(Х^Хч) = 0, к = 1К. .....**), (3)

где размерность вектора щ = &\т(Ок) равна числу степеней свободы системы тел, которые ограничивает шарнир.

Дифференцируя (3) и используя соотношения (2), получим

дОк дОк

где = Н^ и и к = Ип - матрицы размерности тк на 6.

дХ^ дХ^

Известно [12], что для обеспечения выполнения ограничений (4) необходимо к телам

приложить обобщенные силы реакций связей, которые имеют следующий вид:

= , рщ = и, (5)

где Лк - вектор неизвестных множителей Лагранжа (величины сил реакций связей).

Оставшиеся степени свободы (не ограниченные шарнирами) системы тел определяют относительное движение между парами тел. Для к -го шарнира число степеней свободы равно 1к = 6 - т. В шарнире действуют силы или моменты трения, которые препятствуют относительному движению тел. Сформируем такие 4 ограничений, выполнение которых означает, что в шарнире отсутствует относительное движение (случай трения покоя в шарнире). Отсутствие относительного движения между £ -м и г/-м телом означает равенство линейных скоростей тел в точке Р шарнира ( Ур = у^ ) и угловых скоростей ( Щ = Щ ). Для выполнения этих условий дополним (4) следующими ограничениями:

+ вкул= о, (6)

где В^ и Вк - матрицы размерности ¡к на 6.

Так как при действии трения покоя отсутствует относительное движение в шарнире, то работа сил трения покоя будет равна нулю и обеспечение ограничений (6) ничем не отличается от обеспечений ограничений (4). Поэтому аналогично (5) для выполнения данных ограничений к телам нужно приложить обобщенные силы следующего вида:

Щ = ВТцмк, Щ = В/Тк . (7)

где Тк - неизвестные множители (величины сил трения).

Представим обобщенную силу трения от к -го шарнира, действующую на г -ое

тело, в следующем виде:

_ "к _

^ Вкг, ]Тк „

]=1

где векторы Вы ., ] = 1, ¡к являются столбцами матрицы Вты и определяют направления действия всех обобщенных сил трения, т ] - величины обобщенных сил трения в к -м шарнире.

Силы трения в шарнире являются конечными величинами. Для описания действия трения в шарнире воспользуемся законом Кулона сухого трения. Будем считать, что обобщенная сила трения в шарнире не превышает некоторой максимальной силы трения, модуль кото-

рой равен (постоянная величина для каждого шарнира). Таким образом, закон Ку-

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

.-х2.

где |Х|| = ^X + • •• -

Используя неравенство треугольника для нормы вектора и неравенство Коши-Буняковского [13], получим

Ё В«,\*,,

1=1

Ьс __^ ..__Ьс _ ^ , ^ ,,_ ,,

< Ё1= Вк'Л ГкЛ ^ Ё1 ВкИ IЁ = Ё1^ Л I\к 11 =

1=1 1=1 1=1 1=1 1=1

где ||х|| = \х\ + ••• + Х»| - гельдерова норма.

Так как используемые нами нормы эквивалентны, то

к 111 < \\\к

. Сделаем замену

Я* = Р* V

к вш к ид У ,

¿=1

то получим

К,

Тогда, если будет выполнено условие

И

< к/г

к,тах 5

(8)

В дальнейшем для каждого шарнира будут вычисляться величины сил \к таким образом, чтобы обеспечить выполнение (6). Если \к будут удовлетворять условиям (8), то найденные \к будут соответствовать трению покоя в шарнире. В противном случае берем новые значения Д'к = \кРкгтях /|\Дк\ и при вычислении новых скоростей тел ограничения

(6) уже в общем случае не будут выполнены, что соответствует динамическому трению в шарнире.

Добавляя силы реакции связей (5) и силы трения (7) в уравнения (1), получим

где К - множество шарниров, которые связывают г -ое тело с другими телами.

Перейдем от описания динамики системы тел с помощью сил к описанию с помощью импульсов. Для моделирования большинства сценариев в системах виртуальной реальности достаточно использовать схемы с более низким порядком аппроксимации. В качестве такой схемы выберем полунеявную схему Эйлера с шагом интегрирования Лt. В ней скорости тел V (t + Лt) определяются по явной схеме, а координаты тел Х{ (t + Л) по неявной относительно скоростей тел. Тогда из (9) получим уравнения для скоростей V (t + Д) следующего вида:

V ($ - Д) = V (0 - ы; р - ы;1Ё (Лъ - КЙ)

(10)

кеК,

где р® = Е^Дt - импульс внешних сил, рк = - величины импульсов реакций связей, р^ = рД - величины импульсов трения в шарнире. В данной схеме равенство (2) приводится к виду

X (г + ДО = X (t) + (t + At) . (11)

Умножая неравенство (8) на Дt и используя замену р^^ = Д , получим

* р^х . (12)

Объединяя в одну систему соотношения (4), (6), (10), (12), получим описание динамики связанных тел с трением в шарнирах относительно неизвестных V (t + Д), рк, р[г:

Моделирование динамики шарнирно-связанных тел будет проводиться итерационным методом последовательных импульсов. На каждом шаге моделирования с помощью этого метода будут определяться новые скорости тел V (t + Д), для которых должно быть выполнено (13). Далее на основе этих скоростей при использовании (11) будут определяться новые положения тел Х1 (^ + Д) . Заметим, что решение задачи (13) не обеспечивает выполнение ограничений (3), что приводит к их нарушению в процессе моделирования, поэтому дополнительно требуется решать задачу стабилизации дифференциальных уравнений (13) относительно уравнений (3) (см. [11]).

2. Метод последовательных импульсов

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для решения задачи (13) в данной статье используется итерационный метод последовательных импульсов. Идея этого метода состоит в том, что мы не решаем всю задачу (13) целиком для всех ограничений системы тел, а последовательно обрабатываем ограничения по каждому шарниру. В этом методе на каждом шаге итерации вычисляются величины импульсов Дрк и Др[г, которые обеспечивают выполнение ограничений только для

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

Способ вычисления неизвестных величин импульсов реакций связей рк, обеспечивающих выполнение ограничений (4) в задаче (13) без учета трения в шарнирах, и реше-

ние задачи стабилизации ограничений (3) подробно описаны в статье [11]. Поэтому целью данной статьи является вычисление неизвестных величин импульсов трения р? задачи (13), удовлетворяющих неравенству (12), а также соотношениям (6) для случая трения покоя в шарнире. Рассмотрим ч -ую итерацию метода последовательных импульсов для шага моделирования, соответствующего времени t + А. Пусть обрабатывается к -ый шарнир, который соединяет £ -ое и ?] -ое тело. Перед учетом трения в шарнире текущие скорости тел равны Vi(1) (t + At) . Будем вычислять такие значения величин импульсов Ар?'ч, которые обеспечат выполнение (6) для новых скоростей тел V(2)(/ + А). Величины импульсов трения р? в данном случае накапливаются на каждом шаге итерации метода, т.е.

Рк ч = ^ Ар?'ч . Перед вычислением импульса Ар? ч должно быть выполнено условие

ч

(12) для р?'(ч1). Из соотношений (6), (10) и (12) получим систему уравнений и неравенств относительно неизвестных величин импульсов трения в шарнире р?'ч и скоростей £ -го и тт -го тела на ч -ой итерации

+ А) = ^ + At) + М^ВТЖк?'4;

^ у, , ^ j , ? yi , , ^ ^HPk ,

Vf\t + At) = Vf\t + At) + M-lBTk^Ap?'q;

\\pM < pfmx : BkV?\t + At) + B^(t + At) = 0; (14)

ЫЛ <pfmx; Pkr,q = ZAp,

~p,fr ,q k •

Подставив первые два уравнения из (14) в третье уравнение, получим систему линейных уравнений относительно неизвестных Apfr q:

(B4M-B + ВъМ^КШ" - -BkV\t + At) -Bkl]V(\t + At). (15)

Обозначим величины импульсов трения Ap?'q, полученные из (15), через Apfr'q(1).

k — Гк 1о AFk ~Apk 'q и

Если выполнено условие ||pfr,(q 1) +Ap/' q(1^| < p?^ , то Apfr q -Ap

p/r,q - pfr,(q-1)+Apkr,q

следующим образом:

pfr'q — pf'^ 1) + Apfq. В противном случае вычисляем новые величины импульсов Apfr'q(2)

vfr

\-p.frq(2) — -p.fr'(q-IK__'max_(~п/г'(q_1) -I- Лnfrq(1)ч\ ЛM

Apk --pk + ||f;q-1) +Apfr,q(1)\\ (pk +*Pk ) . (16)

В этом случае получим

k ,m

-fr'(q-1)~A-zzfrq(1)|lllrk ' II 'max

II -fr '(q-1) д -fr'q(T)\\_ _pk ,max_| \-fr ,(q-1) д -fr 'q(1)|| _ fr

\\pk + Apk -ll_frr„_n. .-fr „mil pk + Apk - pk'l

pfr'(q-1) +Apf

и при замене Ар?''1 = Ар?'ч( ) и р?ч = р?'(ч ) + Дркч последнее условие в (14) будет выполнено. Отметим, что третье уравнение в (14) в общем случае выполняться уже не будет, так как трение будет создавать в данном случае тормозящее действие (динамическое трение).

q

После вычисления величин импульсов Apf"'q вычисляются новые скорости £ -го и r -го тела согласно первым двум уравнениям из (14). Итерации метода продолжаются до тех пор, пока не выполнены все условия окончания итераций. Для трения в шарнире данные условия могут быть выбраны следующим образом:

ЦАР/"'*! <*. (17)

Для улучшения сходимости метода величины импульсов pf, полученные на данном шаге моделирования, используются в качестве начального приближения для следующего шага, то есть pf'(0)(t + At) = pf (t).

Для обеспечения реального масштаба времени критерий окончания итераций (17) дополняется условием проверки того, что время, пройденное с момента начала итерации (измеряется средствами операционной системы Windows), не превышает установленного ограничения. В случае превышения этого ограничения, итерации досрочно заканчиваются.

Алгоритм каждого шага моделирования системы связанных тел с трением в шарнирах заключается в следующем:

1. Цикл по телам

Вычисляем скорости тел после приложения обобщенных сил Ff .

Конец цикла

2. Цикл по шарнирам

Вычисляем скорости тел после применения импульсов JTp(0 и B^pf '(0) с

предыдущего шага моделирования.

Конец цикла

3. Цикл по итерациям (q = 1,...)

Цикл по шарнирам

Решаем задачу для величин импульсов реакций связей Apq (см. [11]).

Вычисляем скорости тел после применения импульсов J't^Apk и

JI,Apk.

Вычисляем Apf"' q(1) из (15).

Если ||pf (*-1) +Apf *(1)|| < pfmax , то

Apf"q =Apf"'q(1), pf"'q = pf"'(q-1) +Apf q иначе

вычисляем Apf"' q(2) из (16)

Apf'q = Ap^, pf"'q = pf"'(q-1) +Ap("'q

Вычисляем скорости тел после применения импульсов BLApfr'q и

,q

krApk .

Bl*pfr'q

Конец цикла по шарнирам Если выполнен критерий окончания итераций (ограничения (17) и установленный интервал времени), то завершаем цикл.

3. Примеры использования метода для основных шарниров

Рассмотрим применение метода последовательных импульсов для моделирования трения основных типов шарниров: сферического, осевого и призматического.

Сферический шарнир (см. рис. 1) представляет собой кинематическую пару, позволяющую двум соединяемым телам свободно вращаться друг относительно друга. Ограничения (6) для трения покоя в сферическом шарнире будут иметь вид

= О

(в этом случае Вц = [© E], В— = [© -E], а Е - единичная матрица 3 на 3).

Рис. 1. Сферический шарнир

Система (14) для сферического шарнира будет иметь вид С (г + М) = С (г + М) + Г^Арр9;

+ М) = С(г + М) -1--}Мр*л; \\р^\\<Р^: С2)(г+ М)-д-\г + М) = О;

№II * р£тах; Я'9 = Ё Ар(г'9.

Уравнение (15) получится следующим:

(I- + Г-1)Ар(г>9 = +М)+ М).

Осевой шарнир (см. рис. 2) представляет собой кинематическую пару, позволяющую двум соединяемым телам вращаться друг относительно друга только вокруг одной оси п . Ограничение (6) для трения покоя в осевом шарнире будет иметь вид

(С -о>2)п = О (в этом случае Вч = [ 0т пт ], В2- = [ 0Г -пт ] ).

Система (14) для осевого шарнира будет иметь вид С (г + М) = С (г + Аг)+1- 1Арр9п; С (г + А) = С (г + А) -1- 1Ар(г 9п;

\Рк \ < р к,тах

(С2) (г + А) - С (г + Аг))п = 0;

ЫЛ * р?

тах ; рк^9 =ЁАрк

/г, Л

Уравнение (15) получится следующим:

пт (I- 1 +12 1)йАр/, 9 = С (г+А) - С (г + А))п.

Призматический шарнир (см. рис. 3) представляет собой кинематическую пару, позволяющую двум телам поступательно двигаться друг относительно друга только вдоль одного направления й . Ограничение (6) для трения покоя в призматическом шарнире будет иметь вид

(у-)й = (у-+ё-х г--у-ёлх гЯ = (у--уЯ + аЖ х й)-ё(гл х й) = 0,

где Р - точка крепления призматического шарнира (у каждого тела своя точка), г и ^ -вектора, соединяющие центры масс двух тел с точкой шарнира (в этом случае

В--=[_ йт (г-х й )г ], В--=[ -йт -(гпх й )г ] ).

Рис. 3. Призматический шарнир

9

Система (14) для призматического шарнира будет иметь вид £ (/ + Дt) = ( (/ + At) + Ар?т(й; — (t + At) = — (t + At) - Ар(гт-Я; с£2) (/ + At) = со(> (/ + At) + Ар/Г1( 1 (, х Я); (t + А/) = С (t + А/) - Арк' (- х Я);

Рк < Рк, тах

(((t + А/)- V®(t + At))Я + (/ + At)(, хЯ)-со-2)(t + А/)(, хЯ) = 0;

/ * р?тах; р^ = £Др

к ■

Уравнение (15) получится следующим:

(т( + т- + (,£ хЯ)Т1(\Т( хЯ) + (- хЯ)т I-хЯ))Др

/Г _

к

(у--1 (/ + а/) - ((t + а/))Я - с((1) (/ + а/)(, х Я) + С-1 (t + А/)(- х Я)■

Для каждого типа шарнира после вычисления Ар?ч, проверяем последнее условие в (14). Если условие не выполняется, то вычисляем новый импульс на основе (16). Далее получаем новые скорости тел на основе первых двух уравнений в (14).

4. Результаты моделирования

Разработанные в статье методы и алгоритмы реализованы в виде программных модулей на языке С++. Эти программные модули внедрены в подсистему динамики имитационно-тренажерного комплекса, разработанного в НИИСИ РАН.

Рис. 4. Модель робота ЫБ-4

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ч

На модели робота MF-4 (см. рис. 4), содержащего шарниры с трением, была проведена комплексная апробация разработанных методов и алгоритмов, которая показала их полную адекватность требованиям, предъявляемых к системам моделирования роботов.

В качестве примера рассмотрим здесь моделирование движения двери, толкаемой роботом MF-4, которая со временем должна останавливаться под действием момента трения в осевом шарнире. На рис. 5 показано два положения двери: первое соответствует начальному положению двери до открытия ее роботом, а второе соответствует конечному положению двери после останова под действием момента трения. Дверь крепится к стенке с помощью петель, т.е. с помощью осевого шарнира. Для данной двери установлен максимальный момент трения, модуль которого = 20 Н • м.

Рис. 5. Движение двери с трением в петлях

Моделирование осуществляется с постоянным шагом А/ = 0.01 с, а время моделирования отсчитывается от момента толчка роботом двери до полного ее останова. На рис. 6 представлена зависимость угловой скорости двери с = С • п от времени г. С момента начала движения дверь останавливается за время г « 0.87 с.

На графике можно выделить три участка. Участок 1 соответствует времени 0 * г < ^ ,

г ~ 0.33 с, где дверь взаимодействует с роботом, поэтому помимо трения в шарнире на дверь еще действует и сила реакции со стороны робота. Участок 2 соответствует времени г * г < г2, г2 « 0.87 с, где движение двери происходит без участия робота, а в шарнире

действует динамическое трение. Как видно из графика, зависимость близка к линейной, что подтверждает допустимость применения модели Кулона для сухого трения в шарнире. В момент времени г2 происходит остановка двери, участок 3 соответствует времени г > г2, где дверь покоится.

1.4 1.2

■¡г

£. 1 ^

в 0.8

с.

4) В

4 0.5

л Й

0.4

Ь:

и

К

2 0,2

о

с

1 1

\

\ /

° 30

£

га О.

а 25

£ 20 Ч

га О

п

2 10

с о

* 5

0 0.2 I! 0 4 0,6 0.8 {2 1 1.2

Бремя, 1 ¡с)

Рис. 6. Зависимость угловой скорости двери ®д(5 (в рад/с) от времени t (с)

/ 1

0,2 ^ 0.4 0.6 0,8 и 1 1.2

Время, с (с}

Рис. 7. Зависимость угла поворота двери а (в градусах) от времени t (с)

На рис. 7 представлена зависимость угла поворота а (в градусах) двери от времени. Считаем, что отсчет угла идет он начального положения двери. До полного останова

дверь успевает повернуться на угол, приближенное значение которого составляет 37.62°. Из графика видно, что на участке 2 рассматриваемая зависимость близка к квадратичной, что согласуется с теорией.

Представленные результаты моделирования показывают, что предложенные в статье методы позволяют обеспечить визуальную реалистичность поведения системы связанных тел с учетом трениям в шарнирах, необходимую для систем виртуального окружения имитационно-тренажерных комплексов.

Заключение

Метод последовательных импульсов позволяет достаточно эффективно моделировать динамику системы многих тел в режиме реального времени с учетом трения в шарнирах. Для моделирования трения в шарнирах был использован закон Кулона сухого трения, который обеспечивает высокую реалистичность поведения систем тел. Апробация разработанных методов показала их адекватность требованиям систем виртуального окружения и имитационно-тренажерных комплексов. Предложенные в статье методы и алгоритмы могут быть использованы также в виртуальных лабораториях, системах моделирования динамики сложных объектов и т.д. В качестве дальнейшего развития данной проблематики могут быть реализованы другие модели трения в шарнирах (вязкое трение и т.п.).

Список литературы

1. Виттенбург Й. Динамика систем твёрдых тел: пер. с англ. / под ред. Й. Виттенбурга. М.: Мир, 1980. 292 с. [Wittenburg J. Dynamics of Systems of Rigid Bodies. Stuttgart: B.G. Teubner, 1977. 224 p.].

2. Featherstone R. Rigid Body Dynamics Algorithms. New York: Springer, 2008. 272 p.

3. Weinstein R., Teran J., Fedkiw R. Dynamic simulation of articulated rigid bodies with contact and collision // IEEE Transactions on Visualization and Computer Graphics. 2006. Vol. 12, no. 3. P. 365-374. DOI: 10.1109/TVCG.2006.48

4. Bender J., Schmitt A.A. Fast Dynamic Simulation of Multi-Body Systems Using Impulses // Proceedings of the Third Workshop on Virtual Reality Interactions and Physical Simulations (VRIPhys), 2006, November, Madrid, Spain. Madrid, 2006. P. 81-90.

5. Garstenauer H.A. Unified Framework for Rigid Body Dynamics: Master's Thesis. Johannes Kepler Universitat, Linz, Austria, 2006. 139 p.

6. Erleben K. Stable, Robust and Versatile Multibody Dynamics Animation: Ph.D. Thesis. University of Copenhagen, Denmark, 2004. 222 p.

7. Pickl K. Rigid Body Dynamics: Link and Joints: Master's Thesis. Computer Science Department 10 (System Simulation), University of Erlangen-Nurnberg, Germany, 2009. 64 p.

8. Tutorial Articles. Wiki. Physics Simulation // Bullet Physics Library: website. Режим доступа: http://bulletphysics.org/mediawiki-1.5.8/index.php/Tutorial_Articles (дата обращения 07.09.2015).

9. NVIDIA PhysX SDK Documentation // NVIDIA GameWorks: website. Режим доступа: http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Index.html (дата обращения 07.09.2015).

10. Catto E. Iterative Dynamics with Temporal Coherence // Proc. of the Game Developer Conference, 2005, 22 February, Menlo Park, California, USA. California, 2005. P. 1-24.

11. Михайлюк М.В., Страшнов Е.В. Моделирование системы связанных тел методом последовательных импульсов // Труды НИИСИ РАН. 2014. Т. 4, № 2. С. 52-60.

гН

12. Shabana A.A. Computational Dynamics. 3 ed. New York: John Wiley and Sons, 2010. 528 p.

13. Калиткин Н.Н. Численные методы. М.: Наука, 1978. 512 с.

Science ¿Education

of the Baurnan MSTU

Science and Education of the Bauman MSTU, 2016, no. 01, pp. 108-124.

DOI: 10.7463/0116.0830582

Received: 25.11.2015

Revised: 12.12.2015

© Bauman Moscow State Technical Unversity

Simulating Dynamics of the System of Articulated Rigid Bodies with Joint Friction

M.V. Michaylyuk1'*, E.V. Strashnov1 'Wigmnajasju

federal Research Center of Scientific Research Institute for System Studies of the Russian Academy of Sciences, Moscow, Russia

Keywords: multibody system, real time, joint friction, constraint, semi-implicit Euler method

The subject of the work is to simulate dynamics of the system of articulated rigid bodies in the virtual environment complexes. The work aim is to develop algorithms and methods to simulate the multi-body system dynamics with joint friction to ensure all calculations in real time in line with visual realistic behavior of objects in a scene.

The paper describes the multibody system based on a maximal set of coordinates, and to simulate the joint friction is used a Coulomb's law of dry friction. Joints are described using the holonomic constraints and their derivatives that specify the constraints on velocities of joined bodies. Based on The Coulomb's law a correlation for the friction impulse values has been derived as an inequality. If the friction impulse performs a constraint that is a lack of relative motion of two joint-joined bodies, there is a static friction in the joint. Otherwise, there is a dynamic friction in the joint. Using a semi-implicit Euler method allows us to describe dynamics of articulated rigid bodies with joint friction as a system of linear algebraic equations and inequalities for the unknown velocities and impulse values.

To solve the obtained system of equations and inequalities is used an iterative method of sequential impulses, which sequentially processes constraints for each joint with impulse calculation and its application to the joined bodies rather than considers the entire system. To improve the method convergence, at each iteration the calculated impulses are accumulated for their further using as an initial approximation at the next step of simulation.

The proposed algorithms and methods have been implemented in the training complex dynamics subsystem, developed in SRISA RAS. Evaluation of these methods and algorithms has demonstrated their full adequacy to requirements for virtual environment systems and training complexes.

References

1. Wittenburg J. Dynamics of Systems of Rigid Bodies. Stuttgart, B.G. Teubner, 1977. 224 p.

(Russ. ed.: Wittenburg J. Dinamika sistem tverdykh tel. Moscow, Mir Publ., 1980. 292 p.).

2. Featherstone R. Rigid Body Dynamics Algorithms. New York, Springer, 2008. 272 p.

3. Weinstein R., Teran J., Fedkiw R. Dynamic simulation of articulated rigid bodies with contact and collision. IEEE Transactions on Visualization and Computer Graphics, 2006, vol. 12, no. 3, pp. 365-374. DOI: 10.1109/TVCG.2006.48

4. Bender J., Schmitt A.A. Fast Dynamic Simulation of Multi-Body Systems Using Impulses. Proceedings of the Third Workshop on Virtual Reality Interactions and Physical Simulations (VRIPhys). 2006, November, Madrid, Spain. Madrid, 2006, pp. 81-90.

5. Garstenauer H.A. Unified Framework for Rigid Body Dynamics. Master's Thesis. Johannes Kepler Universitat, Linz, Austria, 2006. 139 p.

6. Erleben K. Stable, Robust and Versatile Multibody Dynamics Animation. Ph.D. Thesis. University of Copenhagen, Denmark, 2004. 222 p.

7. Pickl K. Rigid Body Dynamics: Link and Joints. Master's Thesis. Computer Science Department 10 (System Simulation), University of Erlangen-Nurnberg, Germany, 2009. 64 p.

8. Tutorial Articles. Wiki. Physics Simulation. Bullet Physics Library: website. Available at: http://bulletphysics.org/mediawiki-1.5.8/index.php/Tutorial_Articles , accessed 07.09.2015.

9. NVIDIA PhysX SDK Documentation. NVIDIA GameWorks: website. Available at: http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Index.html , accessed 07.09.2015.

10. Catto E. Iterative Dynamics with Temporal Coherence. Proc. of the Game Developer Conference. 2005, 22 February, Menlo Park, California, USA, 2005, pp. 1-24.

11. Mikhailyuk M.V., Strashnov E.V. Simulation of articulated multibody system using sequential impulses method. Trudy NIISI RAN = Proc. of Scientific Research Institute of System Studies of Russian Academy of Sciences, 2014, vol. 4, no. 2, pp. 52-60. (in Russian).

rd

12. Shabana A.A. Computational Dynamics. 3 ed. New York, John Wiley and Sons, 2010. 528 p.

13. Kalitkin N.N. Chislennye metody [Numerical methods]. Moscow, Nauka Publ., 1978. 512 p. (in Russian).

i Надоели баннеры? Вы всегда можете отключить рекламу.