Challenge

Week 3.2 - 2R Robotic Arm Challenge

AIM : WRITE A PROGRAM IN MATLAB TO SIMULATE THE FORWARD KINEMATICS OF A 2R ROBOTIC ARM

PROCEDURE : (EXPLANATION OF CODE)

  • NOW FIRST GIVE INPUTS OF LENGTH LINK 1 & LINK 2
  • FOR MULTIPLE VALUES OF THETA LINSPACE COMMAND FROM 0 TO 90 DEG 10 VALUES
  • USING COUNTOR FOR EXECUTION OF VALUES
  • USING FOR LOOP FOR MUTLIPLE VALUES OF THETA 1
  • INDEXING THETA 1
  • AGAIN USING FOR LOOP FOR MULTIPLE VALUES OF THETA 2
  • INDEXING THETA 2
  • METIONING 3 CO-ORDINATES IN FOR LOOP
  • PLOT COMMAND FOR PLOTTING CO-ORDINATES
  • AXIS COMMAND FOR SETTING LIMITS OF X & YAXIS
  • PAUSE COMMSND FOR SLOWER ANIMATION EFFECT
  • GETFRAME COMMAND AND SAVED IT IN M ARRAY
  • FOR LOOP END
  • MOVIE COMMAND FOR ANIMATION
  • CREATE A VIDEO FILE USING VIDEOWRITER COMMAND
  • OPEN VIDEO FILE
  • WRITE EACH FRAME IN THE FILE
  • CLOSE VIDEO
clear all
close all
clc

%inputs
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',3)
        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)

YOUTUBE VIDEO LINK : https://youtu.be/m9iO77h7UQQ

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.