在本章中,我们开始解决这些问题。首先,我们讨论了机器人构型的确切含义,并介绍了构型空间的概念,这是机器人运动规划中最重要的概念之一。然后我们简要讨论机器人环境中的障碍物是如何限制可行路径的集合的。然后,我们开始对构型空间的性质进行更严格的研究,包括它的维数,它有时如何用可微流形表示,以及流形如何用嵌入和参数化表示。最后我们将讨论构型的不同表示之间的映射以及这些映射的雅可比矩阵,即用不同的表示方法把速度联系起来。
3.1 Specifying a Robot's Configuration
机器人系统的configuration是系统每一点位置的complete specification。机器人的configuration space(或C-space)是系统所有可能构型构成的空间。因此,构型只是抽象的构型空间中的一个点。本书中用\(\color{green}{q}\)表示构型,用\(\color{green}{\mathcal{Q}}\)表示构型空间。一个机器人系统的自由度的数量就是构型空间的维度,或者说是用于指定构型所需的最少的参数的个数。
以平面内可以任一平移(无需旋转)的圆形移动机器人为例,一个比较简单的表示机器人构型的方法就是确定其中心关于某个固定坐标系所在的位置\((x, y)\)。如果知道机器人的半径\(r\),就可以很容易地从构型\(q = (x, y)\)确定机器人占据的点集,我们用\(R(q)\)来表示这个点集。当我们把构型定义为\(q = (x, y)\)时,我们有\(R(x, y) = \{ (x', y') \mid (x - x')^2 + (y- y')^2 \le r^2 \}\)。其中,参数\(x\)和\(y\)足以完全确定圆形机器人的构型。因此,一旦确定了平面内的坐标系,就可以用\(\mathbb{R}^2\)来描述圆形移动机器人的构型。
机器人在二维或三维欧几里得环境空间(分别表示为\(\mathbb{R}^2\)和\(\mathbb{R}^3\))中移动时,有时我们会把这个环境空间称为workspace。其他时候,我们对"workspace"会有一个更具体的含义。比如,对于机械臂,我们一般把手部或末端执行器(end effector)上的点到达的环境空间点的集合称为工作空间(图3.3)。对于上述平移的移动机器人,工作空间和构型空间都是二维欧几里得空间,但要注意它们其实是不同的空间。下面我们考虑稍微复杂一点的机器人时,这点会体现得更清楚。