本文旨在针对一个简单的空间二连杆机器人,分别采用标准DH法和改进DH法对其进行建系
Tips: 本文适用于对DH法建系有一定基础的读者
1. 空间二连杆机器人构型如下:
2. 标准DH法建系如下:
注意:标准DH法中,约定连杆i的坐标系{i}的 z i z_i zi轴和原点 O i O_i Oi位于该杆件的后一个轴线上,即连杆 i i i的坐标系的 z i z_i zi轴与轴 i + 1 i+1 i+1重合。所以 z 1 z_1 z1方向不可以和 z 0 z_0 z0方向一样,而应该是关节2的轴线方向,这也是容易犯错的地方。
标准DH参数表如下:
i | θ i \theta_i θi | d i d_i di | a i a_{i} ai | α i \alpha_{i} αi |
---|---|---|---|---|
1 | θ 1 \theta_1 θ1 | 0 | L 1 L_1 L1 | pi/2 |
2 | θ 2 + p i / 6 \theta_2 + pi/6 θ2+pi/6 | 0 | L 2 L_2 L2 | 0 |
启动Matlab的机器人工具箱:
startup_rvc %启动机器人工具箱
% 标准型DH法
L1 = 0.5
L2 = 0.3
% theta d a alpha
SL(1) = Link([0 0 L1 pi/2]);
SL(2) = Link([0 0 L2 0]);
SL(2).qlim = [-pi,pi];
SL(2).offset = pi/6; %表示关节的初始角度是pi/6
Robot = SerialLink(SL, 'name', 'robot');
title('标准DH法建系');
Robot.teach();
运行结果如下:
3. 改进DH法建系如下:
改进DH参数表如下:
i | θ i \theta_i θi | d i d_i di | a i − 1 a_{i-1} ai−1 | α i − 1 \alpha_{i-1} αi−1 |
---|---|---|---|---|
1 | θ 1 \theta_1 θ1 | 0 | 0 | 0 |
2 | θ 2 + p i / 6 \theta_2 + pi/6 θ2+pi/6 | 0 | L 1 L_1 L1 | pi/2 |
启动Matlab的机器人工具箱:
startup_rvc %启动机器人工具箱
% 改进型DH法
L1 = 0.5
L2 = 0.3
% theta d a_{
i-1} alpha_{
i-1}
SL(1) = Link([0 0 0 0 ],'modified');
SL(2) = Link([0 0 L1 pi/2 ],'modified');
SL(2).qlim = [-pi,pi];
SL(2).offset = pi/6; %表示关节的初始角度是pi/6
Robot = SerialLink(SL, 'name', 'robot');
Robot.tool = transl(L2, 0, 0); %改进型需要定义工具坐标系
title('改进型DH法建系');
Robot.teach();
运行结果如下:
4. 知识补充
标准DH法:
改进DH法:
标准型DH法和改进型DH法的区别可以参考如下链接:
https://zhuanlan.zhihu.com/p/66066294
今天的文章空间连杆机构的应用实例_DH法建立连杆坐标系分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/86967.html