1.利用工具箱建模,供验证用
选用二轴平面机械臂,两个关节角分别是theta1和theta2.
view(3);
Lnk1 = Link([ 0 0 100 0 0]);%theta,d,a,alpha
Lnk2 = Link([0 0 200 0 0]);
Robot = SerialLink([Lnk1 Lnk2]);
Robot.teach();
运行结果如图:
2.使用DH法求正运动学
此处是传统正运动学的求法,利用变化矩阵相乘,得到T02,即可根据两个转角,求得机械臂末端位姿。
syms theta1 alpha1 a1 d1 theta2 alpha2 a2 d2;
A1=[cos(theta1),-sin(theta1)*cos(alpha1),sin(theta1)*sin(alpha1),a1*cos(theta1);...
sin(theta1),cos(theta1)*cos(alpha1),-cos(theta1)*sin(alpha1),a1*sin(theta1);...
0,sin(alpha1),cos(alpha1),d1;...
0,0,0,1];
A2=[cos(theta2),-sin(theta2)*cos(alpha2),sin(theta2)*sin(alpha2),a2*cos(theta2);...
sin(theta2)