Program in matlab to simulate forward kinematics of a 2R Robotic Arm
In this challege we are writing a program in matlab to simulate forward kinematics of a 2R Robotic Arm
Theory
2R Robotic Arm contains 2 links and 2 rotational joints, the link 1 connected to base makes angle theta1 with respect to x-axis and link 2 connected to link 1 makes angle theta2 with respect to x-axis and manipulator connected to link 2
length of link 1 = l1
length of link 2 = l2
we will take the fixed link at base as origin
co-ordinates of link 1
(x0,y0) =(0,0)
(x1,y1) =(l1*cosdtheta1,l1*cosdtheta1)
co-ordinates of link 2
The end point of link 1 is the start point of link 2
(x1,y1) =(l1*cosdtheta1,l1*cosdtheta1)
x2 = x1 + l2*cosdtheta2
y2 = y1 + l2*sindtheta2
with the above co-ordinates we can describe the position of the robotic manipulator
Program to simulate forward kinematics of 2R Robotic Arm
clear all
close all
clc
%inputs
l1 = 1;
l2 = 0.5;
theta1 = linspace(0,90,10);
theta2 = linspace(0,90,10);
ct=1;
for i=1:length(theta1)
THETA1 = theta1(i);
for j = 1:length(theta2)
THETA2 = theta2(j);
x0 = 0;
y0 = 0;
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\',3)
axis([-0.1 1.5 0 1.5])
pause(0.03)
M(ct) = getframe(gcf);
ct = ct+1;
end
end
movie(M)
videofile = VideoWriter(\'forward_kinematics.avi\',\'uncompressed AVI\');
open(videofile)
writeVideo(videofile,M)
close(videofile)
Results
https://drive.google.com/file/d/1uHP0dMiHfoPcWeDcITo_fpxUqjFMf1X9/view?usp=sharing