当前位置:   article > 正文

MATLAB机器人工具箱使用(记一次轨迹生成1)_matlab的机器人工具箱如何生成aptsource,nc和robpath格式的轨迹代码

matlab的机器人工具箱如何生成aptsource,nc和robpath格式的轨迹代码

1、第一部分初始化(变量导入和机器人初始化建模)

  1. %ini_robot
  2. q0=[0 0 0 0 0 0 0];
  3. % q1b=[3*pi .1745 pi/3 pi/2 .5236 pi/1.5 0];
  4. % q1=[.0873 .1745 .3491 .1745 .5236 .8727 0];
  5. % q2=[.0873 0 -.3491 .2618 .8727 1.2217 0];
  6. % q3=[-.1745 -.3491 .5236 .0873 -.1222 .3491 0];
  7. % q4=[.1745 .1745 0 -.1396 .3191 -.5236 0];
  8. % q5=[-.3491 -.3491 -.3491 0 -.0873 0 0];
  9. %Iniciar Rbt
  10. L1=Link([0 12.4 0 pi/2 0 -pi/2]);
  11. L2=Link([0 0 0 -pi/2 ]);
  12. L3=Link([0 15.43 0 pi/2 ]);
  13. L4=Link([0 0 0 -pi/2 0 0]);
  14. L5=Link([0 15.925 0 pi/2]);
  15. L6=Link([0 0 0 -pi/2 ]);
  16. L7=Link([0 15.0 0 0 0 pi/2]);
  17. % LinkMat=[0 12.4 0 pi/2 0 -pi/2;
  18. % 0 0 0 -pi/2 0 0;
  19. % 0 15.43 0 pi/2 0 0;
  20. % 0 0 0 -pi/2 0 0;
  21. % 0 15.925 0 pi/2 0 0;
  22. % 0 0 0 -pi/2 0 0;
  23. % 0 15 0 0 0 pi/2];
  24. Rbt=SerialLink([L1 L2 L3 L4 L5 L6 L7]);
  25. % Rbt2=SerialLink([L1 L2 L3 L4 L5]);
  26. % Rbt3=SerialLink(LinkMat);
  27. %t=0:.03:2;%Time vector & steps
  28. % traj1=jtraj(q0,q1,t);
  29. % traj2=jtraj(q1,q2,t);
  30. % traj3=jtraj(q2,q3,t);
  31. % traj4=jtraj(q3,q4,t);
  32. % traj5=jtraj(q4,q5,t);
  33. % traj6=jtraj(q5,q0,t);
  34. %
  35. qsq1=[0.46088 0.37699 0 1.31 0 1.4451 0];
  36. qsq2=[.81681 0.56549 0 1.0681 0 1.2566 0 ];
  37. qsq3=[2.36 0.69115 0 0.848 0 1.4451 0 ];
  38. qsq4=[2.66 0.37699 0 1.31 0 1.4451 0];
  39. qsq5=[pi/2 0.62831 0 1.5708 0 0.94249 0];
  40. qsq6=[0 0.62831 0 1.5708 0 0.94249 0];
  41. t=0:.04:2;
  42. sqtraj1=jtraj(q0,qsq1,t);
  43. sqtraj2=jtraj(qsq1,qsq2,t);
  44. sqtraj3=jtraj(qsq2,qsq3,t);
  45. sqtraj4=jtraj(qsq3,qsq4,t);
  46. sqtraj5=jtraj(qsq4,qsq1,t);
  47. sqtraj6=jtraj(qsq1,q0,t);
  48. sqtraj7=jtraj(qsq6,q0,t);
  49. hold on
  50. atj=zeros(4,4);
  51. view(-35,40)
  52. xlim([-40,40])
  53. ylim([-40,40])
  54. zlim([0,60])
  55. for i=1:1:51
  56. atj=Rbt.fkine(sqtraj1(i,:));
  57. jta=transpose(atj);
  58. JTA(i,:)=jta(4,1:3);
  59. jta=JTA;
  60. plot2(jta(i,:),'r.')
  61. Rbt.plot(sqtraj1(i,:))
  62. plot2(JTA,'b')
  63. end
  64. for i=1:1:51
  65. atj2=Rbt.fkine(sqtraj2(i,:));
  66. jta2=transpose(atj2);
  67. JTA2(i,:)=jta2(4,1:3);
  68. jta2=JTA2;
  69. plot2(jta2(i,:),'r.')
  70. Rbt.plot(sqtraj2(i,:))
  71. plot2(JTA2,'b')
  72. end
  73. for i=1:1:51
  74. atj3=Rbt.fkine(sqtraj3(i,:));
  75. jta3=transpose(atj3);
  76. JTA3(i,:)=jta3(4,1:3);
  77. jta3=JTA3;
  78. plot2(jta3(i,:),'r.')
  79. Rbt.plot(sqtraj3(i,:))
  80. plot2(JTA3,'b')
  81. end
  82. for i=1:1:51
  83. atj4=Rbt.fkine(sqtraj4(i,:));
  84. jta4=transpose(atj4);
  85. JTA4(i,:)=jta4(4,1:3);
  86. jta4=JTA4;
  87. plot2(jta4(i,:),'r.')
  88. Rbt.plot(sqtraj4(i,:))
  89. plot2(JTA4,'b')
  90. end
  91. for i=1:1:51
  92. atj5=Rbt.fkine(sqtraj5(i,:));
  93. jta5=transpose(atj5);
  94. JTA5(i,:)=jta5(4,1:3);
  95. jta5=JTA5;
  96. plot2(jta5(i,:),'r.')
  97. Rbt.plot(sqtraj5(i,:))
  98. plot2(JTA5,'b')
  99. end
  100. for i=1:1:51
  101. atj6=Rbt.fkine(sqtraj6(i,:));
  102. jta6=transpose(atj6);
  103. JTA6(i,:)=jta6(4,1:3);
  104. jta6=JTA6;
  105. plot2(jta6(i,:),'r.')
  106. Rbt.plot(sqtraj6(i,:))
  107. plot2(JTA6,'b')
  108. end
  109. for i=1:1:51
  110. atj7=Rbt.fkine(sqtraj7(i,:));
  111. jta7=transpose(atj7);
  112. JTA7(i,:)=jta7(4,1:3);
  113. jta7=JTA7;
  114. plot2(jta7(i,:),'r.')
  115. Rbt.plot(sqtraj7(i,:))
  116. plot2(JTA7,'b')
  117. end

2、第二部分轨迹生成

  1. qsq1=[0.46088 0.37699 0 1.31 0 1.4451 0];
  2. qsq2=[.81681 0.56549 0 1.0681 0 1.2566 0 ];
  3. qsq3=[2.36 0.69115 0 0.848 0 1.4451 0 ];
  4. qsq4=[2.66 0.37699 0 1.31 0 1.4451 0];
  5. qsq5=[pi/2 0.62831 0 1.5708 0 0.94249 0];
  6. qsq6=[0 0.62831 0 1.5708 0 0.94249 0];
  7. t=0:.04:2;
  8. sqtraj1=jtraj(q0,qsq1,t);
  9. sqtraj2=jtraj(qsq1,qsq2,t);
  10. sqtraj3=jtraj(qsq2,qsq3,t);
  11. sqtraj4=jtraj(qsq3,qsq4,t);
  12. sqtraj5=jtraj(qsq4,qsq1,t);
  13. sqtraj6=jtraj(qsq1,q0,t);
  14. sqtraj7=jtraj(qsq6,q0,t);
  15. hold on
  16. atj=zeros(4,4);
  17. view(-35,40)
  18. xlim([-40,40])
  19. ylim([-40,40])
  20. zlim([0,60])
  21. for i=1:1:51
  22. atj=Rbt.fkine(sqtraj1(i,:));
  23. jta=transpose(atj);
  24. JTA(i,:)=jta(4,1:3);
  25. jta=JTA;
  26. plot2(jta(i,:),'r.')
  27. Rbt.plot(sqtraj1(i,:))
  28. plot2(JTA,'b')
  29. end
  30. for i=1:1:51
  31. atj2=Rbt.fkine(sqtraj2(i,:));
  32. jta2=transpose(atj2);
  33. JTA2(i,:)=jta2(4,1:3);
  34. jta2=JTA2;
  35. plot2(jta2(i,:),'r.')
  36. Rbt.plot(sqtraj2(i,:))
  37. plot2(JTA2,'b')
  38. end
  39. for i=1:1:51
  40. atj3=Rbt.fkine(sqtraj3(i,:));
  41. jta3=transpose(atj3);
  42. JTA3(i,:)=jta3(4,1:3);
  43. jta3=JTA3;
  44. plot2(jta3(i,:),'r.')
  45. Rbt.plot(sqtraj3(i,:))
  46. plot2(JTA3,'b')
  47. end
  48. for i=1:1:51
  49. atj4=Rbt.fkine(sqtraj4(i,:));
  50. jta4=transpose(atj4);
  51. JTA4(i,:)=jta4(4,1:3);
  52. jta4=JTA4;
  53. plot2(jta4(i,:),'r.')
  54. Rbt.plot(sqtraj4(i,:))
  55. plot2(JTA4,'b')
  56. end
  57. for i=1:1:51
  58. atj5=Rbt.fkine(sqtraj5(i,:));
  59. jta5=transpose(atj5);
  60. JTA5(i,:)=jta5(4,1:3);
  61. jta5=JTA5;
  62. plot2(jta5(i,:),'r.')
  63. Rbt.plot(sqtraj5(i,:))
  64. plot2(JTA5,'b')
  65. end
  66. for i=1:1:51
  67. atj6=Rbt.fkine(sqtraj6(i,:));
  68. jta6=transpose(atj6);
  69. JTA6(i,:)=jta6(4,1:3);
  70. jta6=JTA6;
  71. plot2(jta6(i,:),'r.')
  72. Rbt.plot(sqtraj6(i,:))
  73. plot2(JTA6,'b')
  74. end
  75. for i=1:1:51
  76. atj7=Rbt.fkine(sqtraj7(i,:));
  77. jta7=transpose(atj7);
  78. JTA7(i,:)=jta7(4,1:3);
  79. jta7=JTA7;
  80. plot2(jta7(i,:),'r.')
  81. Rbt.plot(sqtraj7(i,:))
  82. plot2(JTA7,'b')
  83. end

3、结果显示

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/566914
推荐阅读
相关标签
  

闽ICP备14008679号