Траектория движения манипулятора робота
Составление программы для построения траектории движения захвата манипулятора робота: запись системы линейных алгебраических уравнений, получение коэффициентов. Анимация движения манипулятора. Схема направления движения точки соединения звеньев робота.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 01.12.2013 |
Размер файла | 274,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки РФ
Федеральное агентство по образованию ГОУ ВПО
Саратовский государственный технический университет
Кафедра "Приборостроение"
Лабораторная работа
ТРАЕКТОРИЯ ДВИЖЕНИЯ МАНИПУЛЯТОРА РОБОТА
Отчет к лабораторной работе по курсу
"Математическое моделирование физических процессов и программирование"
САРАТОВ 2013
1. Задание
Найти коэффициенты , , и , , . Данные взять из Таблицы с учетом варианта.
Построить траекторию захвата манипулятора робота, указав на графике начальную и конечную точки, обозначения осей и масштабов по осям.
В отчете по работе обсудить вопрос о том, почему для описания движения плеч манипулятора использованы многочлены пятого порядка.
Выполнить анимацию движения манипулятора с показом траектории.
траектория манипулятор робот анимация
Таблица
№ вар. |
||||||||
9 |
2.5 |
25 |
20 |
-10 |
60 |
26 |
175 |
2. Листинг программы
Скрипт для построения траектории движения звена манипулятора:
t=2.5;
%время, за которое нужно осуществить перемещение
%переведем начальные и конечные углы плеч манипулятора из %градусов в радианы
Q10=((-10)*pi)/180;
Q20=(60*pi)/180;
Q1tf=(26*pi)/180;
Q2tf=(175*pi)/180;
L1=0.25; %длина первого звена манипулятора
L2=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];
B1=[Q1tf-Q10; 0; 0];
a=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];
B2=[Q2tf-Q20; 0; 0];
b=inv(X2)*B2;
t1=0:0.1:t; %массив значений времени
%уравнения для получения значений изменения углов
q1=Q10+a(1)*t1.^5+a(2)*t1.^4+a(3)*t1.^3;
q2=Q20+b(1)*t1.^5+b(2)*t1.^4+b(3)*t1.^3;
%зная длины звеньев манипулятора, переведем полученные углы в %координаты
x=L1*cos(q1)+L2*cos(q1+q2);
y=L1*sin(q1)+L2*sin(q1+q2);
%рассчитаем координаты начальной точки траектории движения %манипулятора
n1=L1*cos(Q10)+L2*cos(Q10+Q20);
n2=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) %по полученным значениям строим траекторию движения
hold on %продолжаем строить на этом же графике
%нарисуем конечную и начальную точку
plot(n1,n2,'r*',k1,k2,'b*')
%зафиксируем нужную область на графике
axis([-0 0.4 -0.1 0.4])
grid on %рисуем сетку
%сделаем необходимые подписи на осях
xlabel('x (t)');
ylabel('y (t)');
title('Gpaopuk gBu)I(eHu9l 3BeHa MaHuTTy/l9lTopa');
Анимация
t=2.5; %время, за которое нужно осуществить перемещение
%переведем начальные и конечные углы звеньев манипулятора из %градусов в радианы
Q10=((-10)*pi)/180;
Q20=(60*pi)/180;
Q1tf=(26*pi)/180;
Q2tf=(175*pi)/180;
L1=0.25; %длина первого звена манипулятора
L2=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];
B1=[Q1tf-Q10; 0; 0];
a=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];
B2=[Q2tf-Q20; 0; 0];
b=inv(X2)*B2;
t1=0:0.1:t; %массив значений времени
%уравнения для получения значений измененных углов
q1=Q10+a(1)*t1.^5+a(2)*t1.^4+a(3)*t1.^3;
q2=Q20+b(1)*t1.^5+b(2)*t1.^4+b(3)*t1.^3;
%зная длины звеньев манипулятора, переведем полученные углы в %координаты
x=L1*cos(q1)+L2*cos(q1+q2);
y=L1*sin(q1)+L2*sin(q1+q2);
%координаты точки соединения плеч манипулятора
x1=L1*cos(q1);
y1=L1*sin(q1);
%рассчитаем координаты начальной точки траектории движения %манипулятора
n1=L1*cos(Q10)+L2*cos(Q10+Q20);
n2=L1*sin(Q10)+L2*sin(Q10+Q20);
%конечная точка траектории
k1=L1*cos(Q1tf)+L2*cos(Q1tf+Q2tf);
k2=L1*sin(Q1tf)+L2*sin(Q1tf+Q2tf);
%цикл повториться ровно столько раз, сколько элементов содержит %в себе массив t1
for i=1:length(t1)
%построим кривую траектории движения манипулятора
plot(x, y, '--')
hold on %продолжаем строить на этом же графике
%нарисуем конечную и начальную точку
plot(n1,n2,'r*',k1,k2,'b*')
%рисуем первое звено манипулятора L1
plot([0 x1(i)],[0 y1(i)], 'LineWidth', 3, 'Color', 'b')
%второе звено манипулятора L2
plot([x1(i) x(i)],[y1(i) y(i)], 'LineWidth', 3, 'Color', 'b')
%нарисуем окружности в местах соединения звеньев
plot(x(i), y(i), 'o', 'Color', 'r', 'LineWidth', 6);
plot(x1(i), y1(i), 'o', 'Color', 'r', 'LineWidth', 6);
plot(0, 0, 'o', 'Color', 'r', 'LineWidth', 6);
hold off
%перестаем рисовать на существующем графике
%зафиксируем нужную область на графике
axis([-0.1 0.4 -0.1 0.4])
grid on
%рисуем сетку
M(i)=getframe; %создадим анимацию
end
%сделаем необходимые подписи на осях
xlabel('x (t)');
ylabel('y (t)');
title('Gpaopuk gBu)I(eHu9l 3BeHa MaHuTTy/l9lTopa');
movie(M, 10) %запустим и повторим анимацию 10 раз
3. Полученные результаты
По данным взятым из Таблицы была построена следующая траектория движения манипулятора робота:
Дополнительно была построена траектория движения точки соединения звеньев манипулятора:
4. Вывод
В ходе этой лабораторной работы я с помощью системы Mathlab записал СЛАУ и решил ее получив коэффициенты , , и , , . По данным взятым из Таблицы была построена траектория движения захвата манипулятора робота.
Размещено на Allbest.ru
Подобные документы
Кинематическое исследование механизма манипулятора, особенности управления. Определение необходимых перемещений звеньев, траектории, скоростей и ускорений. Траектория движения захвата, график пути первого звена. Программа, её содержание и текст.
курсовая работа [343,1 K], добавлен 19.12.2011Прямая и обратная задача кинематики и позиционирования захвата манипуляционного робота. Разработка алгоритмов и решений, позволяющих организовать процесс нанесения рисунков на поверхность изделия при помощи робота-манипулятора FS03N фирмы Kawasaki.
дипломная работа [4,1 M], добавлен 17.09.2013Принцип работы простейших роботов-манипуляторов. Разработка системы управления манипулятором, состоящим из трех звеньев и осуществляющим процесс сверления. Кинематическая схема и последовательность движений шаговых двигателей; применение жесткой логики.
курсовая работа [861,0 K], добавлен 16.08.2012История возникновения и развития современной робототехники, применение технологий искусственного интеллекта. Разработка структурной схемы системы навигации мобильного робота, коррекция траектории его движения, методы управления локальными перемещениями.
дипломная работа [1,1 M], добавлен 18.05.2011Исследование способов создания компьютерного изображения. Создание анимации по ключевым кадрам и траектории, при динамических симуляциях и методом захвата движения. Использование векторной, растровой, фрактальной, двухмерной и трехмерной графики.
презентация [1002,0 K], добавлен 23.06.2015Моделирование траектории движения космического аппарата, запускаемого с борта космической станции, относительно Земли. Запуск осуществляется в направлении, противоположном движению станции, по касательной к её орбите. Текст программы в среде Matlab.
контрольная работа [138,8 K], добавлен 31.05.2010Выбор манипулятора-указателя, микропроцессора, интерфейса подключения к ПК. Обзор используемых команд. Проектирование функциональной и электрической принципиальной схемы контроллера трекбола. Разработка алгоритма и программы функционирования системы.
курсовая работа [453,3 K], добавлен 22.10.2012Системы линейных алгебраических уравнений. Код программы для решения систем линейных алгебраических уравнений. Математические и алгоритмические основы решения задачи методом Гаусса. Программная реализация решения. Алгоритмы запоминания коэффициентов.
лабораторная работа [23,5 K], добавлен 23.09.2014Динамика движения материальной точки. Разработка программы, моделирующей траектории полета снаряда при стрельбе из пушки под заданным углом к горизонту. Ее структурная схема, системные требования к ней. Создание приложения в среде Borland C++Builder.
курсовая работа [3,2 M], добавлен 10.06.2014Физическая и математическая модели уравнения движения материальной точки. Блок-схема алгоритма основной программы для решения задачи Коши и получения результатов с фиксированным количеством отрезков разбиения. Разработка программы для ЭВМ, ее листинг.
курсовая работа [212,3 K], добавлен 24.11.2014