Challenge

Week 2- 2R Robotic Arm Challenge

AIM: TO SIMULATE THE 'FORWARD KINEMATICS' OF A 2R ROBOTIC ARM USING MATLAB

OBJECTIVE:

Write a program to simulate forward kinematics of a 2R Robotic Arm

Animating and creating a movie from the plots obtained from the program

THEORY: A manipulator/end effector movement determines the workspace where the robotic arm can be applicable. Our motive is to animate the movement of robotic arm with the subsequent relative motion between the two-comprising links.

Input:

(x0, y0) = starting point of link1

(x1, y1) = end point of link1 / starting point of link 2 (x2, y2) = end point of link 2

l1 = length of link attached to the base

l2 = length of link between the first link and the end effector theta1 = angle made by link 1 with x-axis

theta2 = angle made by link 2 with x-axis

clear all close all clc

% Inputs

% Length of robotic arms l1 = 1;

l2 = 0.5;

% Set of angles for the movement of robotic arms theta1 = linspace(0,90,10);

theta2 = linspace(0,90,10);

ct=1;

THETA1 = theta1(i);

for j = 1:length(theta2) THETA2 = theta2(j);

% Coordinates of start point of first arm x0 = 0;

y0 = 0;

% Coordinates of end point of 1st arm / start point of 2nd arm x1 = l1*cosd(THETA1);

y1 = l1*sind(THETA1);

% Coordinates of end point of 2nd arm x2 = x1 + l2*cosd(THETA2);

y2 = y1 + l2*sind(THETA2);

% Plotting

% Coordinates of arms assigned over a set of theta1 and theta2

plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3,'marker','*');

end

end

% The limits of x-axis and y-axis axis([-0.1 1.5 0 1.5]);

% To cease the animation from jumping between subsequent figures pause(0.03)

% Collecting frames of figures to comprise a movie/animation M(ct) = getframe(gcf);

ct=ct+1;

% To make a movie of the collected frames movie(M)

% Saving the movies in '.avi' format

videofile = VideoWriter('forward_kinematics.avi','Uncompressed AVI'); open(videofile)

% Writing the movie in the videofile created writeVideo(videofile,M)

close(videofile)

EXPLANATION OF PROGRAM:

Initially we define the length of the robotic arms, i.e. l1 and

Set of values for theta1 and theta2 are assigned in and array with linspace command. Use of for command for iterating the values of the desired variable.

Again using for command for providing movement to the second robotic arm. Defining the coordinates of both the robotic arms.

Plotting all the coordinate values and writing commands for changing the appearance of the contours. All figures are assigned to a variable M, one at a time using ct followed by termination of for loop.

Lastly, movie command is used to combine all the figures saved in the M file to make an animation/movie and thereafter saving it in .avi format.

CONCLUSION: A practical scenario regarding the functioning of the robotic arm and its workspace h simulating the forward kinematics with a program in MATLAB.

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.