Kuka机器人示教器上的坐标为X-Y-Z-A-B-C,Kuka的旋转顺序为 ZYX
其中A-B-C对应的 rotZ-rotY-rotX
在做相机手眼标定的时候刚开始用了fanuc的解算程序,发现一直不对,后来在robodk上调试的时候才注意Fanuc和kuka的旋转坐标表示是有区别的
Fanuc示教器上的A-B-C 对应 rotX -rotY-rotZ
相比较而言,fanuc的表示比较直观,但是做姿态解算的时候需要按C-B-A的顺序进行旋转,Kuka的姿态和旋转顺序是一样的。
matlab上的Kuka坐标和旋转矩阵之间的转换函数为
function T = pose2TransABBKUKA(pose)
% 机器人姿态转换为旋转矩阵
R = eul2rotm(pose(4:6)*pi/180,'ZYX'); trans = pose(1:3);
T = [R trans';zeros(1,3) 1];
function pose = Trans2poseABBKUKA(Tmat)
% 旋转矩阵转换为机器人姿态
pose(1:3) = Tmat(1:3,end);
pose(4:6) = rotm2eul(Tmat(1:3,1:3),'ZYX')*180/pi; %