Week 3.2 - 2R Robotic Arm Challenge
clear all
close all
clc
%%Inputs
l1 = 1;
l2 = 0.5;
theta1 = linspace(0,90,30);
theta2 = linspace(0,90,30);
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],'linewidth', 4, [x1 x2], [y1 y2], 'linewidth', 3)
axis([-2 2 0 2])
M(ct) = getframe(gcf);
ct=ct+1;
end
end
movie(M)
videofile = VideoWriter('forward_kinematic.avi',"Uncompressed AVI")
open(videofile)
writeVideo(videofile,M)
close(videofile)
This is a forward kinematics code where we will record each plot in the form of animation. 1st we have defined the length of the arms. Because want to animate the arms from 0 to 90 degrees we have taken the theta vector so. For each value of theta we have calculated the location of arm end for both the arms. For the 2nd arm arm start will always be the arm end of 1st arm. Then we have plotted all the graphs one by one in an animation form and stored the frames in the form of a movie.
I could not upload the movie as my Matlab license expired and in Octave video is not getting generated.