Week 2- 2R Robotic Arm Challenge
% program in Matlab to simulate the forward kinematics of a 2R Robotic Arm
clear all
close all
clc
%inputs
L1=1.5;
L2=0.5;
% angle of arm
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);
%co-ordinates of robotics arm
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 2.5 0 2.5])
pause(0.1)
M(ct) = getframe(gcf);
ct=ct+1;
end
end
%animation video file
movie(M)
videofile = VideoWriter('kinametics.avi','Uncompressed AVI');
open(videofile)
writeVideo(videofile,M)
close(videofile)
- output
youtube link for animation:
Explanation:
- first of all we have to consider two arms L1 and L2
with some lenght.
L1=1.5;
L2=0.5;
- angle of arms
theta1=linspace(0,90,11);
theta2=linspace(0,90,11);
- for changing the angle of arms
for i= 1:length(theta1)
THETA1= theta1(i);
for j = 1:length(theta2)
THETA2 = theta2(j);
setting cordinates of both the arms
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) - linewidth is for making arm broad
- providing axis to arm
axis([-0.1 2.5 0 2.5])
- making animation movie
movie(M)
videofile = VideoWriter('kinametics.avi','Uncompressed AVI');
open(videofile)
writeVideo(videofile,M)
close(videofile)
error:permission denied solved by changing the path of file saved