Challenge

Week 2- 2R Robotic Arm Challenge

AIM

     TO SIMULATE THE FORWARD KINEMATICS OF ROBOTIC ARM USING MAT LAB PROGRAMMING

OBJECTIVES OF PROJECT

      * USING THE FREE BODY DIAGRAM OF LINKS AND JOINTS, VARIABLE VALUES CAN BE CALCULATED.

     * BY USING PROGRAMMING CODES RESULTS CAN BE PLOTTED.   

     * FROM THE RESULTS, NEED TO CREATE THE ANIMATED VIDEO FILE FOR REFERENCE.

EXPLANATION OF PROJECT

       IN A AUTOMOTIVE INDUSTRY, AUTOMATION OF THE PROCESS PLAYS THE MAJOR ROLE. IN THIS CASE USING THE CODES AND SYNTAX SENDS THE INPUT AS CONVERTED INTO MACHINE LANGUAGE TO THE COMPUTER NUMERICAL CONTROL. BY THIS TYPE OF AUTOMATION HELPS US TO IMPROVE TIME MANAGEMENT, LESS MANPOWER WITH MORE SAFETY PRECAUTIONS AND MAINLY FOCUSSING ABOUT THE MORE ACCURACY AND PRECISION OF THE JOB. BY CONTROLLING THE MACHINE WITH PROGRAMMING LANGUAGES WHICH MAKES EASIER FOR EVALUATING THE CONCEPT MORE.

     HERE, TWO LINKS AND JOINTS ARE THERE, LINK 1 AND LINK 2 ARE MOVING THINGS AND OUR REQUIREMENT IS AFTER LINK 2  END JOINT  WELDED THE JOB IT ATTAINS THE POSITION OF 0 DEG .

FREE BODY DIAGRAM

* HERE, LINK-1 BE THE LENGTH OF 0.8 METER AND LINK-2 BE THE LENGTH OF 0.7 METER. ‘theta1’ & ‘theta2’ BE THE ANGLES OF  LINK 1 AND 2.

* X0,X1,X2 AND Y0,Y1,Y2 BE THE VARIABLES OF END JOINTS.

* INITIALLY, X0 AND Y0 FIXED AS ORIGIN POINTS WHICH REFERS (0,0)

 

SYNTAX

% FORWARD KINEMATICS ON A ROBOTIC ARM


close all
clear all
clc
theta1 = linspace(0,90,3);
theta2 = linspace(0,90,3);

l1 = 0.8;
l2 = 0.7;

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])
axis ([0,1.5,0,1.5])
pause (0.2)
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)

PROGRAM EXPLANATION

* HERE, theta1 & theta2 ASSIGNED USING LINSPACE(0,90,3) WHICH REFERS THAT INBETWEEN 0 AND 90, THREE VALUES ARE ASSIGNED THAT VALUES ARE 0,45 AND 90.

* L1 AND L2 VALUES ARE 0.8M & 0.7M RESPECTIVELY.

FOR LOOP

LENGTH OF theta1 DENOTES THAT SIZE OF theta 1,here size of theta1 is 3

NESTED FOR LOOP IS INITIATED HERE,

CASE-1

* IF ,i=1:1 MAKES THE CONDITION TRUE AND EXECUTES THE INSIDE LOOP . INSIDE LOOP HAS ‘j’ VARIABLE AND CHECK THE CONDITION j=1:1 MAKES THE CONDITION TRUE AND EXECUTES FURTHER.

* IF ,i=1:1 MAKES THE CONDITION TRUE AND EXECUTES THE INSIDE LOOP . INSIDE LOOP HAS ‘j’ VARIABLE AND CHECK THE CONDITION j=1:2 MAKES THE CONDITION TRUE AND EXECUTES FURTHER.

* IF ,i=1:1 MAKES THE CONDITION TRUE AND EXECUTES THE INSIDE LOOP . INSIDE LOOP HAS ‘j’ VARIABLE AND CHECK THE CONDITION j=1:3 MAKES THE CONDITION TRUE AND EXECUTES FURTHER.

*IF ,i=1:1 MAKES THE CONDITION TRUE AND EXECUTES THE INSIDE LOOP . INSIDE LOOP HAS ‘j’ VARIABLE AND CHECK THE CONDITION j=1:4 MAKES THE CONDITION FALSE  AND IT RETUNED TO THE OUTER FOR LOOP AND ALSO IT DOES NOT EXECUTES FURTHER AND  i=1:2 EXECUTE AND SO ON…

CASE-2 (i=1:2) AND CASE-3 (i=1:3)  FOLLOWS THE SAME PROCEDURE …

* CALCULATED VARIABLES AND EQUATIONS ARE ENTERED.

* THETA1 AND THETA2 ARE VARIABLES ASSIGNED FOR EXECUTING FOR LOOP.

* COS’D’ WHICH REPRESENTS VALUES IN DEGREES

* PLOT THE CALCULATED VALUES.

* AXIS TO BE SET ACCORDINGLY

* FOR LOOP IS CLOSED WITH END COMMAND.

* ‘Movie(M)’ COMMAND USED TO CREATE THE MOVIE FILE.

* ‘VideoWriter’ COMMAND HELPS TO CREATE THE NAME OF FILE AND ITS FORMAT

* PAUSE COMMAND WHICH HELPS TO CONTROL THE SPEED OF THE FRAME IN SECONDS

FACED ERRORS WHILE PROGRAMMING

HERE, INSTEAD OF “THETA1” USED LOWERCASE AND MAKES THE PLOT LIKE BELOW

MOVIE

  FOR YOUR REFERENCE: https://drive.google.com/file/d/1qbtmSTS5ms8PmFp5e-yRLFPWzV-nWcFy/view?usp=sharing

CONCLUSION

 FROM THE EXECUTED RESULTS, (X2,Y2) VALUES ARE DEPENDING THE (X1,Y1) VALUES. FROM THIS PROGRAM WE CONCLUDE THAT ANIMATED FILE WHICH HELPS TO UNDERSTAND THE MOVING ARM IN A PARTICULAR AREA WITH A MEASURING ANGLES AND POSITION. USING THE ‘LINE’ COMMAND INSTEAD OF PLOT WHICH SHOWS THE SINGLE  OF PARTICULAR VALUE FOR CLEAR UNDERSTANDING. FINALLY WE SIMULATE THE RESULT OF FORWARD KINEMATICS OF A ROBOTIC ARM SUCCESSFULLY.

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.

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.