Траектория движения манипулятора робота
Министерство образования и науки РФ
Федеральное агентство по образованию ГОУ ВПО
Саратовский государственный технический университет
Кафедра "Приборостроение"
Лабораторная работа
ТРАЕКТОРИЯ ДВИЖЕНИЯ МАНИПУЛЯТОРА РОБОТА
Отчет к лабораторной работе по курсу
"Математическое моделирование физических процессов и программирование"
САРАТОВ 2013
1. Задание
Найти коэффициенты , , и , , . Данные взять из Таблицы с учетом варианта.
Построить траекторию захвата манипулятора робота, указав на графике начальную и конечную точки, обозначения осей и масштабов по осям.
В отчете по работе обсудить вопрос о том, почему для описания движения плеч манипулятора использованы многочлены пятого порядка.
Выполнить анимацию движения манипулятора с показом траектории.
траектория манипулятор робот анимация
Таблица
№ вар.92.52520-106026175
2. Листинг программы
Скрипт для построения траектории движения звена манипулятора:
t=2.5;
%время, за которое нужно осуществить перемещение
%переведем начальные и конечные углы плеч манипулятора из %градусов в радианы
Q10=((-10)*pi)/180;=(60*pi)/180;tf=(26*pi)/180;
Q2tf=(175*pi)/180;=0.25; %длина первого звена манипулятора=0.20; %длина второго звена манипулятора
%запишем СЛАУ для звена L1 манипулятора
%решив ее методом обратной матрицы получим значения %коэффициентов а5, а4, а3
X1=[t^5 t^4 t^3; 5*t^4 4*t^3 3*t^2; 20*t^3 12*t^2 6*t];=[Q1tf-Q10; 0; 0];=inv(X1)*B1;
%аналогично запишем СЛАУ для звена L2 и получим b5, b4, b3
X2=[t^5 t^4 t^3;5*t^4 4*t^3 3*t^2;20*t^3 12*t^2 6*t];=[Q2tf-Q20; 0; 0];=inv(X2)*B2;
t1=0:0.1:t; %массив значений времени
%уравнения для получения значений изменения углов
q1=Q10+a(1)*t1.^5+a(2)*t1.^4+a(3)*t1.^3;=Q20+b(1)*t1.^5+b(2)*t1.^4+b(3)*t1.^3;
%зная длины звеньев манипулятора, переведем полученные углы в %координаты
x=L1*cos(q1)+L2*cos(q1+q2);=L1*sin(q1)+L2*sin(q1+q2);
%рассчитаем координаты начальной точки траектории движения %манипулятора
n1=L1*cos(Q10)+L2*cos(Q10+Q20);=L1*sin(Q10)+L2*sin(Q10+Q20);
%конечная точка траектории
k1=L1*cos(Q1tf)+L2*cos(Q1tf+Q2tf);
k2=L1*sin(Q1tf)+L2*sin(Q1tf+Q2tf);
plot(x,y) %по полученным значениям строим траекторию движенияon %продолжаем строить на этом же графике
%нарисуем конечную и начальную точку
plot(n1,n2,'r*',k1,k2,'b*')
%зафиксируем нужную область на графике([-0 0.4 -0.1 0.4])on %рисуем сетку
%сделаем необходимые подписи на осях
xlabel('x (t)');('y (t)');('Gpaopuk gBu)I(eHu9l 3BeHa MaHuTTy/l9lTopa');
Анимация
t=2.5; %время, за которое нужно осуществить перемещение
%переведем начальные и конечные углы звеньев манипулятора из %градусов в радианы
Q10=((-10)*pi)/180;=(60*pi)/180;tf=(26*pi)/180;
Q2tf=(175*pi)/180;=0.25; %длина первого звена манипулятора=0.20; %длина второго звена манипулятора
%запишем СЛАУ для зена L1 манипулятора
%решив ее методом обратной матрицы получим значения %коэффициентов а5, а4, а3
X1=[t^5 t^4 t^3; 5*t^4 4*t^3 3*t^2; 20*t^3 12*t^2 6*t];=[Q1tf-Q10; 0; 0];=inv(X1)*B1;
%аналогично запишем СЛАУ для плеча L2 и получим b5, b4, b3
X2=[t^5 t^4 t^3;5*t^4 4*t^3 3*t^2;20*t^3 12*t^2 6*t];=[Q2tf-Q20; 0; 0];=inv(X2)*B2;
t1=0:0.1:t; %массив значений времени
%уравнения для получения значений измененных углов
q1=Q10+a(1)*t1.^5+a(2)*t1.^4+a(3)*t1.^3;=Q20+b(1)*t1.^5+b(2)*t1.^4+b(3)*t1.^3;
%зная длины звеньев манипулятора, переведем полученные углы в %координаты
x=L1*cos(q1)+L2*cos(q1+q2);=L1*sin(q1)+L2*sin(q1+q2);
%координаты точки соединения плеч манипулятора=L1*cos(q1);=L1*sin(q1);
%рассчитаем координаты начальной точки траектории движения %манипулятора
n1=L1*cos(Q10)+L2*cos(Q10+Q20);=L1*sin(Q10)+L2*sin(Q10+Q20);
%конечная точка траектории
k1=L1*cos(Q1tf)+L2*cos(Q1tf+Q2tf);
k2=L1*sin(Q1tf)+L2*sin(Q1tf+Q2tf);
%цикл повториться ровно столько раз, сколько элементов содержит %в себе массив t1i=1:length(t1)
%построим кривую траектории движения манипулятора(x, y, '--')on %продолжаем строить на этом же графике
%нарисуем конечную и начальную точку
plot(n1,n2,'r*',k1,k2,'b*')
%рисуем первое звено манипулятора L1
plot([0 x1(i)],[0 y1(i)], 'LineWidth', 3, 'Color', 'b')
%второе звено манипулятора L2([x1(i) x(i)],[y1(i) y(i)], 'LineWidth', 3, 'Color', 'b')
%нарисуем окружности в местах соединения звеньев
plot(x(i), y(i), 'o', 'Color', 'r', 'LineWidth', 6);(x1(i), y1(i), 'o', 'Color', 'r', 'LineWidth', 6);(0, 0, 'o', 'Color', 'r', 'LineWidth', 6);
hold off
%перестаем рисовать на существующем графике
%зафиксируем нужную область на графике([-0.1 0.4 -0.1 0.4])on
%рисуем сетку(i)=getframe; %создадим анимацию
%сделаем необходимые подписи на осях
xlabel('x (t)');('y (t)');('Gpaopuk gBu)I(eHu9l 3BeHa MaHuTTy/l9lTopa');
movie(M, 10) %запустим и повторим анимацию 10 раз
3. Полученные результаты
По данным взятым из Таблицы была построена следующая траектория движения манипулятора робота:
Дополнительно была построена траектория движения точки соединения звеньев манипулятора:
4. Вывод
В ходе этой лабораторной работы я с помощью системы Mathlab записал СЛАУ и решил ее получив коэффициенты , , и , , . По данным взятым из Таблицы была построена траектория движения захвата манипулятора робота.
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Практическое задание
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2018 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ