Challenge

Week 3.2 - 2R Robotic Arm Challenge

AIM:

Program to run animation of 2R Robotic Arm Challenge

SOFTWARE USED:

MatLab

PROGRAM CODE:1(WITH ERROR):

%Program to run animation of 2R Robotic Arm Challenge

clear all; % clear all variables in workspace

close all;% close all plots

clc;%clear command window

%Inputs

l1=1;%length of arm1/link1 set to 1m

l2=0.5;%length of arm2/link2 set to 0.5m

ct=1 %Counter variable ct intialized to 1

theta1=linspace(0,90,10); %Initialize theta1 to 0 to 90 degrees with 10 degree gap

theta2=linspace(0,90,10); %Initialize theta2 to 0 to 90 degrees with 10 degree gap

for i=1:length(theta1) %For loop for i varying from 1 to length of theta1 i.e 90

THETA1=theta1(i) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

for j=1:length(theta2) %For loop for j varying from 1 to length of theta1 i.e 90

THETA2=theta2(j) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

%Coordinates

x0=0; % Initialize first x coordinate of first link/arm

y0=0; % Initialize first y coordinate of first link/arm

x1=l1*cosd(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm

y1=l1*sind(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm

x2=x1+l2*cosd(THETA2); % Initialize second x coordinate of second link/arm

y2=y1+l2*sind(THETA2); % Initialize second y coordinate of second link/arm

%Plotting

plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3) %Plotting all 3 points and giving linewidth of 3 pts

axis([-0.1 1.5 0 1.5]) %Setting axis to new position for more visibility

pause(0.03) % pause each frames for 0.03 seconds

xlabel('X position of 2R Robotic Arm')

ylabel('Y position of 2R Robotic Arm')

title('Animation of 2R Robotic Arm')

legend('Prepared by Harikrishnan.B')

ct=ct+1 %increase counter value to next after each iteration

M(ct)=getframe(gcf) %Initialiszing M variable to capture each frames by getframe() command with gcf being figure

end

end

movie(M) %Creating movie of M variable

videofile=VideoWriter('forward_kinematics_challenge.avi','Uncompressed AVI')%Initializing a new variable as videofile and write name and type of video

open(videofile) %opening vidoefile

write(videofile,M) %Writing contents of M to videofile

close(videofile)%Close videofile

PROGRAM WITH ERROR

%Program to run animation of 2R Robotic Arm Challenge
clear all; % clear all variables in workspace 
close all;% close all plots 
clc;%clear command window
%Inputs
l1=1;%length of arm1/link1 set to 1m
l2=0.5;%length of arm2/link2 set to 0.5m
ct=1 %Counter variable ct intialized to 1
theta1=linspace(0,90,10); %Initialize theta1 to 0 to 90 degrees with 10 degree gap
theta2=linspace(0,90,10); %Initialize theta2 to 0 to 90 degrees with 10 degree gap

for i=1:length(theta1) %For loop for i varying from 1 to length of theta1 i.e 90
    THETA1=theta1(i) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1
    for j=1:length(theta2) %For loop for j varying from 1 to length of theta1 i.e 90
    THETA2=theta2(j) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

    %Coordinates
    x0=0; % Initialize first x coordinate of first link/arm
    y0=0; % Initialize first y coordinate of first link/arm
    x1=l1*cosd(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm
    y1=l1*sind(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm
    
    x2=x1+l2*cosd(THETA2); % Initialize second x coordinate of second link/arm
    y2=y1+l2*sind(THETA2); % Initialize second y coordinate of second link/arm

    %Plotting

    plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3) %Plotting all 3 points and giving linewidth of 3 pts
    axis([-0.1 1.5 0 1.5]) %Setting axis to new position for more visibility
    pause(0.03) % pause each frames for 0.03 seconds
    xlabel('X position of 2R Robotic Arm')
    ylabel('Y position of 2R Robotic Arm')
    title('Animation of 2R Robotic Arm')
    legend('Prepared by Harikrishnan.B')
    ct=ct+1 %increase counter value to next after each iteration
    M(ct)=getframe(gcf) %Initialiszing M variable to capture each frames by getframe() command with gcf being figure 
   
    end
end
movie(M) %Creating movie of M variable 
videofile=VideoWriter('forward_kinematics_challenge.avi','Uncompressed AVI')%Initializing a new variable as videofile and write name and type of video
open(videofile) %opening vidoefile
write(videofile,M) %Writing contents of M to videofile
close(videofile)%Close videofile

OUTPUT (ONLY ERRORS):

Error using movie

Movie contains uninitialized frames % ERROR OCCURRED SINCE COUNTER 1 WAS NOT CAPTURED AND COUNTER 2 WAS INITIALIZED BEFORE CT1.

Error in movie

Error in movie

Error in movie

Error in movie

Error in roboticarmanimatedchallenge (line 39) %SO MOVIE WAS NOT CREATED SINCE ERRORS OCCURED

movie(M) %Creating movie of M variable S

OVERCOME MEASURES:

Initially, ct=ct+1 was set before M(ct)=getframe(gcf). This created an error since counter variable ct was incremented before frame was copied to M(ct). This error is corrected by setting ct=ct+1 after M(ct)=getframe(gcf)

PROGRAM CODE:2(WITH ERROR):

%Program to run animation of 2R Robotic Arm Challenge

clear all; % clear all variables in workspace

close all;% close all plots

clc;%clear command window

%Inputs

l1=1;%length of arm1/link1 set to 1m

l2=0.5;%length of arm2/link2 set to 0.5m

ct=1 %Counter variable ct intialized to 1

theta1=linspace(0,90,10); %Initialize theta1 to 0 to 90 degrees with 10 degree gap

theta2=linspace(0,90,10); %Initialize theta2 to 0 to 90 degrees with 10 degree gap

for i=1:length(theta1) %For loop for i varying from 1 to length of theta1 i.e 90

THETA1=theta1(i) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

for j=1:length(theta2) %For loop for j varying from 1 to length of theta1 i.e 90

THETA2=theta2(j) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

%Coordinates

x0=0; % Initialize first x coordinate of first link/arm

y0=0; % Initialize first y coordinate of first link/arm

x1=l1*cosd(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm

y1=l1*sind(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm

x2=x1+l2*cosd(THETA2); % Initialize second x coordinate of second link/arm

y2=y1+l2*sind(THETA2); % Initialize second y coordinate of second link/arm

%Plotting

plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3) %Plotting all 3 points and giving linewidth of 3 pts

axis([-0.1 1.5 0 1.5]) %Setting axis to new position for more visibility

pause(0.03) % pause each frames for 0.03 seconds

xlabel('X position of 2R Robotic Arm')

ylabel('Y position of 2R Robotic Arm')

title('Animation of 2R Robotic Arm')

legend('Prepared by Harikrishnan.B')

M(ct)=getframe(gcf) %Initialiszing M variable to capture each frames by getframe() command with gcf being figure

ct=ct+1 %increase counter value to next after each iteration

end

end

movie(M) %Creating movie of M variable

videofile=VideoWriter('forward_kinematics_challenge.avi','Uncompressed AVI')%Initializing a new variable as videofile and write name and type of video

open(videofile) %opening vidoefile

write(videofile,M) %Writing contents of M to videofile

close(videofile)%Close videofile

OUTPUT (ONLY ERRORS);

>>

Check for incorrect argument data type or missing argument in call to function 'write'.video

Error in roboticarmanimatedchallenge (line 42) % ERROR OCCURRED SINCE WRITE IS WRONG COMMAND, SHOULD BE REPLACED WITH writeVideo(videofile,M)

write(videofile,M) %Writing contents of M to videofile

>>

OUTCOME MEASURES

Error occured since 'write' is wrong command. It should be replaced with writeVideo().

PROGRAM CODE(CORRECTED):

%Program to run animation of 2R Robotic Arm Challenge

% clear all variables in workspace

clear all;

close all;% close all plots

clc;%clear command window

%Inputs

l1=1;%length of arm1/link1 set to 1m

l2=0.5;%length of arm2/link2 set to 0.5m

ct=1 %Counter variable ct intialized to 1

theta1=linspace(0,90,10); %Initialize theta1 to 0 to 90 degrees with 10 degree gap

theta2=linspace(0,90,10); %Initialize theta2 to 0 to 90 degrees with 10 degree gap

for i=1:length(theta1) %For loop for i varying from 1 to length of theta1 i.e 90

THETA1=theta1(i) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

for j=1:length(theta2) %For loop for j varying from 1 to length of theta1 i.e 90

THETA2=theta2(j) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

%Coordinates

x0=0; % Initialize first x coordinate of first link/arm

y0=0; % Initialize first y coordinate of first link/arm

x1=l1*cosd(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm

y1=l1*sind(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm

x2=x1+l2*cosd(THETA2); % Initialize second x coordinate of second link/arm

y2=y1+l2*sind(THETA2); % Initialize second y coordinate of second link/arm

%Plotting

plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3) %Plotting all 3 points and giving linewidth of 3 pts

axis([-0.1 1.5 0 1.5]) %Setting axis to new position for more visibility

pause(0.03) % pause each frames for 0.03 seconds

xlabel('X position of 2R Robotic Arm')

ylabel('Y position of 2R Robotic Arm')

title('Animation of 2R Robotic Arm')

legend('Prepared by Harikrishnan.B')

M(ct)=getframe(gcf) %Initialiszing M variable to capture each frames by getframe() command with gcf being figure

ct=ct+1 %increase counter value to next after each iteration

end

end

movie(M) %Creating movie of M variable

videofile=VideoWriter('forward_kinematics_challenge.avi','Uncompressed AVI')%Initializing a new variable as videofile and write name and type of video

open(videofile) %opening vidoefile

writeVideo(videofile,M) %Writing contents of M to videofile

close(videofile)%Close videofile

PROGRAM WITH ERROR

%Program to run animation of 2R Robotic Arm Challenge
clear all; % clear all variables in workspace 
close all;% close all plots 
clc;%clear command window
%Inputs
l1=1;%length of arm1/link1 set to 1m
l2=0.5;%length of arm2/link2 set to 0.5m
ct=1 %Counter variable ct intialized to 1
theta1=linspace(0,90,10); %Initialize theta1 to 0 to 90 degrees with 10 degree gap
theta2=linspace(0,90,10); %Initialize theta2 to 0 to 90 degrees with 10 degree gap

for i=1:length(theta1) %For loop for i varying from 1 to length of theta1 i.e 90
    THETA1=theta1(i) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1
    for j=1:length(theta2) %For loop for j varying from 1 to length of theta1 i.e 90
    THETA2=theta2(j) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

    %Coordinates
    x0=0; % Initialize first x coordinate of first link/arm
    y0=0; % Initialize first y coordinate of first link/arm
    x1=l1*cosd(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm
    y1=l1*sind(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm
    
    x2=x1+l2*cosd(THETA2); % Initialize second x coordinate of second link/arm
    y2=y1+l2*sind(THETA2); % Initialize second y coordinate of second link/arm

    %Plotting

    plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3) %Plotting all 3 points and giving linewidth of 3 pts
    axis([-0.1 1.5 0 1.5]) %Setting axis to new position for more visibility
    pause(0.03) % pause each frames for 0.03 seconds
    xlabel('X position of 2R Robotic Arm')
    ylabel('Y position of 2R Robotic Arm')
    title('Animation of 2R Robotic Arm')
    legend('Prepared by Harikrishnan.B')
    M(ct)=getframe(gcf) %Initialiszing M variable to capture each frames by getframe() command with gcf being figure 
    ct=ct+1 %increase counter value to next after each iteration
    end
end
movie(M) %Creating movie of M variable 
videofile=VideoWriter('forward_kinematics_challenge.avi','Uncompressed AVI')%Initializing a new variable as videofile and write name and type of video
open(videofile) %opening vidoefile
write(videofile,M) %Writing contents of M to videofile
close(videofile)%Close videofile

PROGRAM WITHOUT ERROR

%Program to run animation of 2R Robotic Arm Challenge
clear all; % clear all variables in workspace 
close all;% close all plots 
clc;%clear command window
%Inputs
l1=1;%length of arm1/link1 set to 1m
l2=0.5;%length of arm2/link2 set to 0.5m
ct=1 %Counter variable ct intialized to 1
theta1=linspace(0,90,10); %Initialize theta1 to 0 to 90 degrees with 10 degree gap
theta2=linspace(0,90,10); %Initialize theta2 to 0 to 90 degrees with 10 degree gap

for i=1:length(theta1) %For loop for i varying from 1 to length of theta1 i.e 90
    THETA1=theta1(i) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1
    for j=1:length(theta2) %For loop for j varying from 1 to length of theta1 i.e 90
    THETA2=theta2(j) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

    %Coordinates
    x0=0; % Initialize first x coordinate of first link/arm
    y0=0; % Initialize first y coordinate of first link/arm
    x1=l1*cosd(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm
    y1=l1*sind(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm
    
    x2=x1+l2*cosd(THETA2); % Initialize second x coordinate of second link/arm
    y2=y1+l2*sind(THETA2); % Initialize second y coordinate of second link/arm

    %Plotting

    plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3) %Plotting all 3 points and giving linewidth of 3 pts
    axis([-0.1 1.5 0 1.5]) %Setting axis to new position for more visibility
    pause(0.03) % pause each frames for 0.03 seconds
    xlabel('X position of 2R Robotic Arm')
    ylabel('Y position of 2R Robotic Arm')
    title('Animation of 2R Robotic Arm')
    legend('Prepared by Harikrishnan.B')
    M(ct)=getframe(gcf) %Initialiszing M variable to capture each frames by getframe() command with gcf being figure 
    ct=ct+1 %increase counter value to next after each iteration
    end
end
movie(M) %Creating movie of M variable 
videofile=VideoWriter('forward_kinematics_challenge.avi','Uncompressed AVI')%Initializing a new variable as videofile and write name and type of video
open(videofile) %opening vidoefile
writeVideo(videofile,M) %Writing contents of M to videofile
close(videofile)%Close videofile

SYNTAX OF CODE:

%Inputs

l1=1;%length of arm1/link1 set to 1m

l2=0.5;%length of arm2/link2 set to 0.5m

ct=1 %Counter variable ct intialized to 1

theta1=linspace(0,90,10); %Initialize theta1 to 0 to 90 degrees with 10 degree gap

theta2=linspace(0,90,10); %Initialize theta2 to 0 to 90 degrees with 10 degree gap

for i=1:length(theta1) %For loop for i varying from 1 to length of theta1 i.e 90

THETA1=theta1(i) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

for j=1:length(theta2) %For loop for j varying from 1 to length of theta1 i.e 90

THETA2=theta2(j) %assign value of theta(i) to THETA1,initially theta(1)=0 will be assigned to THETA1

%Coordinates

x0=0; % Initialize first x coordinate of first link/arm

y0=0; % Initialize first y coordinate of first link/arm

x1=l1*cosd(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm

y1=l1*sind(THETA1); % Initialize second x coordinate of first link/arm, this will first coordinate of second link/arm

x2=x1+l2*cosd(THETA2); % Initialize second x coordinate of second link/arm

y2=y1+l2*sind(THETA2); % Initialize second y coordinate of second link/arm

%Plotting

plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',3) %Plotting all 3 points and giving linewidth of 3 pts

axis([-0.1 1.5 0 1.5]) %Setting axis to new position for more visibility

pause(0.03) % pause each frames for 0.03 seconds

xlabel('X position of 2R Robotic Arm')

ylabel('Y position of 2R Robotic Arm')

title('Animation of 2R Robotic Arm')

legend('Prepared by Harikrishnan.B')

M(ct)=getframe(gcf) %Initialiszing M variable to capture each frames by getframe() command with gcf being figure

ct=ct+1 %increase counter value to next after each iteration

end

end

movie(M) %Creating movie of M variable

videofile=VideoWriter('forward_kinematics_challenge.avi','Uncompressed AVI')%Initializing a new variable as videofile and write name and type of video

open(videofile) %opening vidoefile

writeVideo(videofile,M) %Writing contents of M to videofile

close(videofile)%Close videofile

OUTPUT(CORRECTED):

ct =

1

THETA1 =

0

THETA2 =

0

M =

struct with fields:

cdata: [525×700×3 uint8]

colormap: []

ct =

2

THETA2 =

10

M =

1×2 struct array with fields:

cdata

colormap

ct =

3

THETA2 =

20

M =

1×3 struct array with fields:

cdata

colormap

ct =

4

THETA2 =

30

M =

1×4 struct array with fields:

cdata

colormap

ct =

5

THETA2 =

40

M =

1×5 struct array with fields:

cdata

colormap

ct =

6

THETA2 =

50

M =

1×6 struct array with fields:

cdata

colormap

ct =

7

THETA2 =

60

M =

1×7 struct array with fields:

cdata

colormap

ct =

8

THETA2 =

70

M =

1×8 struct array with fields:

cdata

colormap

ct =

9

THETA2 =

80

M =

1×9 struct array with fields:

cdata

colormap

ct =

10

THETA2 =

90

M =

1×10 struct array with fields:

cdata

colormap

ct =

11

THETA1 =

10

THETA2 =

0

M =

1×11 struct array with fields:

cdata

colormap

ct =

12

THETA2 =

10

M =

1×12 struct array with fields:

cdata

colormap

ct =

13

THETA2 =

20

M =

1×13 struct array with fields:

cdata

colormap

ct =

14

THETA2 =

30

M =

1×14 struct array with fields:

cdata

colormap

ct =

15

THETA2 =

40

M =

1×15 struct array with fields:

cdata

colormap

ct =

16

THETA2 =

50

M =

1×16 struct array with fields:

cdata

colormap

ct =

17

THETA2 =

60

M =

1×17 struct array with fields:

cdata

colormap

ct =

18

THETA2 =

70

M =

1×18 struct array with fields:

cdata

colormap

ct =

19

THETA2 =

80

M =

1×19 struct array with fields:

cdata

colormap

ct =

20

THETA2 =

90

M =

1×20 struct array with fields:

cdata

colormap

ct =

21

THETA1 =

20

THETA2 =

0

M =

1×21 struct array with fields:

cdata

colormap

ct =

22

THETA2 =

10

M =

1×22 struct array with fields:

cdata

colormap

ct =

23

THETA2 =

20

M =

1×23 struct array with fields:

cdata

colormap

ct =

24

THETA2 =

30

M =

1×24 struct array with fields:

cdata

colormap

ct =

25

THETA2 =

40

M =

1×25 struct array with fields:

cdata

colormap

ct =

26

THETA2 =

50

M =

1×26 struct array with fields:

cdata

colormap

ct =

27

THETA2 =

60

M =

1×27 struct array with fields:

cdata

colormap

ct =

28

THETA2 =

70

M =

1×28 struct array with fields:

cdata

colormap

ct =

29

THETA2 =

80

M =

1×29 struct array with fields:

cdata

colormap

ct =

30

THETA2 =

90

M =

1×30 struct array with fields:

cdata

colormap

ct =

31

THETA1 =

30

THETA2 =

0

M =

1×31 struct array with fields:

cdata

colormap

ct =

32

THETA2 =

10

M =

1×32 struct array with fields:

cdata

colormap

ct =

33

THETA2 =

20

M =

1×33 struct array with fields:

cdata

colormap

ct =

34

THETA2 =

30

M =

1×34 struct array with fields:

cdata

colormap

ct =

35

THETA2 =

40

M =

1×35 struct array with fields:

cdata

colormap

ct =

36

THETA2 =

50

M =

1×36 struct array with fields:

cdata

colormap

ct =

37

THETA2 =

60

M =

1×37 struct array with fields:

cdata

colormap

ct =

38

THETA2 =

70

M =

1×38 struct array with fields:

cdata

colormap

ct =

39

THETA2 =

80

M =

1×39 struct array with fields:

cdata

colormap

ct =

40

THETA2 =

90

M =

1×40 struct array with fields:

cdata

colormap

ct =

41

THETA1 =

40

THETA2 =

0

M =

1×41 struct array with fields:

cdata

colormap

ct =

42

THETA2 =

10

M =

1×42 struct array with fields:

cdata

colormap

ct =

43

THETA2 =

20

M =

1×43 struct array with fields:

cdata

colormap

ct =

44

THETA2 =

30

M =

1×44 struct array with fields:

cdata

colormap

ct =

45

THETA2 =

40

M =

1×45 struct array with fields:

cdata

colormap

ct =

46

THETA2 =

50

M =

1×46 struct array with fields:

cdata

colormap

ct =

47

THETA2 =

60

M =

1×47 struct array with fields:

cdata

colormap

ct =

48

THETA2 =

70

M =

1×48 struct array with fields:

cdata

colormap

ct =

49

THETA2 =

80

M =

1×49 struct array with fields:

cdata

colormap

ct =

50

THETA2 =

90

M =

1×50 struct array with fields:

cdata

colormap

ct =

51

THETA1 =

50

THETA2 =

0

M =

1×51 struct array with fields:

cdata

colormap

ct =

52

THETA2 =

10

M =

1×52 struct array with fields:

cdata

colormap

ct =

53

THETA2 =

20

M =

1×53 struct array with fields:

cdata

colormap

ct =

54

THETA2 =

30

M =

1×54 struct array with fields:

cdata

colormap

ct =

55

THETA2 =

40

M =

1×55 struct array with fields:

cdata

colormap

ct =

56

THETA2 =

50

M =

1×56 struct array with fields:

cdata

colormap

ct =

57

THETA2 =

60

M =

1×57 struct array with fields:

cdata

colormap

ct =

58

THETA2 =

70

M =

1×58 struct array with fields:

cdata

colormap

ct =

59

THETA2 =

80

M =

1×59 struct array with fields:

cdata

colormap

ct =

60

THETA2 =

90

M =

1×60 struct array with fields:

cdata

colormap

ct =

61

THETA1 =

60

THETA2 =

0

M =

1×61 struct array with fields:

cdata

colormap

ct =

62

THETA2 =

10

M =

1×62 struct array with fields:

cdata

colormap

ct =

63

THETA2 =

20

M =

1×63 struct array with fields:

cdata

colormap

ct =

64

THETA2 =

30

M =

1×64 struct array with fields:

cdata

colormap

ct =

65

THETA2 =

40

M =

1×65 struct array with fields:

cdata

colormap

ct =

66

THETA2 =

50

M =

1×66 struct array with fields:

cdata

colormap

ct =

67

THETA2 =

60

M =

1×67 struct array with fields:

cdata

colormap

ct =

68

THETA2 =

70

M =

1×68 struct array with fields:

cdata

colormap

ct =

69

THETA2 =

80

M =

1×69 struct array with fields:

cdata

colormap

ct =

70

THETA2 =

90

M =

1×70 struct array with fields:

cdata

colormap

ct =

71

THETA1 =

70

THETA2 =

0

M =

1×71 struct array with fields:

cdata

colormap

ct =

72

THETA2 =

10

M =

1×72 struct array with fields:

cdata

colormap

ct =

73

THETA2 =

20

M =

1×73 struct array with fields:

cdata

colormap

ct =

74

THETA2 =

30

M =

1×74 struct array with fields:

cdata

colormap

ct =

75

THETA2 =

40

M =

1×75 struct array with fields:

cdata

colormap

ct =

76

THETA2 =

50

M =

1×76 struct array with fields:

cdata

colormap

ct =

77

THETA2 =

60

M =

1×77 struct array with fields:

cdata

colormap

ct =

78

THETA2 =

70

M =

1×78 struct array with fields:

cdata

colormap

ct =

79

THETA2 =

80

M =

1×79 struct array with fields:

cdata

colormap

ct =

80

THETA2 =

90

M =

1×80 struct array with fields:

cdata

colormap

ct =

81

THETA1 =

80

THETA2 =

0

M =

1×81 struct array with fields:

cdata

colormap

ct =

82

THETA2 =

10

M =

1×82 struct array with fields:

cdata

colormap

ct =

83

THETA2 =

20

M =

1×83 struct array with fields:

cdata

colormap

ct =

84

THETA2 =

30

M =

1×84 struct array with fields:

cdata

colormap

ct =

85

THETA2 =

40

M =

1×85 struct array with fields:

cdata

colormap

ct =

86

THETA2 =

50

M =

1×86 struct array with fields:

cdata

colormap

ct =

87

THETA2 =

60

M =

1×87 struct array with fields:

cdata

colormap

ct =

88

THETA2 =

70

M =

1×88 struct array with fields:

cdata

colormap

ct =

89

THETA2 =

80

M =

1×89 struct array with fields:

cdata

colormap

ct =

90

THETA2 =

90

M =

1×90 struct array with fields:

cdata

colormap

ct =

91

THETA1 =

90

THETA2 =

0

M =

1×91 struct array with fields:

cdata

colormap

ct =

92

THETA2 =

10

M =

1×92 struct array with fields:

cdata

colormap

ct =

93

THETA2 =

20

M =

1×93 struct array with fields:

cdata

colormap

ct =

94

THETA2 =

30

M =

1×94 struct array with fields:

cdata

colormap

ct =

95

THETA2 =

40

M =

1×95 struct array with fields:

cdata

colormap

ct =

96

THETA2 =

50

M =

1×96 struct array with fields:

cdata

colormap

ct =

97

THETA2 =

60

M =

1×97 struct array with fields:

cdata

colormap

ct =

98

THETA2 =

70

M =

1×98 struct array with fields:

cdata

colormap

ct =

99

THETA2 =

80

M =

1×99 struct array with fields:

cdata

colormap

ct =

100

THETA2 =

90

M =

1×100 struct array with fields:

cdata

colormap

ct =

101

videofile =

VideoWriter

General Properties:

Filename: 'forward_kinematics_challenge.avi'

Path: 'C:\Users\LENOVO\Desktop\Matlab programs'

FileFormat: 'avi'

Duration: 0

Video Properties:

ColorChannels: 3

Height: []

Width: []

FrameCount: 0

FrameRate: 30

VideoBitsPerPixel: 24

VideoFormat: 'RGB24'

VideoCompressionMethod: 'None'

Methods

>>YOUTUBE LINK: https://youtu.be/H1mvMvYhfWs

https://youtu.be/H1mvMvYhfWs

>>

INFERENCE:

Here in this program I have learned to use and create animation from plots and stiching each to make different frames.

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.