文章目录
Denavit-Hartenberg方法1.1 修正DH参数——定义关节i的轴为
z
i
z_i
zi轴(最后一个坐标系{n}在关节n处)1.1.1 连杆坐标系定义1.1.2 连杆参数在连杆坐标系中的表示方法1.1.3 建立连杆坐标系的步骤1.1.4 连杆变换的推导
1.2. 标准DH参数——定义关节i的轴为
z
i
−
1
z_{i-1}
zi−1轴(最后一个坐标系{n}在连杆n的末端)1.2.1 连杆坐标系定义1.2.2 连杆参数在连杆坐标系中的表示方法1.2.3 建立连杆坐标系的步骤3.1.2.4 连杆变换的推导
1.3 MDH和SDH两者对比1.3.1 平面3R机器人
Denavit-Hartenberg方法
1.1 修正DH参数——定义关节i的轴为
z
i
z_i
zi轴(最后一个坐标系{n}在关节n处)
1.1.1 连杆坐标系定义
(a) 运动链中间位置连杆坐标系{
i
{i}
i}的定义 固连在连杆i上的固连坐标系称为坐标系{
i
i
i}
O
i
O_i
Oi原点:关节轴i和i+1的交点或关节轴i和i+1公垂线与关节轴i的交点
Z
^
i
\hat{Z}_i
Z^i轴:关节轴
i
i
i
X
^
i
\hat{X}_i
X^i轴:沿
Z
^
i
\hat{Z}_i
Z^i和
Z
^
i
+
1
\hat{Z}_{i+1}
Z^i+1的公垂线
a
i
a_i
ai方向由关节
i
i
i指向关节
i
+
1
i+1
i+1,当
a
i
=
0
a_i=0
ai=0时,
X
^
i
\hat{X}_i
X^i垂直于
Z
^
i
\hat{Z}_i
Z^i和
Z
^
i
+
1
\hat{Z}_{i+1}
Z^i+1所在的平面
Y
^
i
\hat{Y}_i
Y^i轴:根据右手法则确定
α
i
\alpha_i
αi:根据右手定则,绕
X
^
i
\hat{X}_i
X^i轴从
Z
^
i
−
1
\hat{Z}_{i-1}
Z^i−1到
Z
^
i
\hat{Z}_i
Z^i
(b) 运动链首段连杆{
0
0
0}坐标系的定义(
Z
^
0
\hat{Z}_0
Z^0与
Z
^
1
\hat{Z}_1
Z^1同向) 固连于机器人基座(即连杆0)上的坐标系为坐标系{0},该坐标系可做参考坐标系。 设定
Z
^
0
\hat{Z}_0
Z^0沿关节轴1的方向,当关节变量1(
d
1
d_1
d1或
θ
1
\theta_1
θ1)为0时,设定参考坐标系{0}与{1}重合。总有
a
0
=
α
0
=
0
a_0=\alpha_0=0
a0=α0=0,当关节1为移动关节时,
θ
1
=
0
\theta_1=0
θ1=0,当关节1为转动关节时,
d
1
=
0
d_1=0
d1=0
(c) 运动链末端连杆{
n
n
n}坐标系的定义(
X
^
N
\hat{X}_N
X^N和
X
^
N
−
1
\hat{X}_{N-1}
X^N−1同向)
{n}坐标原点选取在
X
^
N
−
1
\hat{X}_{N-1}
X^N−1轴与关节轴n的交点位置,使得
d
n
=
0
d_n=0
dn=0,总有
a
n
=
α
n
=
0
a_n=\alpha_n=0
an=αn=0 对于转动关节n,始终有
d
n
=
0
d_n=0
dn=0,当
θ
n
=
0
\theta_n=0
θn=0时,设定
X
^
N
\hat{X}_N
X^N和
X
^
N
−
1
\hat{X}_{N-1}
X^N−1同向,选取坐标原点位置为
X
^
N
−
1
\hat{X}_{N-1}
X^N−1轴与关节轴n的交点位置。 对于移动关节n,始终有
θ
n
=
0
\theta_n=0
θn=0,当
d
n
=
0
d_n=0
dn=0时,设定
X
^
N
\hat{X}_N
X^N和
X
^
N
−
1
\hat{X}_{N-1}
X^N−1同向,选取坐标原点位置为
X
^
N
−
1
\hat{X}_{N-1}
X^N−1轴与关节轴n的交点位置。
1.1.2 连杆参数在连杆坐标系中的表示方法
如果按照上述方法将两岸坐标系固定于连杆上时,连杆参数可以定义为
a
i
−
1
a_{i-1}
ai−1:沿
X
^
i
−
1
\hat{X}_{i-1}
X^i−1轴,从
Z
^
i
−
1
\hat{Z}_{i-1}
Z^i−1移动到
Z
^
i
\hat{Z}_{i}
Z^i的距离,通常取正值;
α
i
−
1
\alpha_{i-1}
αi−1:绕
X
^
i
−
1
\hat{X}_{i-1}
X^i−1轴,从
Z
^
i
−
1
\hat{Z}_{i-1}
Z^i−1旋转到
Z
^
i
\hat{Z}_{i}
Z^i的角度,采用右手法则判断正负;
d
i
d_i
di:沿
Z
^
i
\hat{Z}_{i}
Z^i轴,从
X
^
i
−
1
\hat{X}_{i-1}
X^i−1移动到
X
^
i
\hat{X}_{i}
X^i的距离;
θ
i
\theta_i
θi:绕
Z
^
i
\hat{Z}_{i}
Z^i轴,从
X
^
i
−
1
\hat{X}_{i-1}
X^i−1旋转到
X
^
i
\hat{X}_{i}
X^i的角度,采用右手法则判断正负;
1.1.3 建立连杆坐标系的步骤
现根据关节轴确定Z轴,再跟相邻关节轴之间的公垂线确定X轴。具体步骤如下:
找出各关节轴, 并标出(或画出)这些轴线的延长线。 在下面的步骤2至步骤5中,仅考虑两个相邻的轴线(关节轴
i
i
i和
i
+
1
i+1
i+1); 找出关节轴
i
i
i和
i
+
1
i+1
i+1之间的公垂线
a
i
a_i
ai或关节轴
i
i
i和
i
+
1
i+1
i+1的交点, 以关节轴
i
i
i和
i
+
1
i+1
i+1的交点或公垂线
a
i
a_i
ai与关节轴
i
i
i的交点作为连杆坐标系{
i
i
i}的原点; 规定
Z
^
i
\hat{Z}_i
Z^i轴沿关节轴i的指向; 规定
X
^
i
\hat{X}_i
X^i轴沿公垂线
a
i
a_i
ai的指向, 如果关节轴i和i+1相交, 则规定
X
^
i
\hat{X}_i
X^i轴垂直于关节轴i和i+1所在的平面; 按照右手定则确定
Y
^
i
\hat{Y}_i
Y^i轴; 当第一个关节变量为 0 时, 规定坐标系{0}和{1}重合。 对于坐标系{N}, 其原点和的
X
^
N
\hat{X}_N
X^N方向可以任意选取。 但是在选取时, 通常尽量使连杆参数为0。
1.1.4 连杆变换的推导
通过定义三个中间坐标系{P},{Q},{R}建立坐标系{i}相对于坐标系{i-1}的变换: {i}沿
Z
^
i
\hat{Z}_i
Z^i平移
d
i
d_i
di得到{P},{P}绕
Z
^
P
\hat{Z}_P
Z^P旋转
θ
i
\theta_i
θi得到{Q},{Q}沿
X
^
Q
\hat{X}_Q
X^Q平移
a
i
−
1
a_{i-1}
ai−1得到{R},{R}绕
X
^
R
\hat{X}_R
X^R旋转
α
i
−
1
\alpha_{i-1}
αi−1得到{i-1}
KaTeX parse error: \tag works only in display equations 其中, KaTeX parse error: \tag works only in display equations
1.2. 标准DH参数——定义关节i的轴为
z
i
−
1
z_{i-1}
zi−1轴(最后一个坐标系{n}在连杆n的末端)
1.2.1 连杆坐标系定义
(a)运动链中间位置连杆坐标系{
i
{i}
i}的定义
Z
^
i
\hat{Z}_i
Z^i轴:关节轴
i
+
1
i+1
i+1
X
^
i
\hat{X}_i
X^i轴:沿轴
z
i
−
1
z_{i-1}
zi−1和轴
z
i
z_i
zi的公垂线
a
i
a_i
ai方向由关节
i
i
i指向关节
i
+
1
i+1
i+1,当
a
i
=
0
a_i=0
ai=0时,即轴
z
i
−
1
z_{i-1}
zi−1和轴
z
i
z_i
zi相交时,
X
^
i
\hat{X}_i
X^i垂直于
Z
^
i
−
1
\hat{Z}_{i-1}
Z^i−1和
Z
^
i
\hat{Z}_{i}
Z^i所在的平面
Y
^
i
\hat{Y}_i
Y^i轴:根据右手法则确定
O
i
O_i
Oi点:在关节
i
+
1
i+1
i+1的轴
Z
i
Z_i
Zi轴与公垂线
a
i
a_i
ai的交点
(b)运动链首段连杆{
0
0
0}坐标系的定义 设定
Z
^
0
\hat{Z}_0
Z^0沿关节轴1的方向,
O
0
O_0
O0和
X
^
0
\hat{X}_0
X^0可以任意选择 (c)运动链末端连杆末端执行器手部{
n
n
n}坐标系的定义 对坐标系{n}而言,由于没有关节n+1,但x_n轴必须与轴
z
n
−
1
z_{n-1}
zn−1垂直,但
z
n
z_n
zn不是唯一定义的,当关节n是转动的,
z
n
z_n
zn依照
z
n
−
1
z_{n-1}
zn−1的方向设置
1.2.2 连杆参数在连杆坐标系中的表示方法
如果按照上述方法将连杆坐标系固定于连杆上时,下标为i的连杆参数可以由坐标系
i
i
i和坐标系
i
−
1
i-1
i−1的位置和方向定义为
a
i
a_{i}
ai:沿
X
^
i
\hat{X}_{i}
X^i轴,从
Z
^
i
−
1
\hat{Z}_{i-1}
Z^i−1移动到
Z
^
i
\hat{Z}_{i}
Z^i的距离,Link_i的长度,通常取正值;
α
i
\alpha_{i}
αi:绕
X
^
i
\hat{X}_{i}
X^i轴,从
Z
^
i
−
1
\hat{Z}_{i-1}
Z^i−1旋转到
Z
^
i
\hat{Z}_{i}
Z^i的角度,采用右手法则判断正负;
d
i
d_i
di:沿
Z
^
i
−
1
\hat{Z}_{i-1}
Z^i−1轴,从
X
^
i
−
1
\hat{X}_{i-1}
X^i−1移动到
X
^
i
\hat{X}_{i}
X^i的距离,即
x
i
−
1
x_{i-1}
xi−1和
x
i
x_i
xi与
z
i
−
1
z_{i-1}
zi−1轴交点的距离;
θ
i
\theta_i
θi:绕
Z
^
i
−
1
\hat{Z}_{i-1}
Z^i−1轴,从
X
^
i
−
1
\hat{X}_{i-1}
X^i−1旋转到
X
^
i
\hat{X}_{i}
X^i的角度,采用右手法则判断正负;
4 个参数中有2 个(
a
i
a_i
ai和
α
i
\alpha_i
αi〉始终为常数,只取决于由连杆i建立的相继关节之间的几何连接关系。其他两个参数中只有一个是变量,取决于连接连杆i-1 和连杆i 的关节的类型。详述如下:
如果关节i 是转动型的, 则变最为
θ
i
\theta_i
θi。如果关节i 是移动型的,则变量为
d
i
d_i
di。
1.2.3 建立连杆坐标系的步骤
3.1.2.4 连杆变换的推导
i
i
−
1
T
(
q
i
)
=
R
Z
(
θ
i
)
D
Z
(
d
i
)
R
Z
(
α
i
)
D
X
(
a
i
)
=
[
c
θ
i
−
s
θ
i
0
0
s
θ
i
c
θ
i
0
0
0
0
1
d
i
0
0
0
1
]
[
1
0
0
a
i
0
c
α
i
−
s
α
i
0
0
s
α
i
c
α
i
0
0
0
0
1
]
=
[
c
θ
i
−
s
θ
i
c
α
i
s
θ
i
s
α
i
a
i
c
θ
i
s
θ
i
c
θ
i
c
α
i
−
c
θ
i
s
α
i
a
i
s
θ
i
0
s
α
i
c
α
i
d
i
0
0
0
1
]
\begin{aligned} _i^{i-1}T(q_i)&=R_Z(\theta_i)D_Z(d_i)R_Z(\alpha_{i})D_X(a_{i})\\ & \left.=\quad\left[\begin{array}{cccc}c_{\theta_i} & -s_{\theta_i} & 0 & 0 \\ s_{\theta_i} & c_{\theta_i} & 0 & 0 \\ 0 & 0 & 1 & d_i \\ 0 & 0 & 0 & 1\end{array}\right.\right] \ \left[\begin{array}{cccc}1 & 0 & 0 & a_i \\ 0 & c_{\alpha_i} & -s_{\alpha_i} & 0 \\ 0 & s_{\alpha_i} & c_{\alpha_i} & 0 \\ 0 & 0 & 0 & 1\end{array}\right] \\ & \left.=\quad\left[\begin{array}{cccc}c_{\theta_i} & -s_{\theta_i}c_{\alpha_i} & s_{\theta_i}s_{\alpha_i} & a_ic_{\theta_i} \\ s_{\theta_i} & c_{\theta_i}c_{\alpha_i} & -c_{\theta_i}s_{\alpha_i} & a_is_{\theta_i} \\ 0 & s_{\alpha_i} & c_{\alpha_i} & d_i \\ 0 & 0 & 0 & 1\end{array}\right.\right]\end{aligned}
ii−1T(qi)=RZ(θi)DZ(di)RZ(αi)DX(ai)=
cθisθi00−sθicθi00001000di1
10000cαisαi00−sαicαi0ai001
=
cθisθi00−sθicαicθicαisαi0sθisαi−cθisαicαi0aicθiaisθidi1
从坐标系 i 到坐标系i - 1 的变换矩阵是一个只与关节变量
q
i
q_i
qi有关的函数,如果是 转动关节则变量为
θ
i
\theta_i
θi, 如果是移动关节则变量为
d
i
d_i
di。
1.3 MDH和SDH两者对比
1.3.1 平面3R机器人
标准DH参数
修正DH参数 待补充
好文推荐
发表评论