Matlab|Matlab Robotics Toolbox系列—使用篇(5)
Chapter 5 Jacobian
% 雅可比矩阵和差分运动,差分运动可以用一组向量表示[dx dy dz drx dry drz],可用公式表示为transl(dx, dy, dz) * trotx(drx) * troty(dry) * trotz(drz),当然更直接用 diff2tr() 函数
>> D = [.1 .2 0 -.2 .1 .1]';
>> delta2tr(D)
ans =
1.0000-0.10000.10000.1000
0.10001.00000.20000.2000
-0.1000-0.20001.00000
0001.0000
% 在其他坐标系下表示方法上,先给出坐标系变换矩阵,再用叉乘方式
>> T = transl(100, 200, 300) * troty(pi/8) * trotz(-pi/4);
>> DT = tr2jac(T) * D;
% 以puma560为例进行描述
>> mdl_puma560
>> q = [0.1 0.75 -2.25 0 .75 0]
% 计算该坐标系下的Jacobian矩阵
>> J = p560.jacob0(q)
J =
0.0746-0.3031-0.0102000
0.7593-0.0304-0.0010000
-0.00000.74810.4322000
-0.00000.09980.09980.99250.09980.6782
0.0000-0.9950-0.99500.0996-0.99500.0681
1.00000.00000.00000.07070.00000.7317
% 以关节末端为坐标系计算Jacobian矩阵
>> J = p560.jacobn(q)
J =
0.1098-0.7328-0.3021000
0.74810.00000.0000000
0.10230.33970.3092000
【Matlab|Matlab Robotics Toolbox系列—使用篇(5)】-0.6816-0.0000-0.00000.681600
-0.0000-1.0000-1.0000-0.0000-1.00000
0.73170.00000.00000.73170.00001.0000
% 右上角的3x3矩阵为0,表明了4-6关节的平移运动不会对末端产生影响
% 判断是否为奇异矩阵,可以用det()方法,不为0即可
>> det(J)
% 其逆矩阵为
>> Ji = inv(J)
Ji =
0.00001.3367-0.0000-0.0000-0.00000
-2.49460.6993-2.437400.00000
2.7410-1.21065.91250.00000.0000-0.0000
0.00001.3367-0.00001.4671-0.00000
-0.24640.5113-3.4751-0.0000-1.00000
-0.0000-1.95610.0000-1.07340.00001.0000
% Whitney's resolved rate motion controldQ/dt = J(q)^-1 dX/dt
>> vel = [1 0 0 0 0 0]';
% translational motion in the X direction
>> qvel = Ji * vel;
>> qvel'
% 计算末端的变换矩阵
>> T6 = p560.fkine(q);
% 将世界坐标系下的速度转换为T6坐标系
>> d6X = tr2jac(T6) * vel;
% 计算关节速度
>> qvel = Ji *d6X;
% 可以通过Jacobian的秩来描述
>> rank( p560.jacobn(qr) )
% 对于特定的一组关节角,其奇异性可以衡量为:
>> svd( jacobn(p560, qr) )
% 两种用于描述可操作性的方法
>> p560.maniplty(q, 'yoshikawa')
>> p560.maniplty(q, 'asada')%计入了惯量
推荐阅读
- hough变换检测的matlab程序
- matlab|嵌入均衡池的黏菌优化算法
- MATLAB智慧车库计时计费系统GUI设计
- MATLAB图形界面|基于Matlab的汽车出入库计时计费系统
- 《数字图像处理—使用MATLAB分析与实现》高清带标签PDF电子书下载
- Matlab旅程|MATLAB的结构化程序设计
- iOS|iOS 利用VideoToolBox对视频进行编解码
- MATLAB程序设计
- matlab 内存管理 清理内存
- [Artificial|[Artificial Intelligence for Robotics] {cs373} Lesson 8: Particle Filters