7.1.0 前言
通过正运动学的学习,我们学习了如何通过已知关节变量求得末端执行器坐标系的位置和姿态。换句话说,正运动学矩阵可以用来推导机器人任意连杆坐标系的位置和姿态。由于机器人上的每个连杆都可以看成是一个绝对刚体,因此如果给定了关节参数,正运动学矩阵也可以用来求得机器人上任意一点的位置姿态。在本章节中,所有可能的位形全体被叫做位形空间,用 Q \mathcal{Q} Q表示。 q q q 来表达在关节空间的其中一个位形。
7.1.1 位形空间的表达
对于一个单关节旋转臂,关节空间就是该连杆臂的所有可能姿态的集合,表示成 Q = S 1 \mathcal{Q}=S^{1} Q=S1 , S 1 S^{1} S1 代表一个单位圆。它也可以表示成 Q = S O ( 2 ) . \mathcal{Q}=S O(2) . Q=SO(2). 两种表达意思一样。我们还可以用 θ 1 \theta_{1} θ1 来表达其中一个位形。对于两连杆平面臂,我们可以用 Q = S 1 × S 1 = T 2 \mathcal{Q}=S^{1} \times S^{1}=T^{2} Q=S1×S1=T2 来表达位形空间,用 q = ( θ 1 , θ 2 ) q=\left(\theta_{1}, \theta_{2}\right) q=(θ1,θ2) 来表达其中一个位形。类似的,对于一个笛卡尔机械臂(具备xyz三个自由度的机械臂)可以用 Q = ℜ 3 \mathcal{Q}=\Re^{3} Q=ℜ3 表示位形空间,用 q = ( d 1 , d 2 , d 3 ) = ( x , y , z ) \boldsymbol{q}=\left(d_{1}, d_{2}, d_{3}\right)=(x, y, z) q=(d1,d2,d3)=(x,y,z) 表示其中一个位形。
尽管我们常选择用关节变量组成的向量来表达一个位形,但是位形的表达方式其实还有很多。
如果机器人在运动过程中触碰到了障碍物,碰撞就出现了。为了描述碰撞,我们引进一些额外的表达。我们将用
A
\mathcal{A}
A 表示我们的机器人,
A
(
q
)
\mathcal{A}(\boldsymbol{q})
A(q) 表示机器人在关节为
q
\boldsymbol{q}
q时机器人能达到的一个位形。
O
i
\mathcal{O}_{i}
Oi 表示障碍物,
W
\mathcal{W}
W 表示工作空间。要规划一个避障路径,我们必须确保机器人不会到达任何一个可能会接触到障碍物的位形。所有会接触到障碍物的位形集合叫做障碍物位形空间,定义为
Q
O
=
{
q
∈
Q
∣
A
(
q
)
∩
O
≠
∅
}
\mathcal{Q O}=\{\boldsymbol{q} \in \mathcal{Q} \mid \mathcal{A}(\boldsymbol{q}) \cap \mathcal{O} \neq \emptyset\}
QO={q∈Q∣A(q)∩O=∅}
这里
O
=
∪
O
i
\mathcal{O}=\cup \mathcal{O}_{i}
O=∪Oi 代表所有障碍物的集合,进一步的,我们可以定义无障碍位形空间
Q
free
=
Q
\
Q
O
\mathcal{Q}_{\text {free }}=\mathcal{Q} \backslash \mathcal{Q O}
Qfree =Q\QO
考虑一个具有龙门结构的机器人(有两个平动关节分别控制着末端执行器的x y位移),这样的机器结构的正运动学关系十分简单:
此时该机器人的位形空间表示为:
其位形空间里面的障碍区也很容易描述。现在我们看下面一个例子(先考虑平面情况,并且假设整个机器人结构只有末端执行器跟障碍物在一个平面)
例7.1 一个三角形刚体在一个有长方形障碍物的二维空间运动
可以在图(b)清楚的看到障碍位形空间就是六边形中间的所有位形。(这里假设了三角形姿态不变的情况)
接下来我们看看怎么用数学表达式来表示上述障碍位形空间,首先我们用
来表达垂直于机器人(也就是例子里面的三角形)第i个边的向量,用
来表达垂直于障碍物(也就是例子里面的长方形)第i个边的向量,定义向量
为机器人的坐标系到机器人末端执行器(三角形)第i个顶点的向量
为世界坐标系原点到障碍物第i个顶点的向量,有了上述定义之后便产生以下结论(说得很抽象,不看也没关系):
这两句话基本告诉了我们怎么找到(b)里面六边形障碍位形的顶点位置,换句话说,拿着三角形绕着长方形走一圈我们就能直观的找到障碍位形空间。
如果我们有多个障碍,各个障碍位形子空间的集合就是总的障碍位形空间。对于非凸面障碍,我们需要把他们分解或者合成凸面障碍再进行分析。
对于具有转动关节的机械结构,障碍位形空间的寻找要更加复杂。考虑下图(a)所示的一个二连杆平面机械臂,有一个障碍物黑点在机械臂上方
例7.2 RR机械臂在一个有黑色障碍点的二维空间运动
图(b)黄色部分是它障碍位形空间,可以发现仅仅一个2自由度的结构,其位形空间就变得如此复杂和抽象。我们来分析下这个结构,假设横轴代表了θ1,竖轴代表了θ2,我们把黄色障碍位形空间分成三个部分,两个小尖尖加中间一个长方形。
- 当θ1接近90°时,连杆1碰撞到障碍,无论θ2取值多少,link1与障碍物的碰撞一直存在。于是图(b)中就出现了一个贯穿整个θ2值的长方形开始
- 当θ1小于90°,但是还未碰到障碍时,θ2从0增长到一定程度时link2会碰到障碍物,因此出现了长方形发左边的小尖尖
- 当θ1大于90°,但是还未碰到障碍时,θ2从0减少到一定程度时就令link2碰到障碍物,θ2再大就碰不到了,因此出现了右边的小尖尖
由此我们简单窥探出随着自由度的增加,以及关节种类的复杂化,位形空间里的障碍描述也会变得更加复杂。
路径规划问题就是找到一个从初始位置到终点位置且不碰撞到障碍物的路径。用数学表达就是:
下面的章节我们将会研究路径规划问题,并在第八章研究如何把离散的路径点变成连续顺滑的运动策略。
参考引用
翻译自《robot dynamics and control》
作者:Mark W Spong,Seth Hutchinson, and M. Vidyasagar