Advertisement
Guest User

3B

a guest
Nov 18th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. % 3B
  2. clear all,
  3. clc
  4. XYZ1=zeros(10,3);
  5. XYZ2=zeros(10,3);
  6. XYZ3=zeros(10,3);
  7. XYZ4=zeros(10,3);
  8. XYZ5=zeros(10,3);
  9. syms d1 a1 th2 a3 q2 th4 a4 al5 q4 q5 al3 al4
  10. % determination of a symbolic form of HT matrices –
  11. % application of mA function
  12. A1=mA(0,d1,a1,0);
  13. A2=mA(th2,0,0,0);
  14. A3=mA(0,0,a3,al3);
  15. A4=mA(th4,0,a4,al4);
  16. A5=mA(0,0,0,al5);
  17. % multiplication of matrices
  18. T01=A1;
  19. T02=A1*A2;
  20. T03=A1*A2*A3;
  21. T04=A1*A2*A3*A4;
  22. T05=A1*A2*A3*A4*A5;
  23.  
  24. D1=[430 350 200 600 100 800 170 320 560 730];
  25. TH2=(pi/180).*[20 -45 -70 0 65 -90 80 30 -50 60];
  26. A3=[250 400 100 600 530 170 375 320 220 190];
  27. TH4=(pi/180).*[-10 -40 -110 50 75 -120 0 -35 80 -60];
  28. AL5=(pi/180).*[0 60 120 -45 -80 -35 70 25 -30 55];
  29.  
  30. for i=1:1:10
  31.  
  32. for j = 1:1:10
  33.  
  34. if D1(1,i)==100
  35. D11=zeros(1,10);
  36. D11(1:10)=100;
  37. else
  38. D11=(100:(D1(1,i)-100)/9:D1(1,i));
  39. end
  40.  
  41. if TH2(1,i)==0
  42. TH22=zeros(1,10);
  43. else
  44. TH22=(0:TH2(1,i)/9:TH2(1,i));
  45. end
  46.  
  47. if A3(1,i)==100
  48. A33=zeros(1,10);
  49. A33(1:10)=100;
  50. else
  51. A33=(100:(A3(1,i)-100)/9:A3(1,i));
  52. end
  53.  
  54. if TH4(1,i)==0
  55. TH44=zeros(1,10);
  56. else
  57. TH44=(0:TH4(1,i)/9:TH4(1,i));
  58. end
  59.  
  60. if AL5(1,i)==0
  61. AL55=zeros(1,10);
  62. else
  63. AL55=(0:AL5(1,i)/9:AL5(1,i));
  64. end
  65.  
  66. T01n=double(subs(T01,{d1,a1},{D11(1,j),500}));
  67. T02n=double(subs(T02,{d1,a1,th2},{D11(1,j),500,TH22(1,j)}));
  68. T03n=double(subs(T03,{d1,a1,th2,a3,al3},{D11(1,j),500,TH22(1,j),A33(1,j),-pi/2}));
  69. T04n=double(subs(T04,{d1,a1,th2,a3,al3,th4,a4,al4},{D11(1,j),500,TH22(1,j),A33(1,j),-pi/2,TH44(1,j),500,pi/2}));
  70. T05n=double(subs(T05,{d1,a1,th2,a3,al3,th4,a4,al4,al5},{D11(1,j),500,TH22(1,j),A33(1,j),-pi/2,TH44(1,j),500,pi/2,AL55(1,j)}));
  71.  
  72. XYZ1(j,1,i) = T01n(1,4);
  73. XYZ1(j,2,i) = T01n(2,4);
  74. XYZ1(j,3,i) = T01n(3,4);
  75.  
  76. XYZ2(j,1,i) = T02n(1,4);
  77. XYZ2(j,2,i) = T02n(2,4);
  78. XYZ2(j,3,i) = T02n(3,4);
  79.  
  80. XYZ3(j,1,i) = T03n(1,4);
  81. XYZ3(j,2,i) = T03n(2,4);
  82. XYZ3(j,3,i) = T03n(3,4);
  83.  
  84. XYZ4(j,1,i) = T04n(1,4);
  85. XYZ4(j,2,i) = T04n(2,4);
  86. XYZ4(j,3,i) = T04n(3,4);
  87.  
  88. XYZ5(j,1,i) = T05n(1,4);
  89. XYZ5(j,2,i) = T05n(2,4);
  90. XYZ5(j,3,i) = T05n(3,4);
  91. end
  92. end
  93.  
  94.  
  95.  
  96. for k=1:10
  97. figure(k)
  98.  
  99.  
  100. plot3([0 XYZ1(10,1,k)],[0 XYZ1(10,2,k)],[0 XYZ1(10,3,k)])
  101. hold on
  102. plot3([XYZ1(10,1,k) XYZ2(10,1,k)],[XYZ1(10,2,k) XYZ2(10,2,k)],[XYZ1(10,3,k) XYZ2(10,3,k)])
  103. hold on
  104. plot3([XYZ2(10,1,k) XYZ3(10,1,k)],[XYZ2(10,2,k) XYZ3(10,2,k)],[XYZ2(10,3,k) XYZ3(10,3,k)])
  105. hold on
  106. plot3([XYZ3(10,1,k) XYZ4(10,1,k)],[XYZ3(10,2,k) XYZ4(10,2,k)],[XYZ3(10,3,k) XYZ4(10,3,k)])
  107. hold on
  108. plot3([XYZ4(10,1,k) XYZ5(10,1,k)],[XYZ4(10,2,k) XYZ5(10,2,k)],[XYZ4(10,3,k) XYZ5(10,3,k)])
  109. hold on
  110.  
  111. plot3(XYZ1(10,1,k),XYZ1(10,2,k),XYZ1(10,3,k),'-D')
  112. hold on
  113. plot3(XYZ2(10,1,k),XYZ2(10,2,k),XYZ2(10,3,k),'-O')
  114. hold on
  115. plot3(XYZ3(10,1,k),XYZ3(10,2,k),XYZ3(10,3,k),'-D')
  116. hold on
  117. plot3(XYZ4(10,1,k),XYZ4(10,2,k),XYZ4(10,3,k),'-O')
  118. hold on
  119. plot3(XYZ5(10,1,k),XYZ5(10,2,k),XYZ5(10,3,k),'-X')
  120.  
  121. axis([-2000 2000 -2000 2000 -2000 2000])
  122.  
  123. plot3(XYZ5(:,1,k),XYZ5(:,2,k),XYZ5(:,3,k),'--r')
  124. xlabel('X')
  125. ylabel('Y')
  126. zlabel('Z')
  127. title (sprintf('Path number %d of end effector',k))
  128. end
  129.  
  130. for m=1:10
  131. figure (m+10)
  132. plot3(XYZ5(:,1,m),XYZ5(:,2,m),XYZ5(:,3,m),'-r')
  133. xlabel('X')
  134. ylabel('Y')
  135. zlabel('Z')
  136. title (sprintf('Path number %d of end effector',m))
  137. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement