SlideShare une entreprise Scribd logo
1  sur  34
Метод отдельных тел
(метод А. Ф. Верещагина)
Юдинцев В. В.
Кафедра теоретической механики
Самарский государственный аэрокосмический университет
им. академика С. П. Королёва
(национальный исследовательский университет)
29 марта 2014 г.
Метод отдельных тел
Метод разработан Верещагиным А. Ф. в 1974 году:
Верещагин А. Ф. Компьютерное моделирование динамики
сложных механизмов роботов-манипуляторов Инженерная
кибернетика, вып. 6, 1974, с. 65-70.
Используются шарнирные координаты.
Не формируется матрица масс всей системы: все матричные
операции выполняются с матрицами и векторами размерности
≤ 6.
Вычислительная трудоёмкость пропорциональна количеству тел
системы: O(n).
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 2 / 34
Уравнения движения
Уравнения движения
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 3 / 34
Уравнения движения
Уравнения движения тела n
Mnan = Qn + Rn (1)
где Mn – матрица инерции тела:
Mn =
mnE3×3 03×3
03×3 Jc
; (2)
an – столбец линейных и угловых ускорений тела n, Qn – столбец
активных сил и моментов, действующих на тело n, Rn – столбец сил и
моментов реакции, действующих на тело n:
an =
an
εn
=
¨rn
εn
, Qn =
Fn
Mn − ωn × Jn · ωn
, Rn =
Fc
n
Mc
n
.
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 4 / 34
Уравнения движения
Уравнения движения тела n − 1
Mn−1an−1 = Qn−1 + Rn−1 + R∗
n (3)
R∗
n – столбец сил и
моментов реакции,
приведённых к центру масс
тела n − 1:
R∗
n =
Fc
n
Mc
n + ρn × Fc
n
.
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 5 / 34
Кинематика относительного движения
Ускорение
an = Cnan−1 + Sn¨qn + an (4)
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 6 / 34
Кинематика относительного движения
Матрица Cn
an = Cnan−1 + Sn¨qn + an
Cn =
E −ρn×
0 E
→
E −ρn×
0 E
¨rn−1
εn−1
=
¨rn−1 + εn−1 × ρn
εn−1
(5)
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 7 / 34
Кинематика относительного движения
Шарнирное ускорение
Подставив в уравнение движения an и умножив результата на ST
n
ST
n · Mnan = Qn + Rn ← an = . . . qn, (6)
получим:
ST
n Mn(Cnan−1 + Sn¨qn + an) = ST
n Qn + ST
n Rn. (7)
или
¨qn = (ST
n MnSn
Un
)−1
ST
n (Qn + Rn − Mn(Cnan−1 + an)) (8)
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 8 / 34
Кинематика относительного движения
Механическая система с идеальными связями
rk = rk(q1, q2, . . . , qn) =


xk(q1, q2, . . . , qn)
yk(q1, q2, . . . , qn)
zk(q1, q2, . . . , qn)


˙rk =


∂xk/∂q1 ∂xk/∂q2 . . . ∂xk/∂qn
∂yk/∂q1 ∂yk/∂q2 . . . ∂yk/∂qn
∂zk/∂q1 ∂zk/∂q2 . . . ∂zk/∂qn





˙q1
...
˙qn


 +
∂rk
∂t
= Sn ˙q +
∂rk
∂t
¨rk = Sn¨q + . . .
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 9 / 34
Кинематика относительного движения
Матрица Sn и идеальные связи
Sk =


∂xk/∂q1 ∂xk/∂q2 . . . ∂xk/∂qn
∂yk/∂q1 ∂yk/∂q2 . . . ∂yk/∂qn
∂zk/∂q1 ∂zk/∂q2 . . . ∂zk/∂qn


Каждый столбец матрицы Sk – базисный
вектор криволинейного базиса,
касательного пространства:
Sk = eq1 eq2 . . . eqn
Для идеальных связей
Rk · eq1 = 0, Rk · eq2 = 0, . . . , Rk · eqn = 0
или
ST
k Rk = 0.
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 10 / 34
Кинематика относительного движения
Обобщённые ускорения
С учётом
ST
n Rn = 0 (9)
Выражение для вторых производных обобщённых координат
¨qn = (ST
n MnSn
Un
)−1
ST
n (Qn + Rn − Mn(Cnan−1 + an)) (10)
принимает вид:
¨qn = U−1
n ST
n Qn − Mn(Cnan−1 + an) (11)
где
Un = ST
n MnSn. (12)
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 11 / 34
Кинематика относительного движения
Обратный ход алгоритма метода отдельных тел
¨qn = U−1
n ST
n Qn − Mn(Cnan−1 + an) , (13)
an = Cnan−1 + Sn¨qn + an, (14)
Mnan = Qn + Rn, (15)
Mn−1an−1 = Qn−1 + Rn−1 + R∗
n. (16)
¨qn → an(¨qn) → mnan = . . . → Rn(an−1) → mn−1an−1 = . . .
M∗
n−1an−1 = Q∗
n−1 + Rn−1, n → k
где
M∗
n−1 = Mn−1 + CT
n MnCn − CT
n MnSnU−1
n ST
n MnCn,
Q∗
n−1 = Qn−1 + CT
n Mn SnU−1
n ST
n (Qn − Mnan) + an − Qn .
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 12 / 34
Кинематика относительного движения
Алгоритм
Обратный ход алгоритма (k = n, n − 1, n − 2, . . . , 2)
M∗
k−1 = Mk−1 + CT
k M∗
kCk − CT
k M∗
kSkU−1∗
k ST
k M∗
kCk, (17)
Q∗
k−1 = Qk−1 + CT
k M∗
k SkU−1∗
k ST
k (Q∗
k − M∗
kak) + ak − Q∗
k , (18)
U∗
k = ST
k M∗
kSk. (19)
Mn, Qn → M∗
n−1, Q∗
n−1 → M∗
n−2, Q∗
n−2 → . . . → M∗
1, Q∗
1
Прямой ход алгоритма (k = 1, 2, 3, . . . , n)
¨qk = U∗−1
k ST
k Q∗
k − M∗
k(Ckak−1 + ak) (20)
ak = Ckak−1 + Sk ¨qk + ak. (21)
¨q1(w0), w1 → ¨q2(a1), a2, → . . . → ¨qn(an−1), an
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 13 / 34
Пример программы (MATLAB)
Плоская система стержней, последовательно
соединённых цилиндрическими шарнирами
Пример
Схема системы
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 15 / 34
Пример
Структура файлов
main.m dqdt.m
getSk.m Sk
getCk.m Ck
getWprim.m ak
getMkQkiUk.m M∗
k, Q∗
k, Uk
getA.m Ak
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 16 / 34
Пример
Главный файл-скрипт I
global Model;
Model=struct;
Количество тел
n=10; Model.n=n;
Шарнирные векторы: c
(k)
k,k+1 =
lk/2
0
=
l/2
0
, c
(k)
k,k = −
lk/2
0
= −
l/2
0
c=mat2cell(zeros(n*2,n),ones(1,n)*2,ones(1,n));
for i=1:n
c{i,i}=0.5*[-1;0]/n;
if i~=n
c{i,i+1}=0.5*[+1;0]/n;
end
end
Model.c=c;
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 17 / 34
Пример
Главный файл-скрипт II
Матрицы масс
mass=cell(n,1); m=10;
for i=1:n
mass{i}=[m/n 0 0; 0 m/n 0; 0 0 m/(12*n*n*n)];
end
Model.mass=mass;
Начальные условия
q0=zeros(n*2,1); q0(1)=-1.0;
Интегрирование
[t,q]=ode113(@dqdt,[0 10],q0);
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 18 / 34
Пример
Файл-функция правых частей ДУ I
[ ˙ϕ1, ˙ϕ2, . . . , ˙ϕn, ¨ϕ1, ¨ϕ2, . . . , ¨ϕn] = dqdt(t, [ϕ1, ϕ2, . . . , ϕn, ˙ϕ1, ˙ϕ2, . . . , ˙ϕn])
function dx = dqdt(t,x)
global Model;
n=size(x,1)/2;
q =x(1:n);
dq=x(n+1:2*n);
dx=[dq;dq];
Матрицы преобразования координат Ai из базиса тела i в базис 0:
A0=cell(n,1);
A0{1}=getA(q(1));
for i=2:n
A0{i}=A0{i-1}*getA(q(i));
end
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 19 / 34
Пример
Файл-функция правых частей ДУ II
Силы и моменты
Q=cell(n,1);
for i=1:n
Q{i}=[0;-Model.mass{i}(1,1)*9.81;0];
end
Обратный ход алгоритма.
Вычисление матриц M∗
k, Q∗
k, U−1
k
[Mk,Qk,iUk]=getMkQkiUk(q,dq,Model.mass,Model.c,Q,A0);
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 20 / 34
Пример
Файл-функция правых частей ДУ III
Прямой ход алгоритма. Вычисление ¨qk, ak.
w=[0;0;0];
for i=1:n
Ck=getCk(i, q, dq, Model.c, A0);
Sk=getSk(i, q, dq, Model.c, A0);
Wp=getWprim(i, q, dq, Model.c, A0);
dx(n+i)=iUk{i}*Sk’*(Qk{i}-Mk{i}*(Ck*w+Wp));
w=Ck*w+Sk*dx(n+i)+Wp;
end
end
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 21 / 34
Пример
Файл-функция getMkQkiUk (обратный ход алгоритма) I
function [Mk,Qk,iUk] = getMkQkiUk(q,dq,masses,c,Q,A0)
n=size(q,1);
Mk=cell(n,1);
Qk=cell(n,1);
iUk=cell(n,1);
Mk{n}=masses{n};
Qk{n}=Q{n};
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 22 / 34
Пример
Файл-функция getMkQkiUk (обратный ход алгоритма) II
for k=n:-1:1
Ck=getCk(k,q,dq,c,A0);
Sk=getSk(k,q,dq,c,A0);
Wprim=getWprim(k, q, dq, c, A0);
U=Sk’*Mk{k}*Sk;
iUk{k}=inv(U);
if k>1
Mk{k-1}=masses{k-1}+Ck’*Mk{k}*Ck-Ck’*Mk{k}*...
Sk*iUk{k}*Sk’*Mk{k}*Ck;
Qk{k-1}=Q{k-1}-Ck’*(Mk{k}*(Sk*iUk{k}*Sk’*...
(Qk{k}-Mk{k}*Wprim)+Wprim)-Qk{k});
end
end % for
end
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 23 / 34
Пример
Файл-функция getCk
Коэффициенты при ускорениях ak−1 в выражении
ak = Ckak−1 + Sk ¨qk + ak (22)
ak =


¨xk−1
¨yk−1
εk−1

 +
A−π/2(Akc
(k)
kk − Ak−1c
(k−1)
k,k−1)
0
εk−1 + . . .
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 24 / 34
Пример
Файл-функция getCk
ak =
E2×2 A−π/2(Akc
(k)
kk − Ak−1c
(k−1)
k,k−1)
0 1
Ck


¨xk−1
¨yk−1
εk−1

 + . . .
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 25 / 34
Пример
Файл-функция getCk
function ck = getCk(k, q, dq, c, A0)
ck=eye(3,3);
if k==1
ck(1:2,3)=-[0 1;-1 0]*(-A0{k}*c{k,k});
else
ck(1:2,3)=-[0 1;-1 0]*(A0{k-1}*c{k-1,k}-A0{k}*c{k,k});
end
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 26 / 34
Пример
Файл-функция getSk
ak = Ckak−1 + Sk ¨qk + ak (23)
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 27 / 34
Пример
Файл-функция getSk
Sk ¨qk = Sk ¨ϕk =


aτ
rx
aτ
ry
¨ϕk

 =
A−π/2Akckk
1
¨ϕk. (24)
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 28 / 34
Пример
Файл-функция getSk
Sk =
A−π/2Akckk
1
. (25)
function sk = getSk(k, q, dq, c, A0)
sk=[0;0;1];
sk(1:2)=[0 1;-1 0]*A0{k}*c{k,k};
end
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 29 / 34
Пример
Файл-функция getWprim
Составляющие ускорения, не зависящие от вторых производных
обобщённых координат ¨q.
ak = Ckak−1 + Sk ¨qk + ak (26)
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 30 / 34
Пример
Файл-функция getWprim
ak = −ck−1,kω2
k−1 + ckkω2
k−1
an
e
+ 2ckk ˙ϕkωk−1
ak
+ ckk ˙ϕ2
k
an
r
(27)
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 31 / 34
Пример
Файл-функция getWprim
ak = −ck−1,kω2
k−1 + ckkω2
k−1 + 2ckk ˙ϕkωk−1 + ckk ˙ϕ2
k. (28)
function wprim=getWprim(k, q, dq, c, A0)
if k==1
wprim=[(dq(k)+0)^2*A0{k}*c{k,k};0];
else
wkp=sum(dq(1:k-1));
wprim=[(dq(k)+wkp)^2*A0{k}*c{k,k}-wkp*wkp*A0{k-1}*c{k-1,k};0];
end
end
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 32 / 34
Пример
Файл-функция getA
Матрица плоского поворота, преобразующая координаты из базиса e2,
повёрнутого вокруг оси z относительно базиса e1, в базис e1.
function A = getA(angle)
A=[cos(angle) -sin(angle);sin(angle) cos(angle)];
end
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 33 / 34
Пример
Список использованных источников
1 Верещагин, А. Ф. Компьютерное моделирование динамики сложных
механизмов роботов-манипуляторов / А. Ф. Верещагин // Инженерная
кибернетика, вып. 6. — 1974. — С. 65–70.
2 Дмитроченко, О. Н. Эффективные методы численного моделирования
динамики нелинейных систем абсолютно твёрдых и деформируемых
тел: Дис... канд. физ. мат. наук: 01.02.01. – М., 2003. – 125 с.
3 Joel Storch and Stephen Gates, Motivating Kane’s Method for Obtaining
Equations of Motion for Dynamic System. Engineering Notes, Vol. 12, N. 4,
July-August 1989.
Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 34 / 34

Contenu connexe

Tendances

Метод Й. Виттенбурга (Сферические шарниры)
Метод Й. Виттенбурга (Сферические шарниры)Метод Й. Виттенбурга (Сферические шарниры)
Метод Й. Виттенбурга (Сферические шарниры)Theoretical mechanics department
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовTheoretical mechanics department
 
Относительное орбитальное движение
Относительное орбитальное движениеОтносительное орбитальное движение
Относительное орбитальное движениеTheoretical mechanics department
 
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Alexey Paznikov
 
Morzhin o., november 03, 2011
Morzhin o., november 03, 2011Morzhin o., november 03, 2011
Morzhin o., november 03, 2011oleg_morzhin
 
Динамика тросовой системы, закрепленной на астероиде
Динамика тросовой системы, закрепленной на астероидеДинамика тросовой системы, закрепленной на астероиде
Динамика тросовой системы, закрепленной на астероидеTheoretical mechanics department
 
Поведение связки двух тел на упругом тросе в гравитационном поле Земли
Поведение связки двух тел на упругом тросе в гравитационном поле ЗемлиПоведение связки двух тел на упругом тросе в гравитационном поле Земли
Поведение связки двух тел на упругом тросе в гравитационном поле ЗемлиTheoretical mechanics department
 
кин лекция 12
кин лекция 12кин лекция 12
кин лекция 12student_kai
 
20110409 quantum algorithms_vyali_lecture07
20110409 quantum algorithms_vyali_lecture0720110409 quantum algorithms_vyali_lecture07
20110409 quantum algorithms_vyali_lecture07Computer Science Club
 
20120309 formal semantics shilov_lecture06
20120309 formal semantics shilov_lecture0620120309 formal semantics shilov_lecture06
20120309 formal semantics shilov_lecture06Computer Science Club
 
20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalev20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalevComputer Science Club
 
Управление пространственным поворотным маневром космического аппарата
Управление пространственным поворотным маневром космического аппаратаУправление пространственным поворотным маневром космического аппарата
Управление пространственным поворотным маневром космического аппаратаTheoretical mechanics department
 

Tendances (20)

Метод Й. Виттенбурга (Сферические шарниры)
Метод Й. Виттенбурга (Сферические шарниры)Метод Й. Виттенбурга (Сферические шарниры)
Метод Й. Виттенбурга (Сферические шарниры)
 
Углы Эйлера
Углы ЭйлераУглы Эйлера
Углы Эйлера
 
Ортогональные матрицы
Ортогональные матрицыОртогональные матрицы
Ортогональные матрицы
 
Метод конечных разностей
Метод конечных разностейМетод конечных разностей
Метод конечных разностей
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
 
Относительное орбитальное движение
Относительное орбитальное движениеОтносительное орбитальное движение
Относительное орбитальное движение
 
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
 
Morzhin o., november 03, 2011
Morzhin o., november 03, 2011Morzhin o., november 03, 2011
Morzhin o., november 03, 2011
 
Кинематика точки
Кинематика точкиКинематика точки
Кинематика точки
 
Кватернионы
КватернионыКватернионы
Кватернионы
 
Динамика тросовой системы, закрепленной на астероиде
Динамика тросовой системы, закрепленной на астероидеДинамика тросовой системы, закрепленной на астероиде
Динамика тросовой системы, закрепленной на астероиде
 
Поведение связки двух тел на упругом тросе в гравитационном поле Земли
Поведение связки двух тел на упругом тросе в гравитационном поле ЗемлиПоведение связки двух тел на упругом тросе в гравитационном поле Земли
Поведение связки двух тел на упругом тросе в гравитационном поле Земли
 
кин лекция 12
кин лекция 12кин лекция 12
кин лекция 12
 
20110409 quantum algorithms_vyali_lecture07
20110409 quantum algorithms_vyali_lecture0720110409 quantum algorithms_vyali_lecture07
20110409 quantum algorithms_vyali_lecture07
 
20120309 formal semantics shilov_lecture06
20120309 formal semantics shilov_lecture0620120309 formal semantics shilov_lecture06
20120309 formal semantics shilov_lecture06
 
20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalev20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalev
 
LSU2
LSU2LSU2
LSU2
 
Управление пространственным поворотным маневром космического аппарата
Управление пространственным поворотным маневром космического аппаратаУправление пространственным поворотным маневром космического аппарата
Управление пространственным поворотным маневром космического аппарата
 
Q games
Q gamesQ games
Q games
 
Сплайн интерполяция
Сплайн интерполяцияСплайн интерполяция
Сплайн интерполяция
 

En vedette

NEH National Honor PRESS RELEASE
NEH National Honor PRESS RELEASENEH National Honor PRESS RELEASE
NEH National Honor PRESS RELEASEKanene Ayo Holder
 
Walla Walla Union-Bulletin Art for Ara
Walla Walla Union-Bulletin Art for AraWalla Walla Union-Bulletin Art for Ara
Walla Walla Union-Bulletin Art for Aragregorya66
 
Tic software aplicado a la enseñanza
Tic software aplicado a la enseñanzaTic software aplicado a la enseñanza
Tic software aplicado a la enseñanzaLourdes2593
 
DEEPIKA-YOGA TEACHER TRAINING
DEEPIKA-YOGA TEACHER TRAININGDEEPIKA-YOGA TEACHER TRAINING
DEEPIKA-YOGA TEACHER TRAININGDeepika Mahankali
 
Shirley Christina Kumar 2016 Resume
Shirley Christina Kumar 2016 ResumeShirley Christina Kumar 2016 Resume
Shirley Christina Kumar 2016 ResumeShirley Kumar
 
FIN2013_Ghosh_Lessonstosimplifyprofit
FIN2013_Ghosh_LessonstosimplifyprofitFIN2013_Ghosh_Lessonstosimplifyprofit
FIN2013_Ghosh_LessonstosimplifyprofitSaugata Ghosh
 
2016 March Announcements
2016 March Announcements2016 March Announcements
2016 March AnnouncementsWayne Irwin
 
Updated bnjo work log with all opening for inputs
Updated bnjo work log with all opening for inputsUpdated bnjo work log with all opening for inputs
Updated bnjo work log with all opening for inputsfenderleo2
 

En vedette (13)

NEH National Honor PRESS RELEASE
NEH National Honor PRESS RELEASENEH National Honor PRESS RELEASE
NEH National Honor PRESS RELEASE
 
college council
college councilcollege council
college council
 
RJR Goup logo
RJR Goup logoRJR Goup logo
RJR Goup logo
 
Walla Walla Union-Bulletin Art for Ara
Walla Walla Union-Bulletin Art for AraWalla Walla Union-Bulletin Art for Ara
Walla Walla Union-Bulletin Art for Ara
 
Tic software aplicado a la enseñanza
Tic software aplicado a la enseñanzaTic software aplicado a la enseñanza
Tic software aplicado a la enseñanza
 
DEEPIKA-YOGA TEACHER TRAINING
DEEPIKA-YOGA TEACHER TRAININGDEEPIKA-YOGA TEACHER TRAINING
DEEPIKA-YOGA TEACHER TRAINING
 
Violin Lesson Flier
Violin Lesson FlierViolin Lesson Flier
Violin Lesson Flier
 
Bk 7 optics
Bk 7 opticsBk 7 optics
Bk 7 optics
 
Shirley Christina Kumar 2016 Resume
Shirley Christina Kumar 2016 ResumeShirley Christina Kumar 2016 Resume
Shirley Christina Kumar 2016 Resume
 
manie CV
manie CVmanie CV
manie CV
 
FIN2013_Ghosh_Lessonstosimplifyprofit
FIN2013_Ghosh_LessonstosimplifyprofitFIN2013_Ghosh_Lessonstosimplifyprofit
FIN2013_Ghosh_Lessonstosimplifyprofit
 
2016 March Announcements
2016 March Announcements2016 March Announcements
2016 March Announcements
 
Updated bnjo work log with all opening for inputs
Updated bnjo work log with all opening for inputsUpdated bnjo work log with all opening for inputs
Updated bnjo work log with all opening for inputs
 

Similaire à Метод отдельных тел

Управление маневрированием тросовой системы с помощью подвижной массы
Управление маневрированием тросовой системы с помощью подвижной массыУправление маневрированием тросовой системы с помощью подвижной массы
Управление маневрированием тросовой системы с помощью подвижной массыTheoretical mechanics department
 
20091101 algorithmsfornphardproblems kulikov_lecture06
20091101 algorithmsfornphardproblems kulikov_lecture0620091101 algorithmsfornphardproblems kulikov_lecture06
20091101 algorithmsfornphardproblems kulikov_lecture06Computer Science Club
 
Исследование движения космического лифта при подъёме груза на орбиту
Исследование движения космического лифта при подъёме груза на орбитуИсследование движения космического лифта при подъёме груза на орбиту
Исследование движения космического лифта при подъёме груза на орбитуTheoretical mechanics department
 
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...AIST
 
Исследование различных вариантов перелета космического аппарата в точку либра...
Исследование различных вариантов перелета космического аппарата в точку либра...Исследование различных вариантов перелета космического аппарата в точку либра...
Исследование различных вариантов перелета космического аппарата в точку либра...Theoretical mechanics department
 
Итерационные методы решения СЛАУ
Итерационные методы решения СЛАУИтерационные методы решения СЛАУ
Итерационные методы решения СЛАУTheoretical mechanics department
 
Урок физики "Механическое движение"
Урок физики "Механическое движение"Урок физики "Механическое движение"
Урок физики "Механическое движение"Kirrrr123
 
Лекция 10: Графы. Остовные деревья
Лекция 10: Графы. Остовные деревьяЛекция 10: Графы. Остовные деревья
Лекция 10: Графы. Остовные деревьяMikhail Kurnosov
 
Исследование движения орбитальной ступени РН "Союз" после отделения полезного...
Исследование движения орбитальной ступени РН "Союз" после отделения полезного...Исследование движения орбитальной ступени РН "Союз" после отделения полезного...
Исследование движения орбитальной ступени РН "Союз" после отделения полезного...Theoretical mechanics department
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
 
Стабилизация программных движений маятника переменной длины на вращающемся ос...
Стабилизация программных движений маятника переменной длины на вращающемся ос...Стабилизация программных движений маятника переменной длины на вращающемся ос...
Стабилизация программных движений маятника переменной длины на вращающемся ос...Theoretical mechanics department
 
кп по моделир в Cad cam
кп по моделир в Cad camкп по моделир в Cad cam
кп по моделир в Cad camstudent_kai
 
Конечно элементное исследование пространственного напряженного состояния прош...
Конечно элементное исследование пространственного напряженного состояния прош...Конечно элементное исследование пространственного напряженного состояния прош...
Конечно элементное исследование пространственного напряженного состояния прош...Yury Novozhilov
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 

Similaire à Метод отдельных тел (16)

Управление маневрированием тросовой системы с помощью подвижной массы
Управление маневрированием тросовой системы с помощью подвижной массыУправление маневрированием тросовой системы с помощью подвижной массы
Управление маневрированием тросовой системы с помощью подвижной массы
 
20091101 algorithmsfornphardproblems kulikov_lecture06
20091101 algorithmsfornphardproblems kulikov_lecture0620091101 algorithmsfornphardproblems kulikov_lecture06
20091101 algorithmsfornphardproblems kulikov_lecture06
 
Исследование движения космического лифта при подъёме груза на орбиту
Исследование движения космического лифта при подъёме груза на орбитуИсследование движения космического лифта при подъёме груза на орбиту
Исследование движения космического лифта при подъёме груза на орбиту
 
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
 
Исследование различных вариантов перелета космического аппарата в точку либра...
Исследование различных вариантов перелета космического аппарата в точку либра...Исследование различных вариантов перелета космического аппарата в точку либра...
Исследование различных вариантов перелета космического аппарата в точку либра...
 
Итерационные методы решения СЛАУ
Итерационные методы решения СЛАУИтерационные методы решения СЛАУ
Итерационные методы решения СЛАУ
 
Задание 1
Задание 1Задание 1
Задание 1
 
Урок физики "Механическое движение"
Урок физики "Механическое движение"Урок физики "Механическое движение"
Урок физики "Механическое движение"
 
Лекция 10: Графы. Остовные деревья
Лекция 10: Графы. Остовные деревьяЛекция 10: Графы. Остовные деревья
Лекция 10: Графы. Остовные деревья
 
Исследование движения орбитальной ступени РН "Союз" после отделения полезного...
Исследование движения орбитальной ступени РН "Союз" после отделения полезного...Исследование движения орбитальной ступени РН "Союз" после отделения полезного...
Исследование движения орбитальной ступени РН "Союз" после отделения полезного...
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
 
Стабилизация программных движений маятника переменной длины на вращающемся ос...
Стабилизация программных движений маятника переменной длины на вращающемся ос...Стабилизация программных движений маятника переменной длины на вращающемся ос...
Стабилизация программных движений маятника переменной длины на вращающемся ос...
 
кп по моделир в Cad cam
кп по моделир в Cad camкп по моделир в Cad cam
кп по моделир в Cad cam
 
Конечно элементное исследование пространственного напряженного состояния прош...
Конечно элементное исследование пространственного напряженного состояния прош...Конечно элементное исследование пространственного напряженного состояния прош...
Конечно элементное исследование пространственного напряженного состояния прош...
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 

Plus de Theoretical mechanics department

Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Theoretical mechanics department
 
Основы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыОсновы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыTheoretical mechanics department
 
Машинная арифметика. Cтандарт IEEE-754
Машинная арифметика. Cтандарт IEEE-754Машинная арифметика. Cтандарт IEEE-754
Машинная арифметика. Cтандарт IEEE-754Theoretical mechanics department
 
Docking with noncooperative spent orbital stage using probe-cone mechanism
Docking with noncooperative spent orbital stage using probe-cone mechanismDocking with noncooperative spent orbital stage using probe-cone mechanism
Docking with noncooperative spent orbital stage using probe-cone mechanismTheoretical mechanics department
 
Алгоритмы и языки программирования
Алгоритмы и языки программированияАлгоритмы и языки программирования
Алгоритмы и языки программированияTheoretical mechanics department
 
Chaotic Behavior of a Passive Satellite During Towing by a Tether
Chaotic Behavior of a Passive Satellite During Towing by a TetherChaotic Behavior of a Passive Satellite During Towing by a Tether
Chaotic Behavior of a Passive Satellite During Towing by a TetherTheoretical mechanics department
 
Транспортно-пусковой контейнер для наноспутников типоразмера 3U, 3U+
Транспортно-пусковой контейнер для наноспутников типоразмера 3U, 3U+Транспортно-пусковой контейнер для наноспутников типоразмера 3U, 3U+
Транспортно-пусковой контейнер для наноспутников типоразмера 3U, 3U+Theoretical mechanics department
 
On problems of active space debris removal using tethered towing
On problems of active space debris removal using tethered towingOn problems of active space debris removal using tethered towing
On problems of active space debris removal using tethered towingTheoretical mechanics department
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравненийTheoretical mechanics department
 

Plus de Theoretical mechanics department (20)

Космический мусор
Космический мусорКосмический мусор
Космический мусор
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 
Основы NumPy
Основы NumPyОсновы NumPy
Основы NumPy
 
Модификация механизма Йо-Йо
Модификация механизма Йо-ЙоМодификация механизма Йо-Йо
Модификация механизма Йо-Йо
 
Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование
 
Python. Обработка ошибок
Python. Обработка ошибокPython. Обработка ошибок
Python. Обработка ошибок
 
Python: ввод и вывод
Python: ввод и выводPython: ввод и вывод
Python: ввод и вывод
 
Python: Модули и пакеты
Python: Модули и пакетыPython: Модули и пакеты
Python: Модули и пакеты
 
Основы Python. Функции
Основы Python. ФункцииОсновы Python. Функции
Основы Python. Функции
 
Основы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыОсновы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторы
 
Машинная арифметика. Cтандарт IEEE-754
Машинная арифметика. Cтандарт IEEE-754Машинная арифметика. Cтандарт IEEE-754
Машинная арифметика. Cтандарт IEEE-754
 
Chaotic motions of tethered satellites with low thrust
Chaotic motions of tethered satellites with low thrust Chaotic motions of tethered satellites with low thrust
Chaotic motions of tethered satellites with low thrust
 
Docking with noncooperative spent orbital stage using probe-cone mechanism
Docking with noncooperative spent orbital stage using probe-cone mechanismDocking with noncooperative spent orbital stage using probe-cone mechanism
Docking with noncooperative spent orbital stage using probe-cone mechanism
 
Алгоритмы и языки программирования
Алгоритмы и языки программированияАлгоритмы и языки программирования
Алгоритмы и языки программирования
 
Deployers for nanosatellites
Deployers for nanosatellitesDeployers for nanosatellites
Deployers for nanosatellites
 
CubeSat separation dynamics
CubeSat separation dynamicsCubeSat separation dynamics
CubeSat separation dynamics
 
Chaotic Behavior of a Passive Satellite During Towing by a Tether
Chaotic Behavior of a Passive Satellite During Towing by a TetherChaotic Behavior of a Passive Satellite During Towing by a Tether
Chaotic Behavior of a Passive Satellite During Towing by a Tether
 
Транспортно-пусковой контейнер для наноспутников типоразмера 3U, 3U+
Транспортно-пусковой контейнер для наноспутников типоразмера 3U, 3U+Транспортно-пусковой контейнер для наноспутников типоразмера 3U, 3U+
Транспортно-пусковой контейнер для наноспутников типоразмера 3U, 3U+
 
On problems of active space debris removal using tethered towing
On problems of active space debris removal using tethered towingOn problems of active space debris removal using tethered towing
On problems of active space debris removal using tethered towing
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравнений
 

Метод отдельных тел

  • 1. Метод отдельных тел (метод А. Ф. Верещагина) Юдинцев В. В. Кафедра теоретической механики Самарский государственный аэрокосмический университет им. академика С. П. Королёва (национальный исследовательский университет) 29 марта 2014 г.
  • 2. Метод отдельных тел Метод разработан Верещагиным А. Ф. в 1974 году: Верещагин А. Ф. Компьютерное моделирование динамики сложных механизмов роботов-манипуляторов Инженерная кибернетика, вып. 6, 1974, с. 65-70. Используются шарнирные координаты. Не формируется матрица масс всей системы: все матричные операции выполняются с матрицами и векторами размерности ≤ 6. Вычислительная трудоёмкость пропорциональна количеству тел системы: O(n). Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 2 / 34
  • 3. Уравнения движения Уравнения движения Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 3 / 34
  • 4. Уравнения движения Уравнения движения тела n Mnan = Qn + Rn (1) где Mn – матрица инерции тела: Mn = mnE3×3 03×3 03×3 Jc ; (2) an – столбец линейных и угловых ускорений тела n, Qn – столбец активных сил и моментов, действующих на тело n, Rn – столбец сил и моментов реакции, действующих на тело n: an = an εn = ¨rn εn , Qn = Fn Mn − ωn × Jn · ωn , Rn = Fc n Mc n . Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 4 / 34
  • 5. Уравнения движения Уравнения движения тела n − 1 Mn−1an−1 = Qn−1 + Rn−1 + R∗ n (3) R∗ n – столбец сил и моментов реакции, приведённых к центру масс тела n − 1: R∗ n = Fc n Mc n + ρn × Fc n . Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 5 / 34
  • 6. Кинематика относительного движения Ускорение an = Cnan−1 + Sn¨qn + an (4) Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 6 / 34
  • 7. Кинематика относительного движения Матрица Cn an = Cnan−1 + Sn¨qn + an Cn = E −ρn× 0 E → E −ρn× 0 E ¨rn−1 εn−1 = ¨rn−1 + εn−1 × ρn εn−1 (5) Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 7 / 34
  • 8. Кинематика относительного движения Шарнирное ускорение Подставив в уравнение движения an и умножив результата на ST n ST n · Mnan = Qn + Rn ← an = . . . qn, (6) получим: ST n Mn(Cnan−1 + Sn¨qn + an) = ST n Qn + ST n Rn. (7) или ¨qn = (ST n MnSn Un )−1 ST n (Qn + Rn − Mn(Cnan−1 + an)) (8) Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 8 / 34
  • 9. Кинематика относительного движения Механическая система с идеальными связями rk = rk(q1, q2, . . . , qn) =   xk(q1, q2, . . . , qn) yk(q1, q2, . . . , qn) zk(q1, q2, . . . , qn)   ˙rk =   ∂xk/∂q1 ∂xk/∂q2 . . . ∂xk/∂qn ∂yk/∂q1 ∂yk/∂q2 . . . ∂yk/∂qn ∂zk/∂q1 ∂zk/∂q2 . . . ∂zk/∂qn      ˙q1 ... ˙qn    + ∂rk ∂t = Sn ˙q + ∂rk ∂t ¨rk = Sn¨q + . . . Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 9 / 34
  • 10. Кинематика относительного движения Матрица Sn и идеальные связи Sk =   ∂xk/∂q1 ∂xk/∂q2 . . . ∂xk/∂qn ∂yk/∂q1 ∂yk/∂q2 . . . ∂yk/∂qn ∂zk/∂q1 ∂zk/∂q2 . . . ∂zk/∂qn   Каждый столбец матрицы Sk – базисный вектор криволинейного базиса, касательного пространства: Sk = eq1 eq2 . . . eqn Для идеальных связей Rk · eq1 = 0, Rk · eq2 = 0, . . . , Rk · eqn = 0 или ST k Rk = 0. Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 10 / 34
  • 11. Кинематика относительного движения Обобщённые ускорения С учётом ST n Rn = 0 (9) Выражение для вторых производных обобщённых координат ¨qn = (ST n MnSn Un )−1 ST n (Qn + Rn − Mn(Cnan−1 + an)) (10) принимает вид: ¨qn = U−1 n ST n Qn − Mn(Cnan−1 + an) (11) где Un = ST n MnSn. (12) Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 11 / 34
  • 12. Кинематика относительного движения Обратный ход алгоритма метода отдельных тел ¨qn = U−1 n ST n Qn − Mn(Cnan−1 + an) , (13) an = Cnan−1 + Sn¨qn + an, (14) Mnan = Qn + Rn, (15) Mn−1an−1 = Qn−1 + Rn−1 + R∗ n. (16) ¨qn → an(¨qn) → mnan = . . . → Rn(an−1) → mn−1an−1 = . . . M∗ n−1an−1 = Q∗ n−1 + Rn−1, n → k где M∗ n−1 = Mn−1 + CT n MnCn − CT n MnSnU−1 n ST n MnCn, Q∗ n−1 = Qn−1 + CT n Mn SnU−1 n ST n (Qn − Mnan) + an − Qn . Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 12 / 34
  • 13. Кинематика относительного движения Алгоритм Обратный ход алгоритма (k = n, n − 1, n − 2, . . . , 2) M∗ k−1 = Mk−1 + CT k M∗ kCk − CT k M∗ kSkU−1∗ k ST k M∗ kCk, (17) Q∗ k−1 = Qk−1 + CT k M∗ k SkU−1∗ k ST k (Q∗ k − M∗ kak) + ak − Q∗ k , (18) U∗ k = ST k M∗ kSk. (19) Mn, Qn → M∗ n−1, Q∗ n−1 → M∗ n−2, Q∗ n−2 → . . . → M∗ 1, Q∗ 1 Прямой ход алгоритма (k = 1, 2, 3, . . . , n) ¨qk = U∗−1 k ST k Q∗ k − M∗ k(Ckak−1 + ak) (20) ak = Ckak−1 + Sk ¨qk + ak. (21) ¨q1(w0), w1 → ¨q2(a1), a2, → . . . → ¨qn(an−1), an Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 13 / 34
  • 14. Пример программы (MATLAB) Плоская система стержней, последовательно соединённых цилиндрическими шарнирами
  • 15. Пример Схема системы Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 15 / 34
  • 16. Пример Структура файлов main.m dqdt.m getSk.m Sk getCk.m Ck getWprim.m ak getMkQkiUk.m M∗ k, Q∗ k, Uk getA.m Ak Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 16 / 34
  • 17. Пример Главный файл-скрипт I global Model; Model=struct; Количество тел n=10; Model.n=n; Шарнирные векторы: c (k) k,k+1 = lk/2 0 = l/2 0 , c (k) k,k = − lk/2 0 = − l/2 0 c=mat2cell(zeros(n*2,n),ones(1,n)*2,ones(1,n)); for i=1:n c{i,i}=0.5*[-1;0]/n; if i~=n c{i,i+1}=0.5*[+1;0]/n; end end Model.c=c; Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 17 / 34
  • 18. Пример Главный файл-скрипт II Матрицы масс mass=cell(n,1); m=10; for i=1:n mass{i}=[m/n 0 0; 0 m/n 0; 0 0 m/(12*n*n*n)]; end Model.mass=mass; Начальные условия q0=zeros(n*2,1); q0(1)=-1.0; Интегрирование [t,q]=ode113(@dqdt,[0 10],q0); Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 18 / 34
  • 19. Пример Файл-функция правых частей ДУ I [ ˙ϕ1, ˙ϕ2, . . . , ˙ϕn, ¨ϕ1, ¨ϕ2, . . . , ¨ϕn] = dqdt(t, [ϕ1, ϕ2, . . . , ϕn, ˙ϕ1, ˙ϕ2, . . . , ˙ϕn]) function dx = dqdt(t,x) global Model; n=size(x,1)/2; q =x(1:n); dq=x(n+1:2*n); dx=[dq;dq]; Матрицы преобразования координат Ai из базиса тела i в базис 0: A0=cell(n,1); A0{1}=getA(q(1)); for i=2:n A0{i}=A0{i-1}*getA(q(i)); end Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 19 / 34
  • 20. Пример Файл-функция правых частей ДУ II Силы и моменты Q=cell(n,1); for i=1:n Q{i}=[0;-Model.mass{i}(1,1)*9.81;0]; end Обратный ход алгоритма. Вычисление матриц M∗ k, Q∗ k, U−1 k [Mk,Qk,iUk]=getMkQkiUk(q,dq,Model.mass,Model.c,Q,A0); Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 20 / 34
  • 21. Пример Файл-функция правых частей ДУ III Прямой ход алгоритма. Вычисление ¨qk, ak. w=[0;0;0]; for i=1:n Ck=getCk(i, q, dq, Model.c, A0); Sk=getSk(i, q, dq, Model.c, A0); Wp=getWprim(i, q, dq, Model.c, A0); dx(n+i)=iUk{i}*Sk’*(Qk{i}-Mk{i}*(Ck*w+Wp)); w=Ck*w+Sk*dx(n+i)+Wp; end end Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 21 / 34
  • 22. Пример Файл-функция getMkQkiUk (обратный ход алгоритма) I function [Mk,Qk,iUk] = getMkQkiUk(q,dq,masses,c,Q,A0) n=size(q,1); Mk=cell(n,1); Qk=cell(n,1); iUk=cell(n,1); Mk{n}=masses{n}; Qk{n}=Q{n}; Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 22 / 34
  • 23. Пример Файл-функция getMkQkiUk (обратный ход алгоритма) II for k=n:-1:1 Ck=getCk(k,q,dq,c,A0); Sk=getSk(k,q,dq,c,A0); Wprim=getWprim(k, q, dq, c, A0); U=Sk’*Mk{k}*Sk; iUk{k}=inv(U); if k>1 Mk{k-1}=masses{k-1}+Ck’*Mk{k}*Ck-Ck’*Mk{k}*... Sk*iUk{k}*Sk’*Mk{k}*Ck; Qk{k-1}=Q{k-1}-Ck’*(Mk{k}*(Sk*iUk{k}*Sk’*... (Qk{k}-Mk{k}*Wprim)+Wprim)-Qk{k}); end end % for end Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 23 / 34
  • 24. Пример Файл-функция getCk Коэффициенты при ускорениях ak−1 в выражении ak = Ckak−1 + Sk ¨qk + ak (22) ak =   ¨xk−1 ¨yk−1 εk−1   + A−π/2(Akc (k) kk − Ak−1c (k−1) k,k−1) 0 εk−1 + . . . Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 24 / 34
  • 25. Пример Файл-функция getCk ak = E2×2 A−π/2(Akc (k) kk − Ak−1c (k−1) k,k−1) 0 1 Ck   ¨xk−1 ¨yk−1 εk−1   + . . . Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 25 / 34
  • 26. Пример Файл-функция getCk function ck = getCk(k, q, dq, c, A0) ck=eye(3,3); if k==1 ck(1:2,3)=-[0 1;-1 0]*(-A0{k}*c{k,k}); else ck(1:2,3)=-[0 1;-1 0]*(A0{k-1}*c{k-1,k}-A0{k}*c{k,k}); end Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 26 / 34
  • 27. Пример Файл-функция getSk ak = Ckak−1 + Sk ¨qk + ak (23) Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 27 / 34
  • 28. Пример Файл-функция getSk Sk ¨qk = Sk ¨ϕk =   aτ rx aτ ry ¨ϕk   = A−π/2Akckk 1 ¨ϕk. (24) Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 28 / 34
  • 29. Пример Файл-функция getSk Sk = A−π/2Akckk 1 . (25) function sk = getSk(k, q, dq, c, A0) sk=[0;0;1]; sk(1:2)=[0 1;-1 0]*A0{k}*c{k,k}; end Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 29 / 34
  • 30. Пример Файл-функция getWprim Составляющие ускорения, не зависящие от вторых производных обобщённых координат ¨q. ak = Ckak−1 + Sk ¨qk + ak (26) Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 30 / 34
  • 31. Пример Файл-функция getWprim ak = −ck−1,kω2 k−1 + ckkω2 k−1 an e + 2ckk ˙ϕkωk−1 ak + ckk ˙ϕ2 k an r (27) Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 31 / 34
  • 32. Пример Файл-функция getWprim ak = −ck−1,kω2 k−1 + ckkω2 k−1 + 2ckk ˙ϕkωk−1 + ckk ˙ϕ2 k. (28) function wprim=getWprim(k, q, dq, c, A0) if k==1 wprim=[(dq(k)+0)^2*A0{k}*c{k,k};0]; else wkp=sum(dq(1:k-1)); wprim=[(dq(k)+wkp)^2*A0{k}*c{k,k}-wkp*wkp*A0{k-1}*c{k-1,k};0]; end end Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 32 / 34
  • 33. Пример Файл-функция getA Матрица плоского поворота, преобразующая координаты из базиса e2, повёрнутого вокруг оси z относительно базиса e1, в базис e1. function A = getA(angle) A=[cos(angle) -sin(angle);sin(angle) cos(angle)]; end Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 33 / 34
  • 34. Пример Список использованных источников 1 Верещагин, А. Ф. Компьютерное моделирование динамики сложных механизмов роботов-манипуляторов / А. Ф. Верещагин // Инженерная кибернетика, вып. 6. — 1974. — С. 65–70. 2 Дмитроченко, О. Н. Эффективные методы численного моделирования динамики нелинейных систем абсолютно твёрдых и деформируемых тел: Дис... канд. физ. мат. наук: 01.02.01. – М., 2003. – 125 с. 3 Joel Storch and Stephen Gates, Motivating Kane’s Method for Obtaining Equations of Motion for Dynamic System. Engineering Notes, Vol. 12, N. 4, July-August 1989. Кафедра ТМ (СГАУ) Метод отдельных тел 29 марта 2014 г. 34 / 34