ЦЕЛЬ: написать программу в MATLAB для моделирования прямой кинематики манипулятора робота 2R.
ЦЕЛИ:
- Смоделируйте переднюю кинематику манипулятора робота 2R и поймите движение манипулятора.
- Создайте анимацию вывода.
ТЕОРИЯ:
- Прямая кинематика — это процесс расчета кадров звеньев робота с учетом конфигурации и кинематической структуры робота в качестве входных данных. Кинематика занимается только мгновенными значениями координат робота и игнорирует их движение под действием сил и моментов.
- Кинематика может дать очень точные расчеты во многих задачах, таких как позиционирование захвата в пространстве, разработка механизма, который может перемещать инструмент из точки А в точку Б, или предсказание того, будет ли движение робота сталкиваться с препятствиями.
- Большое разнообразие механизмов роботов можно описать, классифицируя их расположение соединений и типы соединений.
- Здесь мы рассматриваем роботизированную руку 2R. Манипулятор 2R представляет собой роботизированную руку с двумя звеньями, которые вращаются или работают в двухмерной плоскости, при этом каждое из звеньев имеет одну степень свободы.
- Кроме того, оба звена ограничены поворотом на 90° относительно осей.
На рисунке ниже показан манипулятор 2R:
Здесь L1 и L2 – длины звена 1 и звена 2 соответственно.
θ1 и θ2 — углы, образуемые соединениями с горизонталью.
(0,0) & (x1,y1) — начальная и конечная координаты ссылки 1.
(x1,y1) & (x2,y2) — начальная и конечная координаты ссылки 2.
УПРАВЛЯЮЩИЕ УРАВНЕНИЯ:
Расчет координат,
начальная точка Link1 будет (0,0)
i.e. x0=0 , y0=0
тогда x1=L1⋅cosd(θ1)
y1=L1⋅sind(θ1)
х2=х1+L2⋅cosd(θ2)
y2=y1+L2⋅sind(θ2)
ПРОДУКЦИЯ:
Для нашей программы MATLAB
- Длины Link1 и Link2 считаем равными 1 м и 0,5 м соответственно.
- Чтобы смоделировать роботизированную руку, необходимо варьировать θ1 и θ2, чтобы получить желаемую анимацию.
- Итак, мы создали линейный вектор для θ1 и θ2 с 20 точками с равным интервалом между 0° и 90°.
- Предполагается, что координаты базы находятся в начале координат (0,0)
- Координаты конечных точек link1 и link2 можно рассчитать с помощью основных уравнений.
- Вычислите все соответствующие координаты относительно соответствующих значений θ1 и θ2, используя команды цикла for.
- Анимируйте сюжет и сохраните его в виде файла фильма avi.
ПРОГРАММА:
% Прямая кинематика манипулятора робота-манипулятора 2R
очистить все
закрыть все
клк
%входов
% длины Link1 и Link2
L1 = 1;
L2 = 0.5;
%Угол между ссылкой и горизонталью.
theta1 = линейное пространство (0,90,20); %Link1
тета2 = линейное пространство (0,90,20); %Link2
%Абсолютная координата (0,0)
x0 = 0;
y0 = 0;
ct=1;
%forloop
для я = 1: длина (тета1)
ТЕТА1 = тета1(я);
для j = 1: длина (тета2)
ТЕТА2 = тета2(j);
% Расчет координат
x1 = L1*cosd(THETA1);
y1 = L1*sind(THETA1);
x2 = x1 + L2*cosd(THETA2);
y2 = y1 + L2*sind(THETA2);
%Сюжет, анимация
plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],’linewidth’,4);
ось ([-0,1 1,6 0 1,6]);
пауза (0,03);
сетка включена;
м (ct) = получить кадр (gcf);
ct=ct+1;
конец
конец
%Фильм
фильм (м)
videofile = VideoWriter('kinemetics_of_2R_Robotic_arm.avi','несжатый AVI')
открыть (видеофайл)
writeVideo(видеофайл,m)
закрыть(видеофайл)
Пояснение кода:
- Запустите этот код, очистив все, закройте все, clc, мы используем эти команды, чтобы очистить рабочее пространство от любых ранее использовавшихся переменных.
- Присвоенные значения для переменных в управляемом уравнении
- Входные данные содержат длину руки (L1 и L2), положение абсолютной координаты (X0, Y0) и угол (theta1 и theta2) в виде массива из 20 значений между 0° и 90°.
- После предоставления этих данных мы рассчитаем значение других координат, используя управляемое уравнение.
- Для вычисления значений координат для разных углов воспользуемся циклом for. Используя цикл for, мы получаем положение ссылок под разными углами.
- Используя команду plot, мы получим графическую форму данных, выходные данные отображаются на декартовом графике с шириной линии 4.
- Затем вывод приостанавливается до 0,03 секунды, и мы получаем отдельные кадры с помощью команды get frame.
- Каждый кадр хранится в переменной ‘m’
- Мы создаем анимационный фильм данных в переменной «m», используя команду фильма
- Анимационный фильм записывается в виде видеофайла.
- Используя команду записи видео, мы получаем этот фильм в каталоге, мы получаем этот фильм в каталоге.
- Видеофайл открывается, записывается и закрывается следующей командой.
Ошибки во время программирования:
1. Основные опечатки и синтаксические ошибки
Ошибка была исправлена путем завершения цикла for, введя «end». цикл for должен заканчиваться командой end.
ВЫВОД:
1. Скриншоты анимированного сюжета вывода:
2. Анимационное видео:
Ссылка:- https://youtu.be/_j8Glp3Yh0Q
ЗАКЛЮЧЕНИЕ:
- Мы успешно создали анимацию прямой кинематики манипулятора 2R Robotic Arm.
- Задав мгновенные значения координат робота, мы можем определить рабочее пространство, которое может выполнять робот.