matlab 机器人工具箱6-一个例子
本文主要参考清华大学出版社的《机器人仿真与编程技术》一书一个具体的例子a1=sym('a1')l1=sym('l1')a2=sym('a2')l2=sym('l2')a3=sym('a3')l3=sym('l3')T01=trotz(a1)*transl(l1,0,0)T12=trotz(a2)*transl(l2,0,0)T23=trotz(a3)*tr...
·
本文主要参考清华大学出版社的《机器人仿真与编程技术》一书
一个具体的例子
a1=sym('a1')
l1=sym('l1')
a2=sym('a2')
l2=sym('l2')
a3=sym('a3')
l3=sym('l3')
T01=trotz(a1)*transl(l1,0,0)
T12=trotz(a2)*transl(l2,0,0)
T23=trotz(a3)*transl(l3,0,0)
T03=T01*T12*T23
L(1)=Link([0 0 1 0])
L(2)=Link([0 0 1 0])
L(3)=Link([0 0 1 0])
ThreeLink=SerialLink(L,'name','Planar3R')
TL=[-1 0 0 0;0 -1 0 1;0 0 1 0;0 0 0 1]
Q0=[0 -pi/2 pi/2]
QF=ThreeLink.ikine(TL,Q0,'mask',[1 1 0 0 0 1])
% ThreeLink.plot(QF)
TRAJ=jtraj(Q0,QF,(0:.05:1))
ThreeLink.plot(TRAJ)
显示的一个动态的运动过程
TRAJ =
0 -1.5708 1.5708
0.0018 -1.5708 1.5653
0.0134 -1.5708 1.5305
0.0418 -1.5708 1.4454
0.0910 -1.5708 1.2979
0.1626 -1.5708 1.0830
0.2562 -1.5708 0.8023
0.3694 -1.5708 0.4626
0.4986 -1.5708 0.0749
0.6391 -1.5708 -0.3465
0.7854 -1.5708 -0.7854
0.9317 -1.5708 -1.2242
1.0722 -1.5708 -1.6457
1.2014 -1.5708 -2.0334
1.3146 -1.5708 -2.3731
1.4082 -1.5708 -2.6538
1.4798 -1.5708 -2.8687
1.5290 -1.5708 -3.0162
1.5574 -1.5708 -3.1013
1.5690 -1.5708 -3.1361
1.5708 -1.5708 -3.1416
刚开始的时候会报错:Number of robot DOF must be >= the same number of 1s in the mask matrix
参考了一个帖子https://www.ilovematlab.cn/thread-533863-1-1.html?s_tid=LandingPageTabqa加mask
QF=ThreeLink.ikine(TL,Q0,'mask',[1 1 0 0 0 1])
但是出来的结果效果和书上不一样,现在有待考究
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)