ЦЕЛЬ: написать программу в 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.
  • Задав мгновенные значения координат робота, мы можем определить рабочее пространство, которое может выполнять робот.