Week 2- 2R Robotic Arm Challenge
clear all
close all
clc
%input
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+l1*cosd(THETA2);
y2=y1+l1*sind(THETA2);
%plot
plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3);
axis([-0.1 1.5 0 1.5]);
pause(0.3);
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)
Explaination:
step1:
to start with clear all
close all clc
then give inputs
l1;
l2;
theta1
theta2
Use linspace command for theta1 and theta2
linspace(0,90,10)
provide the value of ct i.e. contour=1
step2
use the for loop for calling theta1 and theta2
for THETA1=i
and THETA2=j
step3:
provide the value of x0,y0=0 and the formula to compute x1 and y1 and x2 and y2
x1=l1*cosd(THETA1)
y1=l2*sind(THETA1)
x2=x1+l1*cosd(THETA2)
y2=y1+l1*sind(THETA2)
STEP4:
Plotting
plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3);
giving the linewidth command to 3
using the command M(ct)=getframe to get the current frame
ct=ct+1
give the command to generate movie
movie(M)
videofile=VideoWriter('forward_kinematics.avi','Uncompressed Avi');
open(videofile);
writeVideo(videofile,M);
close(videofile)
https://drive.google.com/file/d/1uZAGBi1dXwBi_1RlxB-93qg_uqBK6O9M/view?usp=sharing