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