Project

Forward Kinematics of 2R Robot Arm

l1 = 2;
l2 = 1;

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

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);
        
        plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],\'linewidth\',3)
        axis([-0.3 5 0.2 5])
        pause(0.03)
       % line([x0 x1], [y0 y1], \'linewidth\', 3, \'color\', \'g\');
       % line([x1 x2], [y1 y2], \'linewidth\', 3, \'color\', \'r\');
        M(ct) = getframe(gcf);
        ct = ct+1;
    end
end

movie(M)
videofile = VideoWriter(\'fwd_kinematics.avi\',\'Uncompressed AVI\');
open(videofile)
writeVideo(videofile,M)
close(videofile)

The above program is coded in order to find the forward kinematics of 2R Robot. In a 2R robot length of link 1 will greater than length of link 2.

L1, L2, Theta 1, Theta 2 has been given as inputs.

First step is calculating position of link 1 and second step is calculating the position of link 2, this calculation part is coded inside the \"for loop\".

After calculating the positions of both links with respect to different theta values, an animation file of the plot has been created.

Therefore, the results has been shown below. The position of the links changes with respect to change in theta values.

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.