Week 2- 2R Robotic Arm Challenge
Aim : To simulate the forward kinematics of a 2R Robotic Arm in MATLAB.
Body of the Content :
a) Code created in MATLAB :
% Inputs
l1 = 1;
l2 = 0.5;
theta1 = linspace(0,90,40);
theta2 = linspace(0,90,40);
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 = l2*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('arm.avi','Uncompressed AVI');
open(videofile)
WriteVideo(videofile,M)
close(videofile)
b) Youtube Link of the output :
c) Explanation :
- Here we are creating a robotic arm animation. To do that we create two arms by providing their end co-ordinates. Then by using the linspace command we give multiple orientations for those two arms.
- For every orientation of the arm1 exists a multiple orientations of arm2.
- We plot all of them together and stitch them together by using ct and getframe command which indvidually plays the program frame by frame as if its a real animation now.
- As we provide more values for the animation , meaning the orientation. The animation looks smoother.
- Then we created a movie by using the movie command, basically we are writing to a file here in a (.AVI) format and hence we create one.
Conclusion : Hence understood the working of the 2R Robotic arm and an animation was created which is saved and uploaded as a youtube link.