Modern Robotics串联机器人常见的奇异构型
奇异点的数学定义
机器人末端执行器失去瞬间向一个或多个方向移动的能力时的姿态称为运动学奇异点(kinematic singularity), 或简称奇异点(singularity)。雅可比矩阵使我们能够识别的奇异点。从数学角度看,一个奇异点在雅可比
J
b
(
θ
)
J_b(\theta)
Jb(θ)不能达到最大秩的构型。考虑物体雅可比,列用
J
b
i
,
i
=
1
,
.
.
.
,
n
J_{bi},i=1,...,n
Jbi,i=1,...,n表示,那么有
V
b
=
[
J
b
1
(
θ
)
⋯
J
b
n
−
1
(
θ
)
J
b
n
]
[
θ
˙
1
⋮
θ
˙
n
−
1
θ
˙
n
]
=
J
b
1
(
θ
)
θ
˙
1
+
⋯
+
J
b
n
−
1
(
θ
)
θ
˙
n
−
1
+
J
b
n
θ
˙
n
\mathcal V_{b}=\left[\begin{matrix} J_{b1}(\theta)& \cdots&J_{bn-1}(\theta)&J_{bn}\end{matrix} \right] \left[\begin{matrix} \dot \theta_1\\ \vdots \\ \dot\theta_{n-1}\\ \dot\theta_n \end{matrix}\right]\\ =J_{b1}(\theta)\dot\theta_1+\cdots+J_{bn-1}(\theta)\dot\theta_{n-1}+J_{bn}\dot\theta_n
Vb=[Jb1(θ)⋯Jbn−1(θ)Jbn]⎣⎢⎢⎢⎡θ˙1⋮θ˙n−1θ˙n⎦⎥⎥⎥⎤=Jb1(θ)θ˙1+⋯+Jbn−1(θ)θ˙n−1+Jbnθ˙n
因此末端坐标系的旋量是雅可比矩阵的列
J
b
i
J_{bi}
Jbi的线性组合.只有
n
≥
6
n\ge 6
n≥6,雅可比
J
b
(
θ
)
J_b(\theta)
Jb(θ)的最大秩就是6.
奇异点与选择物体雅可比还是空间雅可比无关,与固定坐标系和物体坐标系的选择也无关。因为物体雅可比和空间雅可比之间是伴随映射段关系,
J
s
(
θ
)
=
A
d
T
s
b
(
J
b
(
θ
)
)
=
[
A
d
T
s
b
]
J
b
(
θ
)
J_s(\theta)=Ad_{T_{sb}}(J_b(\theta))=[Ad_{T_{sb}}]J_b(\theta)
Js(θ)=AdTsb(Jb(θ))=[AdTsb]Jb(θ), 即
J
s
(
θ
)
=
[
R
s
b
0
[
p
s
b
]
R
s
b
R
s
b
]
J
b
(
θ
)
.
J_s(\theta)=\left[\begin{matrix} R_{sb}&0\\ [p_{sb}]R_{sb}&R_{sb} \end{matrix}\right]J_{b}(\theta).
Js(θ)=[Rsb[psb]Rsb0Rsb]Jb(θ).
由于
[
A
d
T
s
b
]
[Ad_{T_{sb}}]
[AdTsb]总是可逆的,因此
J
b
(
θ
)
J_b(\theta)
Jb(θ)和
J
b
(
θ
)
J_b(\theta)
Jb(θ)的秩总是相等的。
6*度串联机器人常见的奇异构型
下面我们列出由旋转关节(revolute joint)和平移关节(prismatic joint)组成的6*度串联机械臂常见的奇异构型。
(1)两个旋转关节共线
若存在两个关节轴线共线,我们把这两个关节编号为1和2,对应的雅可比的列为
J
s
1
(
θ
)
=
[
ω
s
1
−
ω
s
1
×
q
1
]
,
J
s
2
(
θ
)
=
[
ω
s
2
−
ω
s
2
×
q
2
]
.
J_{s1}(\theta)=\left[\begin{matrix} \omega_{s1}\\ -\omega_{s1}\times q_1 \end{matrix}\right], J_{s2}(\theta)=\left[\begin{matrix} \omega_{s2}\\ -\omega_{s2}\times q_2 \end{matrix}\right].
Js1(θ)=[ωs1−ωs1×q1],Js2(θ)=[ωs2−ωs2×q2].
由于两个关节轴线是共线的,必有
ω
s
1
=
±
ω
s
2
\omega_{s1}=\pm \omega_{s2}
ωs1=±ωs2,我们不妨取
ω
s
1
=
ω
s
2
\omega_{s1}= \omega_{s2}
ωs1=ωs2 同时对任意i,
ω
s
i
×
(
q
1
−
q
2
)
=
0
\omega_{si}\times (q_1-q_2)=0
ωsi×(q1−q2)=0, 因此有
J
s
1
=
J
s
2
J_{s1}=J_{s2}
Js1=Js2 。列向量
{
J
s
1
,
J
s
2
,
…
,
J
s
6
}
\{J_{s1},J_{s2},\dots,J_{s6}\}
{Js1,Js2,…,Js6}不可能线性无关,因此,
J
s
(
θ
)
J_s(\theta)
Js(θ)的秩必定小于6. 对应后面的几种情形,同样可以用雅可比矩阵进行辨别出其奇异性。
(2)3个旋转关节轴线共面且平行
(3)4个旋转关节轴线相交于同一点
(4)四个旋转关节轴线共面
(5)6个关节轴线相交于同一条线
小结
在机器人控制上来说,就意味着,一旦出现奇异,你就不能随意控制你的机器人朝着你想要的方向前进了。这也就是前面所谓的*度退化、逆运动学无解。
解决办法:
1.在规划路径中尽可能的避免机器人经过奇异点。
2.结合机器人运动学,优化机器人反解算法,确保在奇异点附近伪逆解的稳定性 。
参考资料
[1] Kenvin M. Lynch , Frank C. Park, Modern Robotics Mechanics,Planning , and Control. May 3, 2017
[2] https://blog.csdn.net/qq_19390445/article/details/86480421