- •Національний авіаційний університет робототехнічні комплекси
- •СИстема оцінювання
- •2. Використання комп’ютерної техніки і програмного забезпечення
- •Особливості перетворення Денавіта – Хартенберга при розв’язанні задач кінематики
- •Особливості техніки розв’язання оберненої задачі кінематики
- •Порядок виконання завдань та оформлення результатів
- •Параметри Денавіта-Хартенберга для розглянутого випадку
- •Особливості вирішення задач, пов’язаних із динамікою маніпулятора
- •Контрольні питання та завдання
- •3.2. Динаміка двохланкового маніпулятора з розподіленою масою
- •Особливості методу Лагранжа-Ейлера для розв’язання оберненої задачі динаміки
- •Особливості використання розподілення мас та тензора інерції
- •Швидкість ланки
- •Кінетична енергія маніпулятора
- •Потенціальна енергія маніпулятора
- •Функція Лагранжа
- •Рівняння Лагранжа
- •Порядок виконання завдань та оформлення результатів
- •Контрольні питання та завдання
- •3.3. Планування траєкторій для послідовного маніпулятора
- •Особливості вирішення задач, пов’язаних із планування траєкторії послідовного маніпулятора
- •Кубічні закони зміни кутів зчленувань
- •Загальні аспекти планування траєкторій
- •Обмеження, що використовуються при плануванні траєкторій
- •Траєкторія типу 4-3-4
- •Порядок виконання завдання та оформлення результатів
- •Контрольні питання та завдання
- •Особливості циклового дискретного управління
- •Особливості позиційного управління
- •Особливості неперервного контурного управління
- •Характеристики під-регулятора
- •Залежності параметрів під-регулятора та показників якості перехідного процесу
- •Загальні аспекти проектування під-регуляторів
- •Порядок виконання завдання та оформлення результатів
- •Контрольні запитання та завдання
- •4.2. Обробка зображень у системах технічного зору: бінарні та півтонові зображення
- •Особливості обробки зображень в системах технічного зору
- •Основні характеристики бінарних зображень
- •Особливості алгоритмів виділення країв
- •Особливості алгоритму Собеля для виділення країв
- •Особливості алгоритму Лапласа для виділення країв
- •Недоліки алгоритму Собеля
- •Порядок виконання завдання
- •Вираженою симетрією
- •Контрольні питання та завдання
- •4.3. Логічне програмування в Пролог: задачі прийняття рішень при декількох обмеженнях
- •Особливості розв’язування задач за допомогою мови програмування логіки Пролог
- •Ускладнення програми за допомогою правил
- •Рекурсія в Пролог
- •Структури та списки в Пролог
- •Порядок виконання завдання
- •Контрольні питання та завдання
- •4.4. Нейронні мережі: основи
- •Особливості використання нейронних мереж при розв’язуванні задач
- •Динамічні та статичні мережі
- •Методи навчання нейронних мереж
- •Порядок виконання завдання
- •Контрольні питання та завдання
- •4.5. Проектування систем нечіткого виводу на основі алгоритму Мамдані
- •Особливості розв’язання задач проектування систем нечіткого виводу на основі алгоритму Мамдані
- •Порядок виконання завдань та оформлення результатів
- •Контрольні питання та завдання
- •Список літератури
Функція Лагранжа
Функція Лагранжа визначається як різниця між кінетичною та потенціальною енергіями:
L = T – V
або
.
Наступним кроком буде диференціювання функції Лагранжа, щоб підставити її в рівняння Лагранжа:
Аналогічна можна записати
Рівняння Лагранжа
Рівняння Лагранжа у векторній формі має наступний вигляд:
,
(3.12)
де D – матриця мас nn, H – вектор (n1) of центробіжний та коріолісових складових, G - вектор (n1) гравітаційних складових.
Отже, рівняння Лагранжа може бути представлене у наступному вигляді:
,
(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 /сек, відповідно.
Результати мають бути занесені у звіт.
