FORWARD KINEMATICS OF ROBOT ARM
AIM:
- To Write a program in Matlab to simulate the forward kinematics of a 2R Robotic Arm/
OBJECTIVES OF THE PROJECT:
- The main objective of this project is to simulate a forward kinematics of 2R Robotic Arm
- To determine the workspace of the manipulator with respect to various angle of the links.
BODY OF THE CONTENT: & EXPLANATION:
- The programming language used here is ‘C’.
- Clearing and closing all previous written codes
- The initial values are taken as L1=1 and L2=.60
- By using the ‘linspace ‘ command the theta values are generated
- Assuming ct=1( counter) and for loop is started (2 loops )
- Here, i & j are two variables which are taken for generating the 10*10 values of theta’s (theta 1 and theta 2).
- x0=y0=0 is assigned and values are x1,y1,x2,y2 are taken by
- x1=L1*cosd(theta1) & x2= x1+L2*cosd(theta2)
- y1=L1*sind(theta1) & y2= y1+L2*sind(theta2)
- plots are plotted with these values
- In order to animate the plots ,getframe command will be used and the loop will be closed(both the loops)
- The videowriter command is used to export the file into AVI format.
CONCLUSION:
Thus the robotic arm is simulated with the matlab and the workspace of manipulator was determined.
clear all
close all
clc
L1=1;
L2=0.5;
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)
x0=0;
y0=0;
x1=L1*cosd(THETA1);
y1=L1*sind(THETA1);
x2=x1+L2*cosd(THETA2);
y2=y1+L2*sind(THETA2);
plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',4)
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)