Week 2- 2R Robotic Arm Challenge
https://drive.google.com/file/d/1JSi5K4lQ_g7P7zeijQpJrqAXwX8cAAqr/view?usp=sharing
First and foremost, the length of the links is defined. Four arbitrary angles between 0-90 degrees are defined. "linspace" command is used for that.
For loop repeats itself for a given number of inputs. Since the range and workspace of two links have to be measured for loop command is used two times for two arbitrary functions "i" and "j". The coordinates of links one and link two are provided. The workspace of the links is defined using "THETA". The equations for the coordinates of links 1 and 2 are provided. The required graph is plotted using the "plot" command. The axes values are provided as an array. The required outputs are grouped together in a single graph using the "getframe" command. The output is animated using the "movie" command and appropriate commands are used to write the file and save it.
% forward_kinematics
% Inputs
l1 = 1;
l2 = 0.5;
theta1 = linspace(0,90,4);
theta2 = linspace(0,90,4);
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);
%plotting
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)