Challenge

Week 3.2 - 2R Robotic Arm Challenge

AIM : Write a program in matlab to simulate the forward kinematics of 2R Robotic arm.

CODE :

% Program for forwad kinematics of 2R robotic arm 
close all 
clear all 
clc 

% Inputs 
% Length in meters 
l1=1;
l2=0.5;

% Theta in degree 
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);

        % Plotting
        plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3);
        axis([-0.1 1.5 0 1.5])
        pause(0.02)
        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)

movie(M)
videofile = VideoWriter('kinematics.avi', 'Uncompressed AVI');
open(videofile)
writeVideo(videofile,M)
close(videofile)

CODE EXPLANATION : We have started the coading with the comment using as title of % program for forward kinematics of 2R robotic arm. later we have used clear all,close all,and clc, as we have learnd for a good practice. %Inputs comment we have used for the inputs given. %length in meters comment we have used to denote the length l1 = 1 and l2 = 0.5. %Theta in degree comment we have used for theta and linspace command, theta1 = linspace(0,90,10), theta2 = linspace(0,90,10). ct = 1.Then we have used the for loop command as 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],[x1 x2],[y1 y2],'linewidth',3);
axis([-0.1 1.5 0 1.5])
pause(0.02)
M(ct) = getframe (gcf);
ct = ct+1;
end
end.
%Movie comment we used for video, for creating the video we have used the videofile command as
% videofile = VideoWriter('forward_kinematics.avi','Uncompressed AVI');,we have used command open(videofile) to start the video or open it. write(videofile,M) to get the result of code we have run.
close(videofile) to stop the or close it

LINK : https://drive.google.com/file/d/1EKx2VHnUdx4ANVLM8kgm1k7OqWFe97xL/view?usp=sharing

ERRORS : No errors were found while running the code.

RESULT/OUTPUTS : Result and outputs have been attached in form of screenshots, and saved file.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.