Forward Kinematics of 2R Robot Arm
l1 = 2;
l2 = 1;
theta1 = linspace(0,90,20);
theta2 = linspace(0,90,20);
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.3 5 0.2 5])
pause(0.03)
% line([x0 x1], [y0 y1], \'linewidth\', 3, \'color\', \'g\');
% line([x1 x2], [y1 y2], \'linewidth\', 3, \'color\', \'r\');
M(ct) = getframe(gcf);
ct = ct+1;
end
end
movie(M)
videofile = VideoWriter(\'fwd_kinematics.avi\',\'Uncompressed AVI\');
open(videofile)
writeVideo(videofile,M)
close(videofile)
The above program is coded in order to find the forward kinematics of 2R Robot. In a 2R robot length of link 1 will greater than length of link 2.
L1, L2, Theta 1, Theta 2 has been given as inputs.
First step is calculating position of link 1 and second step is calculating the position of link 2, this calculation part is coded inside the \"for loop\".
After calculating the positions of both links with respect to different theta values, an animation file of the plot has been created.
Therefore, the results has been shown below. The position of the links changes with respect to change in theta values.