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 hamd.

-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 which rotate or work over a two-dimensional plane with each of 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 the link-1 & link-2 Respectively.
Let , θ1">be the angle formed by link-1 with horizontal.
Let , θ2"> be the angle formed by link-2 with horizontal.
Let , the starting and end co-ordinates of link-1 to be (x0, y0) and (x1, y1) Let , the starting and end co-ordinates of link-2 to be (x1, y1) and (x2, y2)

Code 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 Using ‘for’ commandfor iterating the values of the desired variable.

Again using ‘for’ commandfor providing 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 loop.

All figures are assigned to a variable M, one at a time usingcr

Ending the ‘for’ loop twice .

using movie commandis to combine all the figures saved in the M file to make an animation/movie At end saving the movie in .avi format.

Matlab Code :-

% Program for 2R Robotic Arm Challenge
clear all
close all
clc
%Inputs
 l1=1;
 l2=0.5;
 theta1=linspace(0,90,12);
 theta2=linspace(0,90,12);
 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',2)
axis([-0.1 2 0 1.5])
pause(0.01)
M(ct)=getframe(gcf);
ct=ct+1;
end
end
movie(M)
Videofile=VideoWriter('Robotic_arm.avi','Uncompressed AVI');
open(Videofile)
writeVideo(Videofile,M)
close(Videofile)
 

Errors & Command window Execution :-

- No Errors were found during exicution
- use of semi-colon (;) in coding results in no output in command window

Result/Conclusion :-

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

- below is the link given for the program output for movie/animation of a 2R robotic arm

https://youtu.be/L98xfToVYKg

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.