KUKA 正运动学计算

采用DH参数模型进行Kuka机器人的运动学计算,参考古月居的文章,利用matlab第三方工具箱ROBOTICS TOOLBOX 建立Kuka机器人的运动学模型。

这里对KUKA KR10 R1100-2 机器人进行建模, 机器人的DH参数可以通过roboDK获取(找人帮忙获取的参数) 

利用该参数,可以建立机器人DH模型:

         %a    alpha     d     theta 
dhparams =[0      0      400      0
           25    -pi/2   0        0
          560    0       0       -pi/2
           25    -pi/2   515        0
            0     pi/2    0       0
            0    -pi/2   90       pi];

for i = 1 : 6
    % 采用 modified DH模型, 不能用 std-DH
    L(i) = Link('revolute', 'd', dhparams(i,3), 'a', dhparams(i,1), 'alpha', dhparams(i,2),'modified');
end

myrobot= SerialLink(L, 'name', 'sixlink'); 
myrobot.display
  
offset = dhparams(:,end)';   %  关节轴的偏移量,在关节坐标上做加法
theta = [11.642420, -88.638112, 90.964350, 35.732042, -19.629808, -36.885212]*pi/180;

Trans2poseABBKUKA(myrobot.fkine(theta + offset).T)

 函数 Trans2poseABBKUKA 把正运动学计算得到的变换矩阵转换为KUKA机器人的姿态坐标

function pose = Trans2poseABBKUKA(Tmat)
pose(1:3) = Tmat(1:3,end);
pose(4:6) = rotm2eul(Tmat(1:3,1:3),'ZYX')*180/pi; 

这里用roboDK来验证该程序,将工具坐标建立在法兰盘上,调整roboDK的机器人姿态如下:

将机器人的各轴姿态复制到前面程序的theta变量,并计算

 计算结果和roboDK中显示的工具坐标 [   672.381404,  -248.235703,   650.015017,   -27.603525,    76.456172,     0.049594 ] 完全一样。

采用该方法可以建立机器人的正运动学模型。

这里需要注意,建立关节模型的时候需要采用modified DH模型,就是前面代码中的 'modified' 参数。

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值