机器人标准DH建模法

运动学问题是在不考虑引起运动的力和力矩的情况下,描述机械臂的运动。这篇文章是我翻过了几本机器人教材再参考网上各种博客的总结,先说看资料过程中的感想/结论:网上的博客基本不完整,要详细地了解DH建模法还是直接看书比较好。教材中《机器人建模与控制》把标准DH建模法讲得比较清楚,主要是它的坐标系建模方法比较简单、直接,因此这篇文章总结一下《机器人建模与控制》里DH建模法的整个过程。

1.关节、连杆等物理量的描述

不同的教材这个部分的描述不一样,一定要先理清楚再看下面的核心内容,最好自己画一个示意图。

关节&连杆:(见图1)

1)关节i连接连杆i-1和连杆i

2)关节i被驱动时,连杆i发生转动

关节&坐标系:

Z_i 是第i+1个关节的驱动轴

以上约束条件保证了关节i被驱动时,连杆i以及相连坐标系Oi都将经历一个相应的运动。

2.建立坐标系

表达两个坐标系之间的转换关系,通常需要一个旋转矩阵R和位移矩阵P,一共12个参数。但是对于常规的机械臂来说,只要满足如下两个约束条件,即可以用4个参数表达清楚坐标系的转换关系,即 d,\alpha, \beta,\theta 。(4个参数的存在唯一性证明参考《机器人建模与控制》)

 

DH法的这两个约束条件是:

后一个关节坐标系 O_1 的 x轴要垂直于前一个坐标系 O_0 的z 轴。

后一个关节坐标系  O_1的 x轴要和前一个坐标系O_0  的 z 轴相交,见图2。

 

 

建立坐标轴的步骤如下:

1)确定Zi轴

作为第i+1个关节的驱动轴,其方向和关节轴线方向保持一致。例如Z0是第1个关节的驱动轴,Z1是第2个关节的驱动轴。可能看上去有点混乱,但是符合规则的,这保证了:当关节i被驱动时,连杆i以及与其相连的坐标系 OiXiYiZi,将会经历一个对应的运动。

另外 Zi轴的方向符合右手定则,注意和关节的转动方向对应!

2)确定基础坐标系

由前面的讨论可知,满足DH建模约束条件的坐标变换可以用  d,\alpha, \beta,\theta四个参数得到!

基础坐标系的选择近乎是任意的,我们可以选择将基础坐标系的原点 Oo放置在Z0 轴上任何一点。然后,可以通过任意方便的方式来选择X0轴和Y0轴。但是建立0坐标系时,要尽可能使得最后的DH

3)确定 Xi方向

a.轴 Zi-1和轴Zi不共面

那么轴Zi-1和轴Zi的公垂线定义了Xi轴,并且它于轴Zi的交点即为原点Oi。

b.轴Zi-1平行于轴Zi

这种情况下,轴Zi-1和轴Zi之间存在无穷多个共同法线。将穿过原点Oi-1的法线选作Xi轴, Oi是该法线和Zi轴的交点。

c.轴Zi-1和轴Zi相交

选择Xi垂直于由Zi-1和Zi组成的平面。原点Oi一般设为Zi-1和Zi的交点。不过,轴线Zi上的任意一点都可以被选作原点。

4)确定坐标系N

以上的三个步骤适用于坐标系0,…N-1。最终的坐标系通常被称为末端执行器或者工具坐标系。最常见的是,将原点Oi以对称方式布置在夹具的中间, Zi轴方向沿着末端移动方向(最后一个关节伸缩的方向)。Xi轴方向沿着夹具的上下开合方向。

因为有很多情况可以随意选择坐标系 Xi轴的方向,这就导致了不同的DH参数。为了规范DH建模方法,总结“使得DH参数简单”的一些法则。

1、确定Xi轴方向时,如果有很多种选择,尽可能选择与Xi-1相同的方向

2、确定坐标系0时,使得关节变量1的取值为零。如果是转动关节,关节变量就是 \theta_1 ;如果是平动关节,关节变量是d

3、符合人的习惯

3. 举例(仅分析坐标系建模):

例1

例2

 

4.确定DH参数

根据图3确定DH参数。

 对于转动关节的关节变量 \theta 来说,不同的位姿会有不同的关节角度,所以在很多教材上直接把这个变量写成 \theta^* 。这容易产生一个误解,只要是转动关节,不用参考图3对 \theta 的定义(不计算),直接在DH参数表中写变量\theta^*  。这样的误解忽略了初始位型,求出来的转移矩阵肯定会有问题。

 看一个实际的例子:

图4为球型手腕的基本结构示意图,三个转动关节的原点相同。根据坐标轴建模的顺序,如果轴 Zi-1和轴Zi相交,选择Xi垂直于由Zi-1和Zi组成的平面,轴Xi的方向可以任意选择。根据这一点,上图X4的方向有两种可能的结果。如果直接把关节变量理解成一个待确认的变量,那么可算出以下DH参数: 

 表1 图4(左)DH参数

 表2 图4(右)DH参数

 

很明显两个图算出来的变化矩阵是不一样的,问题就出在关节角度应该考虑初始位型。如果计算一下左图和右图的初始关节角度,就会发现关节角度是不一样的。因此实际的DH参数应该表达为:

表3 图4(左)DH参数

 表4 图4(右)DH参数

 随意代入 \theta_4^*,\theta_5^* 值,计算结果相同,符合DH建模法的描述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值