Траектория движения манипулятора робота

 

Министерство образования и науки РФ

Федеральное агентство по образованию ГОУ ВПО

Саратовский государственный технический университет

Кафедра "Приборостроение"









Лабораторная работа

ТРАЕКТОРИЯ ДВИЖЕНИЯ МАНИПУЛЯТОРА РОБОТА

Отчет к лабораторной работе по курсу

"Математическое моделирование физических процессов и программирование"












САРАТОВ 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 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ