Challenge

Week 3.2 - 2R Robotic Arm Challenge

clear all
close all
clc

%%Inputs
l1 = 1;
l2 = 0.5;

theta1 = linspace(0,90,30);
theta2 = linspace(0,90,30);

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],'linewidth', 4, [x1 x2], [y1 y2], 'linewidth', 3)
        axis([-2 2 0 2])
        M(ct) = getframe(gcf);
        ct=ct+1;
    end
end

movie(M)

videofile = VideoWriter('forward_kinematic.avi',"Uncompressed AVI")
open(videofile)
writeVideo(videofile,M)
close(videofile)

This is a forward kinematics code where we will record each plot in the form of animation. 1st we have defined the length of the arms. Because want to animate the arms from 0 to 90 degrees we have taken the theta vector so. For each value of theta we have calculated the location of arm end for both the arms. For the 2nd arm arm start will always be the arm end of 1st arm. Then we have plotted all the graphs one by one in an animation form and stored the frames in the form of a movie.

I could not upload the movie as my Matlab license expired and in Octave video is not getting generated.

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.