赞
踩
一般而言,机器人均采用仅有一个自由度的连杆,在极少数情况下,会采用自由度为n的连杆,在此时,可以将之视为n个自由度为1,长度为0的连杆相连接而成,所以以下针对自由度为1的连杆的讨论可以在不失一般性的前提下完成。
首先从操作臂的基座开始,将其命名为连杆0,第一个可动连杆为连杆1,最后一个可动连杆为连杆n。为了使末端执行器顺利到达位置,机械臂一般需要最少6个关节(这是显然的,因为空间中的一个位置描述需要六个参数)。
那么,如何确定一个连杆的运动情况呢?答:只需要确定连接该连杆的两个关节轴的相对位置关系就可以了!如图:
在三维空间之中,最一般的情况下,可以将两个轴视作两条异面直线,在空间中,确认两条异面直线之间的关系只需要两个参数(可以参考在平面中,确定两条直线之间的关系仅需要知道它们之间的夹角)。
但如果有多个连杆的话,仅仅知道每个轴的位置关系是不够的,还需要知道连杆之间的相对位置关系,我们定义两相邻连杆公共轴线方向间的距离为连杆偏距,连杆偏距为
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}} XN−1^轴方向一致,原点设置使得 d n = 0 d_n=0 dn=0,对于移动关节n,设定 X N ^ \hat{X_N} XN^轴方向使之与 X N − 1 ^ \hat{X_{N-1}} XN−1^轴方向一致。
这样设定坐标系的好处是:
接下来,我们想要建立从连杆0到连杆n位置的推导,对于任意机器人系统来说,上述4个参数只有一个是变量,另外三个参数是由机械系统所决定的。通过为每一个连杆建立坐标系,我们将整个问题分解为n个子问题,即
i
i
−
1
T
^{i-1}_iT
ii−1T,首先,我们为连杆定义三个中间坐标系:P,Q,R。
如上图,R坐标系与坐标系i-1的区别在于旋转了
α
i
−
1
\alpha_{i-1}
αi−1,Q坐标系和R坐标系的区别在于位移
a
i
−
1
a_{i-1}
ai−1,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
i−1P=Ri−1TQRT⋅PQT⋅iPT⋅iP
即:
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
i−1P=ii−1T⋅iPii−1T=Ri−1TQRT⋅PQT⋅iPT
考虑每个变换矩阵,有:
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)
ii−1T=RX(αi−1)DX(ai−1)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=
机器人学导论这本书讲的是改进DH描述,然而接下来要使用的UR16e机械臂使用的是经典DH参数表。
标准DH参数和改进DH参数的区别主要在于坐标系的建立上,标准坐标系建立在link末端, Z i Z_i Zi轴沿关节轴i+1的轴向,原点 O i O_i Oi是 Z i − 1 Z_{i-1} Zi−1轴与 Z i Z_i Zi轴的交线或公垂线和关节轴 Z i Z_i Zi轴的交点。 X i X_i Xi轴沿 Z i − 1 Z_{i-1} Zi−1轴的轴线方向 Z i Z_i Zi轴的公垂线方向,由关节轴i指向关节轴i+1。
由此得到的旋转矩阵为:
i
i
−
1
T
=
(
c
o
s
θ
i
−
s
i
n
θ
i
c
o
s
α
i
0
a
i
c
o
s
θ
i
s
i
n
θ
i
c
o
s
θ
i
c
o
s
α
i
−
s
i
n
α
i
c
o
s
θ
i
a
i
s
i
n
θ
i
0
s
i
n
α
i
c
o
s
α
i
d
i
0
0
0
1
)
^{i-1}_iT=
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。