Forward Kinematics of robotic arm
clear all
close all
clc
%Inputs
l1=1.5;
l2=0.5;
theta1= linspace(0,90,5);
theta2= linspace(0,90,5);
%calulations
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\',5,[x1 x2],[y1 y2],\'linewidth\',5)
axis([-1 3 0 3])
pause(0.01)
file_text=sprintf(\"robo_arm%d.png\",ct)
saveas (gca, file_text);
ct=ct+1;
end
end
When we will give a \'hold on\' command before plot, it will show all the possible directions in which the robotic arm can work in a single figure.
This is how it will look.
Since i am using Octave, I have created a Gif of the above robotic arm simulation as discussed below the video.
USING MATLAB:
clear all
close all
clc
x0=0;
y0=0;
l1=2;
l2=1;
theta1=linspace(0,120,15)
theta2=linspace(0,120,15)
ct=1;
for i=1:length(theta1)
THETA1=theta1(i);
for j=1:length(theta1)
THETA2=theta2(j);
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',5)
axis([-2 5 0 5])
pause(0.04)
M(ct)=getframe(gcf);
ct=ct+1;
end
end
movie(M)
videofile=VideoWriter('Forward Kinematics of Robo arm using Matlab.avi','Uncompressed AVI')
open(videofile)
writeVideo(videofile,M)
close(videofile)
Please post the video here