机器人学笔记(2)正运动学

机器人学笔记(2)正运动学

改进DH描述(MDH)

一般而言,机器人均采用仅有一个自由度的连杆,在极少数情况下,会采用自由度为n的连杆,在此时,可以将之视为n个自由度为1,长度为0的连杆相连接而成,所以以下针对自由度为1的连杆的讨论可以在不失一般性的前提下完成。

首先从操作臂的基座开始,将其命名为连杆0,第一个可动连杆为连杆1,最后一个可动连杆为连杆n。为了使末端执行器顺利到达位置,机械臂一般需要最少6个关节(这是显然的,因为空间中的一个位置描述需要六个参数)。

那么,如何确定一个连杆的运动情况呢?答:只需要确定连接该连杆的两个关节轴的相对位置关系就可以了!如图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tZVWRtRS-1661237186924)(C:\Users\10102\AppData\Roaming\Typora\typora-user-images\image-20220820145054146.png)]

在三维空间之中,最一般的情况下,可以将两个轴视作两条异面直线,在空间中,确认两条异面直线之间的关系只需要两个参数(可以参考在平面中,确定两条直线之间的关系仅需要知道它们之间的夹角)。

但如果有多个连杆的话,仅仅知道每个轴的位置关系是不够的,还需要知道连杆之间的相对位置关系,我们定义两相邻连杆公共轴线方向间的距离为连杆偏距,连杆偏距为 d i d_i di,用另一个参数表示连杆沿公共轴线的夹角,为 θ i \theta_i θi,如下图。
在这里插入图片描述

当然,对于初始连杆和末端连杆这样的特殊情况,如果关节1为转动关节,则 θ 1 \theta_1 θ1的零位可以任取,并且此时 d 1 = 0 d_1=0 d1=0,如果关节1是移动关节, d 1 d_1 d1的零位可以任取,而 θ 1 = 0 \theta_1=0 θ1=0,这样的设置和关节n相同。

连杆附加坐标系的建立

为了描述连杆间相对的位置关系,需要在每个连杆上固定坐标系,我们将固连在连杆i上的坐标系称为坐标系i。

对于中间连杆,将坐标系i的 Z Z Z轴称为 Z i Z_i Zi,并且 Z i Z_i Zi轴与轴线 i i i方向重合。原点位于轴线 i i i和中垂线的交点处, X i X_i Xi沿 a i a_i ai方向有关节i指向关节i+1。

a i = 0 a_i=0 ai=0时, X i X_i Xi垂直于 Z i Z_i Zi Z i + 1 Z_{i+1} Zi+1所在的平面。按右手定则绕 X i X_i Xi轴的转角为 α i \alpha_i αi,由于 X i X_i Xi轴的取向有两轴,所以转角 α i \alpha_i αi的符号也可以去两种。
在这里插入图片描述

固连于机械臂基座上的坐标系为坐标系0,这个坐标系一般而言是不动的,一般可以把这个当成基座来研究,被称为参考坐标系。参考坐标系的坐标轴可以任意设定,通常将轴1的方向(只有连杆0,没有轴0)设为 Z 0 ^ \hat{Z_0} Z0^,当关节变量1为0时,坐标系0与坐标系1相重合,按照这个规定的话,则恒有: a 0 = 0 , α 0 = 0 a_0=0,\alpha_0=0 a0=0,α0=0,当关节1为移动关节时,有 θ 0 = 0 \theta_0=0 θ0=0,当关节1为转动关节时,有 d 0 = 0 d_0=0 d0=0

对于转动关节n(即最后一个link),设定 θ n = 0 \theta_n=0 θn=0。此时 X N ^ \hat{X_N} XN^轴与 X N − 1 ^ \hat{X_{N-1}} XN1^轴方向一致,原点设置使得 d n = 0 d_n=0 dn=0,对于移动关节n,设定 X N ^ \hat{X_N} XN^轴方向使之与 X N − 1 ^ \hat{X_{N-1}} XN1^轴方向一致。

这样设定坐标系的好处是:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-haamu272-1661237186926)(img_library/机器人学笔记(2)]正运动学/image-20220821145024051.png)

操作臂正运动学

接下来,我们想要建立从连杆0到连杆n位置的推导,对于任意机器人系统来说,上述4个参数只有一个是变量,另外三个参数是由机械系统所决定的。通过为每一个连杆建立坐标系,我们将整个问题分解为n个子问题,即 i i − 1 T ^{i-1}_iT ii1T,首先,我们为连杆定义三个中间坐标系:P,Q,R。
在这里插入图片描述

如上图,R坐标系与坐标系i-1的区别在于旋转了 α i − 1 \alpha_{i-1} αi1,Q坐标系和R坐标系的区别在于位移 a i − 1 a_{i-1} ai1,Q坐标系与P坐标系的区别在于旋转了 θ i \theta_i θi,P坐标系与i坐标系的区别在于平移了 d i d_i di。如果要把在坐标系i中定义的矢量转换为在坐标系i-1上定义的矢量,这样的变换矩阵可以写成:
i − 1 P = R i − 1 T Q R T ⋅ P Q T ⋅ i P T ⋅ i P ^{i-1}P=^{i-1}_RT^R_QT\cdot^Q_PT\cdot^P_iT\cdot^{i}P i1P=Ri1TQRTPQTiPTiP
即:
i − 1 P = i i − 1 T ⋅ i P i i − 1 T = R i − 1 T Q R T ⋅ P Q T ⋅ i P T ^{i-1}P=^{i-1}_iT\cdot^{i}P\\ ^{i-1}_iT=^{i-1}_RT^R_QT\cdot^Q_PT\cdot^P_iT i1P=ii1TiPii1T=Ri1TQRTPQTiPT
考虑每个变换矩阵,有:
i i − 1 T = R X ( α i − 1 ) D X ( a i − 1 ) R Z ( θ i ) D z ( d i ) ^{i-1}_iT=R_X(\alpha_{i-1})D_X(a_{i-1})R_Z(\theta_i)D_z(d_i) ii1T=RX(αi1)DX(ai1)RZ(θi)Dz(di)
连乘后,有:
i i − 1 T = ( c o s θ i − s i n θ i 0 a i − 1 s i n θ i c o s α i − 1 c o s θ i c o s α i − 1 − s i n α i − 1 − s i n α i − 1 d i s i n θ i s i n α i − 1 c o s θ i s i n α i − 1 c o s α i − 1 c o s α i − 1 d i 0 0 0 1 ) ^{i-1}_iT=\begin{pmatrix} cos\theta_i&-sin\theta_i&0&a_{i-1}\\ sin\theta_icos\alpha_{i-1}&cos\theta_icos\alpha_{i-1}&-sin\alpha_{i-1}&-sin\alpha_{i-1}d_i\\ sin\theta_isin\alpha_{i-1}&cos\theta_isin\alpha_{i-1}&cos\alpha_{i-1}&cos\alpha_{i-1}d_i\\ 0&0&0&1 \end{pmatrix} ii1T= cosθisinθicosαi1sinθisinαi10sinθicosθicosαi1cosθisinαi100sinαi1cosαi10ai1sinαi1dicosαi1di1

经典DH描述(SDH)

机器人学导论这本书讲的是改进DH描述,然而接下来要使用的UR16e机械臂使用的是经典DH参数表。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DFSX6vCP-1661237186926)(img_library/机器人学笔记(2)]正运动学/image-20220821164626640.png)

标准DH参数和改进DH参数的区别主要在于坐标系的建立上,标准坐标系建立在link末端, Z i Z_i Zi轴沿关节轴i+1的轴向,原点 O i O_i Oi Z i − 1 Z_{i-1} Zi1轴与 Z i Z_i Zi轴的交线或公垂线和关节轴 Z i Z_i Zi轴的交点。 X i X_i Xi轴沿 Z i − 1 Z_{i-1} Zi1轴的轴线方向 Z i Z_i Zi轴的公垂线方向,由关节轴i指向关节轴i+1。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FXZNa7nR-1661237186927)(img_library/机器人学笔记(2)]正运动学/image-20220821165806319.png)

由此得到的旋转矩阵为:
i i − 1 T = ( c o s θ i − s i n θ i c o s α i 0 a i − 1 s i n θ i c o s θ i c o s α i − s i n α i c o s θ i s i n θ i a i 0 s i n α i c o s α i c d i 0 0 0 1 ) ^{i-1}_iT=\begin{pmatrix} cos\theta_i&-sin\theta_icos\alpha_{i}&0&a_{i-1}\\ sin\theta_i&cos\theta_icos\alpha_{i}&-sin\alpha_{i}cos\theta_i&sin\theta_{i}a_i\\ 0&sin\alpha_{i}&cos\alpha_{i}&cd_i\\ 0&0&0&1 \end{pmatrix} ii1T= cosθisinθi00sinθicosαicosθicosαisinαi00sinαicosθicosαi0ai1sinθiaicdi1

猜你喜欢

转载自blog.csdn.net/weixin_44718107/article/details/126484889