aubo-i5机械臂(1)-正运动学求解

目录

1.DH表建立

2.Matlab实现正运动学求解


1.DH表建立

 注:使用改进DH表建立的

 根据公式求出相邻连杆的变换矩阵

2.Matlab实现正运动学求解

function [H, H_i] = aubo_fkin(DHtable,q)
% H 为输出,末端到基座的 4X4 齐次变换矩阵;
% H_i 为输出,相邻连杆的 4X4 齐次变换矩阵,由于有 n 个连杆,因此 H_i 应该为包含 n 个元素的 cell;
% DHtable 为输入,是一个 nX4 的矩阵,满足 DH 改进约定的 DH 表
% q 为输入,是一个 1xN 的向量,表示关节坐标

%%%!!!!注:机械臂零位的角度应先加到q中,而DH表不含有零位角度!!!!!!!%%

%%相邻连杆的 4X4 齐次变换矩阵%%
    first=1;
    last=size(DHtable,1);%%计算出有多少个连杆
 for i=first:last
    theta=q(i);
    d=DHtable(i,2);
    a=DHtable(i,3);
    alpha=DHtable(i,4);
  T1(:,:,i)=[ cos(theta)                 -sin(theta)                 0                    a;
              sin(theta)*cos(alpha)      cos(theta)*cos(alpha)     -sin(alpha)       -d*sin(alpha);
              sin(theta)*sin(alpha)      cos(theta)*sin(alpha)      cos(alpha)       d*cos(alpha);
                0               0                       0           1];
 T(:,:,i)=double(T1(:,:,i));
 end
 %%
 %%计算末端到基座的 4X4 齐次变换矩阵和将相邻连杆的 4X4 齐次变换矩阵放置到元胞数组%%
  H1=eye(4);
  H_i=cell(1,last);  %%%预先分配内存
for i=first:last
    H1=H1* T(:,:,i);
    H_i{i}=T(:,:,i);
end
 H_i
 H=double(H1)
 

因公式相同,则使用for循环求出相邻连杆的齐次变换矩阵并相乘得出末端到基座的其次变换矩阵。

  • 6
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优雅人字拖

老板大气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值