Challenge

Week 2- 2R Robotic Arm Challenge

Aim:- To write a program in Matlab to simulate the forward kinematics of a 2R Robotic Arm

Objective:-
Write a program to simulate forward kinematics of a 2R Robotic Arm
To create a Movie/Animation from the plots obtained from the program

Theory:-

A robotic arm is a type of mechanical arm, usually programmable, with similar functions to a human arm; the arm may be the sum total of the mechanism or may be part of a more complex robot. The links of such a manipulator are connected by joints allowing either rotational motion (such as in an articulated robot) or translational (linear) displacement. The links of the manipulator can be considered to form a kinematic chain. The terminus of the kinematic chain of the manipulator is called the end effector and it is analogous to the human hand.

In this project, we consider a 2R robotic arm. A 2R robotic arm represents a robotic arm with two rotations. i.e. it has two links that rotate or work over a two-dimensional plane with each of the links having a single degree of freedom.

Also, both the links are restricted to a 90° rotation with respect to the axes. Fig below shows the 2R robotic arm having many parts as described

Let, L1 & L2 be the lengths of link-1 & link-2 Respectively.
Let, be the angle formed by link-1 with horizontal.
Let, be the angle formed by link-2 with horizontal.
Let, the starting and end co-ordinates of link-1 are (x, y ) and (x, y )
Let, the starting and end co-ordinates of link-2 are (x, y ) and (x, y )

Program Explanation

  • Programing Language used Matlab Online
  • starting the program by using comments
  • Providing the input variables like
  • Predefining the length/values of the robotic arms, i.e. l1and l2
  • Providing the values for theta-1 & theta-2 using linspace command for theta=0 to 90 degrees for 12 values
  • Providing the Cr (compression ratio ) value as a specific digit.
  • Now Use the ‘for’ command for iterating the values of the desired variable.
  • Again using the ‘for’ command provides movement to the second robotic arm.
  • Providing the eqn for the x1,y1,x2,y2 or say Defining the coordinates of both the robotic arms.
  • Plotting all the coordinate values and providing the axis no.
  • Using the pause command to make the plot look realistic
  • Incrementing the cr or compression ratio value by +1 each time it executes for a loop.
  • All figures are assigned to a variable M, one at a time using cr
  • Ending the ‘for’ loop twice.
  • using movie command is to combine all the figures saved in the M file to make an animation/movie
  • In end saving the movie in .avi format.

Program Code:

clear all
close all
clc

%inputs

L1=2;
L2=0.75;

theta1=linspace(0,90,10);
theta2=linspace(0,90,10);
ct=1;

%for loop for repeating the operation
for i=1:length(theta1)
    THETA1=theta1(i);
    for j=1:length(theta2)
        THETA2=theta2(j);
%co-ordinates
    x0=0;
    y0=0;

    x1=L1*cosd(THETA1);
    y1=L1*sind(THETA1);

    x2=x1+L2*cosd(THETA2);
    y2=y1+L2*sind(THETA2);

     %plotting the result 
   % line([x0,x1],[y0,y1],'linewidth',3,'color','b')
    %line([x1,x2],[y1,y2],'linewidth',3,'color','r')
    
        %hold on
        plot([x0,x1],[y0,y1],[x1,x2],[y1,y2],'linewidth',3)
        axis([0 3 0 3])
        pause(0.03)
        M(ct)=getframe(gcf);
        ct=ct+1;
     end
end
%movie creation codes
movie(M)
videofile = VideoWriter('Forward_kinematics.avi','Uncompressed AVI');
open(videofile)
writeVideo(videofile,M)
close(videofile)

Errors occurred:

no errors occurred during the execution

output:

Conclusion:

Thus we have simulated the 2R robotic arm by using the Matlab programming and also created a Movie/Animation
from the plots obtained from the program

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.