Challenge

MATLAB Challenge - 2R Robotic Arm Challenge

%Inputs
l1 = 1;
l2 = 0.5;
theta1 = linspace(0,90,10);
theta2 = linspace(0,90,10);

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',3)
        axis([-0.1 1.5 0 1.5])
        pause(0.03)
        M(ct) = getframe(gcf);
        ct = ct+1;
        
    end
end

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

https://drive.google.com/file/d/17zQybSlaD0LAD0cMIgtz9C_uZNiAdLJa/view?usp=sharing

Forward kinematics of Robotic Arm

  • It contains 2 links and 2 rotational joints.
  • Both the links move w.r.t to each other and depending on the position of link1 the position of link2(manipulator) will be evaluated.
  • Here, we have given the values of Theta1(angle made by link 1 w.r.t to the x-axis), Theta2(angle made by link 2 w.r.t to the x-axis), and length of each link l1 and l2.
  • So, for a particular position of link1(theta1) multiple no of positions will be possible of link2(depending on the no of values of theta2) and this is how we calculate the reach of the robotic arm.
  • Now, for one value of theta1, we will calculate the final positions of link2 i.e (x2,y2)
  • But, we cannot manually evaluate all the results for every value of theta1 and theta2.
  • For this we will use for loop and for link2 we will use a separate loop because for each value of theta1 multiple values of theta2 is possible.
  • At last, we will plot all values of (x0.x1.x2)and (y0,y1.y2) with a pause interval of 0.03 so that the frames run smoothly.
  • And, by taking each frame we will create a movie file so that we can save it in our system in MP4 format.

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.