本文主要参考清华大学出版社的《机器人仿真与编程技术》一书
主要涉及雅可比的概念,定义为机械臂末端笛卡尔速度与关节速度的线性变换,是一个偏导矩阵
https://wenku.baidu.com/view/03d586024afe04a1b171de8d.html51页起
以及https://blog.csdn.net/libing403/article/details/88586844
在matlab工具箱中由jacob0()计算世界坐标系中0系的雅可比矩阵、jacobn()计算工作坐标系n系下的雅可比矩阵。
mdl_KR5
qn=[0 0 pi/4 0 pi/6 pi/3]
J0=KR5.jacob0(qn)
Jn=KR5.jacobn(qn)
结果输出
J0 =
0.0000 0.5530 -0.5530 0.0000 -0.0298 0
0.3154 -0.0000 0.0000 0.0575 0.0000 0
0 0.1354 0.4646 -0.0000 0.1111 0
0 0 0.0000 -0.7071 0.0000 -0.9659
0.0000 -1.0000 1.0000 -0.0000 1.0000 0.0000
1.0000 0.0000 -0.0000 -0.7071 -0.0000 -0.2588
Jn =
-0.2731 0.0062 -0.2960 -0.0498 -0.0575 0
-0.1577 -0.0107 0.5126 -0.0288 0.0996 0
-0.0000 -0.5692 0.4139 0.0000 0 0
-0.4830 0.8660 -0.8660 0.2500 -0.8660 0
0.8365 0.5000 -0.5000 -0.4330 -0.5000 0
-0.2588 -0.0000 0.0000 0.8660 0.0000 1.0000
之后我们看一下两者的变换关系
mdl_KR5
qn=[0 0 pi/4 0 pi/6 pi/3]
J0=KR5.jacob0(qn)
Jn=KR5.jacobn(qn)
T=KR5.fkine(qn)
R=t2r(T)
得到旋转矩阵R
R =
0.1294 -0.2241 -0.9659
-0.8660 -0.5000 0.0000
-0.4830 0.8365 -0.2588
之后构造变换矩阵:
AJ= [R 0;0 R] BJ
构造变换矩阵
R2=[
0.1294 -0.2241 -0.9659 0 0 0;
-0.8660 -0.5000 0.0000 0 0 0;
-0.4830 0.8365 -0.2588 0 0 0;
0 0 0 0.1294 -0.2241 -0.9659;
0 0 0 -0.8660 -0.5000 0.0000;
0 0 0 -0.4830 0.8365 -0.2588
];
之后计算变换
Jt=R2*Jn
Jt =
-0.0000 0.5530 -0.5530 -0.0000 -0.0298 0
0.3154 0.0000 -0.0000 0.0575 -0.0000 0
0.0000 0.1354 0.4646 0.0000 0.1111 0
0.0000 0.0000 -0.0000 -0.7071 -0.0000 -0.9659
-0.0000 -1.0000 1.0000 0.0000 1.0000 0
1.0000 -0.0000 0.0000 -0.7071 0.0000 -0.2588
结果和J0一样。0NT,N坐标系相对于0坐标系的变换
在matlab机器人工具箱中使用tr2jac生成jacob矩阵
假如坐标系b是由a平移(2,4,0)再绕y 旋转45°得到的。a中速度朝x轴 2m/s。则vb
T=transl(1,4,0)*troty(pi/4)
Tv=tr2jac(T)
va=[2 0 0 0 0 0]
vb=Tv*va'
注意a',将a转为列向量。得到
vb =
1.4142
0
1.4142
0
0
0