- •Національний авіаційний університет робототехнічні комплекси
- •СИстема оцінювання
- •2. Використання комп’ютерної техніки і програмного забезпечення
- •Особливості перетворення Денавіта – Хартенберга при розв’язанні задач кінематики
- •Особливості техніки розв’язання оберненої задачі кінематики
- •Порядок виконання завдань та оформлення результатів
- •Параметри Денавіта-Хартенберга для розглянутого випадку
- •Особливості вирішення задач, пов’язаних із динамікою маніпулятора
- •Контрольні питання та завдання
- •3.2. Динаміка двохланкового маніпулятора з розподіленою масою
- •Особливості методу Лагранжа-Ейлера для розв’язання оберненої задачі динаміки
- •Особливості використання розподілення мас та тензора інерції
- •Швидкість ланки
- •Кінетична енергія маніпулятора
- •Потенціальна енергія маніпулятора
- •Функція Лагранжа
- •Рівняння Лагранжа
- •Порядок виконання завдань та оформлення результатів
- •Контрольні питання та завдання
- •3.3. Планування траєкторій для послідовного маніпулятора
- •Особливості вирішення задач, пов’язаних із планування траєкторії послідовного маніпулятора
- •Кубічні закони зміни кутів зчленувань
- •Загальні аспекти планування траєкторій
- •Обмеження, що використовуються при плануванні траєкторій
- •Траєкторія типу 4-3-4
- •Порядок виконання завдання та оформлення результатів
- •Контрольні питання та завдання
- •Особливості циклового дискретного управління
- •Особливості позиційного управління
- •Особливості неперервного контурного управління
- •Характеристики під-регулятора
- •Залежності параметрів під-регулятора та показників якості перехідного процесу
- •Загальні аспекти проектування під-регуляторів
- •Порядок виконання завдання та оформлення результатів
- •Контрольні запитання та завдання
- •4.2. Обробка зображень у системах технічного зору: бінарні та півтонові зображення
- •Особливості обробки зображень в системах технічного зору
- •Основні характеристики бінарних зображень
- •Особливості алгоритмів виділення країв
- •Особливості алгоритму Собеля для виділення країв
- •Особливості алгоритму Лапласа для виділення країв
- •Недоліки алгоритму Собеля
- •Порядок виконання завдання
- •Вираженою симетрією
- •Контрольні питання та завдання
- •4.3. Логічне програмування в Пролог: задачі прийняття рішень при декількох обмеженнях
- •Особливості розв’язування задач за допомогою мови програмування логіки Пролог
- •Ускладнення програми за допомогою правил
- •Рекурсія в Пролог
- •Структури та списки в Пролог
- •Порядок виконання завдання
- •Контрольні питання та завдання
- •4.4. Нейронні мережі: основи
- •Особливості використання нейронних мереж при розв’язуванні задач
- •Динамічні та статичні мережі
- •Методи навчання нейронних мереж
- •Порядок виконання завдання
- •Контрольні питання та завдання
- •4.5. Проектування систем нечіткого виводу на основі алгоритму Мамдані
- •Особливості розв’язання задач проектування систем нечіткого виводу на основі алгоритму Мамдані
- •Порядок виконання завдань та оформлення результатів
- •Контрольні питання та завдання
- •Список літератури
Параметри Денавіта-Хартенберга для розглянутого випадку
Зчленування |
і |
і |
аі |
di |
і = 1 |
1 |
-90 |
0 |
8.1 |
і = 2 |
2 |
0 |
7 |
0 |
і = 3 |
3 |
0 |
7 |
0 |
і = 4 |
4 |
90 |
0 |
0 |
і = 5 |
5 |
0 |
0 |
3.8 |
Рекомендується набрати та запустити наведений нижче лістинг програми в Matlab з метою набуття навичок практичного розв’язання представленої типової задачі.
% запишемо параметри перетворення Денавіта-Хартенберга
theta1=0;theta2=0;theta3=45*pi/180;theta4=60*pi/180; theta5=30*pi/180;
alpha1=-90*pi/180; alpha2=0; alpha3=0; alpha4=90*pi/180; alpha5=0;
a1=0;a2=7;a3=7;a4=0;a5=0; d1=8.1;d2=0;d3=0;d4=0;d5=3.8;
%згідно формули запишемо відповідні матриці переходу
%з сусідніх систем координат
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];
A23=[cos(theta3) -cos(alpha3)*sin(theta3) sin(alpha3)*sin(theta3) a3*cos(theta3);
sin(theta3) cos(alpha3)*cos(theta3) -sin(alpha3)*cos(theta3) a3*sin(theta3);
0 sin(alpha3) cos(alpha3) d3;
0 0 0 1];
A34=[cos(theta4) -cos(alpha4)*sin(theta4) sin(alpha4)*sin(theta4) a4*cos(theta4);
sin(theta4) cos(alpha4)*cos(theta4) -sin(alpha4)*cos(theta4) a4*sin(theta4);
0 sin(alpha4) cos(alpha4) d4;
0 0 0 1];
A45=[cos(theta5) -cos(alpha5)*sin(theta5) sin(alpha5)*sin(theta5) a5*cos(theta5);
sin(theta5) cos(alpha5)*cos(theta5) -sin(alpha5)*cos(theta5) a5*sin(theta5);
0 sin(alpha5) cos(alpha5) d5;
0 0 0 1];
%очевидно, що матриця перетворення з базової системи координат
%в систему координат захоплювача буде результатом
%послідовного множення відповідних матриць
%результати записати з командного вікна Matlab
A05=A01*A12*A23*A34*A45
Результат запуску програми (матриця перетворень А05) занесіть у звіт.
4. Відпрацюйте приклад 3.
Приклад 3. Точка ruvw = [6, 4, 2]T задана в системі координат захоплювача 0UVW. Необхідно знайти координати тієї самої точки rxyz, але в базовій системі координат 0XYZ, якщо відомо, що система координат захоплювача обернена відносно базової на 60 навколо осі z проти годинникової стрілки та зміщена по тій самій осі на 5 одиниць догори.
Розв’язок. Визначимо кути між осями двох систем координат (рис. 2, а): xu = yv = 60, xw = yw = zu = zv = 90, zw = 0, yu = -90 + 60, xv = 90 + 60. Вектор переносу початку системи координат буде таким (рис. 3.2, б): [0 0 5]T.
Рекомендується набрати та запустити наведений нижче лістинг програми в Matlab з метою набуття навичок практичного розв’язання представленої типової задачі.
r_UVW=[3 4 5 1]’ ; % координати точки в СК захоплювача
%задамо кути для матриці направляючих косинусів
alpha_xu=60*pi/180; alpha_yv=alpha_xu; alpha_xw=90*pi/180;
alpha_yw=alpha_xw; alpha_zu=alpha_xw; alpha_zv=alpha_xw;
alpha_zw=0; alpha_yu=(-90+60)*pi/180; alpha_xv=(90+60)*pi/180;
%задамо вектор положення початку системи координат захоплювача
px=0;py=0;pz=5;
% тепер запишемо матрицю бажаного положення та орієнтації Т:
T=[cos(alpha_xu) cos(alpha_xv) cos(alpha_xw) px
cos(alpha_yu) cos(alpha_yv) cos(alpha_yw) py
cos(alpha_zu) cos(alpha_zv) cos(alpha_zw) pz; 0 0 0 1];
%тепер знайдемо координати точки в системі координат XYZ
%результати можна побачити в командному вікні Matlab
r_XYZ=T*r_UVW
Результат запуску програми (координати точки r_XYZ) занесіть у звіт.
Р
Рис. 3.5. Робот в сферичній (або полярній) системі координат
озглянемо приклад 4.
Приклад 4. Розв’яжемо обернену задачу кінематики аналітично для робота, що працює в сферичній системі координат (, , r) (рис. 3.5).
Розв’язок. Відповідно до перетворення Денавіта-Хартенберга матриця положення та орієнтації захоплювача набуде наступного вигляду:
Після множення ми отримаємо:
Бажана матриця положення та орієнтації захоплювача представляється наступним чином:
Можливий розв’язок представляється таким чином:
(3.3)
6. Розв’яжіть самостійно наступні типові завдання, аналогічні розглянутим.
Для точки А з координатами в базовій системі координат АXYZ=[10 30 -5 1]T знайдіть координати в системі координат захоплювача UVW, якщо відомий вектор переміщень зчленувань =[ r]T=[30 10 4]T. Результат занесіть у звіт.
Точка Auvw = [10 -14 7 1]T задана в системі координат захоплювача 0UVW. Необхідно знайти координати тієї самої точки Аxyz, але в базовій системі координат 0XYZ, якщо відомо, що система координат захоплювача обернена відносно базової на 30 навколо осі y проти годинникової стрілки та зміщена по тій самій осі на 14 одиниць праворуч. Результат занесіть у звіт.
