Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РК_19_03_2008.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

Функція Лагранжа

Функція Лагранжа визначається як різниця між кінетичною та потенціальною енергіями:

L = T – V

або

.

Наступним кроком буде диференціювання функції Лагранжа, щоб підставити її в рівняння Лагранжа:

Аналогічна можна записати

Рівняння Лагранжа

Рівняння Лагранжа у векторній формі має наступний вигляд:

, (3.12)

де D – матриця мас nn, H – вектор (n1) of центробіжний та коріолісових складових, G - вектор (n1) гравітаційних складових.

Отже, рівняння Лагранжа може бути представлене у наступному вигляді:

, (3.13)

де Mi, Mik, Mikm – узагальнені матриці мас

(3.14)

Рівняння Лагранжа для випадку двохланкового робота може бути записане у розгорнутій формі як:

(3.15)

де:

(3.16)

Порядок виконання завдань та оформлення результатів

1. Рекомендується попередньо розібратися з наведеними теоретичними відомостями.

2. Відпрацюйте приклад 1. Результати (параметри Денавіта-Хартенберга, матриці A01, A12, A02) занесіть у звіт.

Приклад 1. Необхідно розв’язати обернену задачу динаміки для представленого двохланкового маніпулятора (рис. 3.7). Представлений маніпулятор має тільки два обертальні зчленування. Габарити маніпулятора такі:: l1 = l2 = l = 30 дюймів (1 дюйм = 2.5 см), m1 = m2 = 20 гр.

Розв’язок. Першим кроком має бути знаходження матриць перетворень Денавіта-Хартенберга A01, A12, A02. Потрібно самостійно заповнити таблицю параметрів зчленувань (табл. 3.3).

Рис. 3.7. Геометрія двох ланкового маніпулятора

з розподіленою масою

Таблиця 3.3

Параметри Денавіта-Хартенберга для двохланкового маніпулятора

Зчленування

і

і

аі

di

і = 1

і = 2

Матриці перетворення Денавіта-Хартенберга знаходяться по наступним формулам:

(3.17)

Рекомендується набрати та запустити наведений нижче лістинг програми в Matlab з метою набуття навичок практичного розв’язання представленої типової задачі. Зверніть увагу, що наведений лістинг частково розв’язує вказану задачу.

%спочатку потрібно ввести символьні змінні оператором syms

syms l1 l2 theta1 theta2

clc %оператор clc очищує командне вікно Matlab

%тут САМОСТІЙНО доповніть лістинг параметрами з таб. 3.3

…………………………………………….

…………………………………………….

…………………………………………….

…………………………………………….

%матриці перетворення Денавіта-Хартенберга

A01=[cos(theta1) -cos(alpha1)*sin(theta1) sin(alpha1)*sin(theta1) a1*cos(theta1);

sin(theta1) cos(alpha1)*cos(theta1) -sin(alpha1)*cos(theta1) a1*sin(theta1);

0 sin(alpha1) cos(alpha1) d1;

0 0 0 1]

A12=[cos(theta2) -cos(alpha2)*sin(theta2) sin(alpha2)*sin(theta2) a2*cos(theta2);

sin(theta2) cos(alpha2)*cos(theta2) -sin(alpha2)*cos(theta2) a2*sin(theta2);

0 sin(alpha2) cos(alpha2) d2;

0 0 0 1]

A02=A01*A12

%в командному вікні Matlab буде матриця A02, проте досить %громіздка, її можна спростити, використавши оператор simple

A02=simple(A02)

%результати з командного вікна Matlab повинні бути занесені у звіт

3. Відпрацюйте приклад 2. Результати (тензори інерції J1 та J2) занесіть у звіт.

Приклад 2. Знайти тензор інерції для представлених ланок маніпулятора (рис. 3.7) з розподіленою масою. Маса кожної ланки зосереджена в центрі ланки.

Розв’язок. Використавши формули (3.11), отримаємо:

Для першої ланки:

для другої ланки:

4. Відпрацюйте приклад 3. Результати (матриці Q1, Q2, частина лістингу у Matlab для знаходження матриць Mikm, ці матриці та вектор узагальнених моментів ) занесіть у звіт.

Приклад 3. Необхідно знайти всі складові рівняння Лагранжа (13).

Розв’язок. Рекомендується набрати та запустити наведений нижче лістинг програми в Matlab з метою набуття навичок практичного розв’язання представленої типової задачі. Зверніть увагу, що наведений лістинг частково розв’язує вказану задачу.

%матриці Q1 Q2 D11

%та матриці D12 D21 D22

Q1=..................................; Q2=..................................;

%матриці Dij знаходяться з виразу (7)

D11=Q1*A01, D11=simple(D11), D21=simple(Q1*A02), D12=D21,

D22=simple(A01*Q2*A12)

%тензор інерції J1 та J2

J1=.....................................

J2=.....................................

%складові маси та гравітаційні складові знаходяться з виразу (14)

%оператор trace обчислює слід матриці –

%суму діагональних елементів

M11=trace(D11*J1*D11.')+trace(D21*J2*D21.')

M12=trace(D22*J2*D21.'), M22=trace(D22*J2*D22.')

M1=m1*[0 -g 0 1]*D11*[-l1/2;0;0;1]+m2*[0 -g 0 1]*D21*[-l2/2;0;0;1]

M1=simple(M1), M2=m2*[0 -g 0 1]*D22*[-l2/2;0;0;1]

M2=simple(M2), M11=simple(M11), M12=simple(M12), M21=M12

M22=simple(M22)

%центробіжні та коріолісові складові

%оператор diff забезпечує диференціювання символьних виразів

D111=diff(D11,theta1), D211=diff(D21,theta1), D212=diff(D21,theta2)

D121=diff(D12,theta1), D221=diff(D22,theta1), D222=diff(D22,theta2)

D122=diff(D12,theta2)

%матриці Mikm мають бути знайдені з виразів (13)

M111=…………………………..

M112=…………………………..

M121=…………………………..

M211=…………………………..

M212=…………………………..

M221=…………………………..

M222=…………………………..

M122=…………………………..

%рівняння Лагранжа

tau=[M11 M12;M21 M22]*[ddt1;ddt2]+...

[M112*dt1*dt2+M121*dt1*dt2+M122*dt2*dt2;M211*dt1*dt1]+[M1;M2]

simple(tau)

%Результати, тобто складові функції моментів, будуть в командному %вікні Matlab; занесіть їх у звіт

5. Розв’яжіть самостійно наступне типове завдання, аналогічне розглянутим.

Для заданих параметрів маніпулятора необхідно розв’язати обернену задачу динаміки у числовому вигляді. Визначте моменти, необхідні для того, щоб двохланковий маніпулятор розвернув першу ланку на 45 проти годинникової стрілки та другу ланку на 60 за годинниковою стрілкою без прискорення, але з швидкостями 5 /сек та 3 /сек, відповідно.

Результати мають бути занесені у звіт.