QiuQiu

Robotics - Spaces

关节空间, 任务空间..

机器人里说的空间, 本质是在描述:

名称 描述什么 典型变量
电机/执行器空间 电机自身状态 编码器读数、电机转角、电流
关节空间 各关节的位置 (q=[q_1,\dots,q_n])
构型空间(C - space) 机器人完整姿态 (q\in\mathcal C)
笛卡尔空间 三维位置或位姿 ((x,y,z))、(T\in SE(3))
任务空间 完成任务所关心的变量 夹爪位姿、距离、注视点等
工作空间 机器人实际能够到达的区域 可达位置/位姿的集合
状态空间 预测系统未来需要的完整状态 (s=(q,\dot q,\dots))
观测空间 传感器实际提供的数据 图像、深度、编码器读数
动作空间 控制器能够输出的命令 位置、速度、力矩等

Configuration space

构型空间是比关节空间更一般的概念:

一个点能够完整描述机器人所有可运动部分的姿态,那么所有这些点组成的集合就是构型空间。

对于固定底座的普通六轴机械臂:

C≈关节空间

因为六个关节角就足以描述机器人。

但对于移动机器人或者人形机器人,构型还需要包括机器人底座的位置和姿态:

q=[xb​,yb​,θb​,q1​,…,qn​​]

对于自由漂浮机器人,可能是:

q=(Tbase​,qjoints​)∈SE(3)×Rn

所以:

在固定机械臂中,两者经常被混用。

运动规划尤其喜欢用 C-space

现实中的障碍物可以转换成构型空间中的禁止区域:

Cfree​=C∖Cobstacle​

规划算法不是直接问“夹爪有没有撞墙”,而是寻找一条构型轨迹:

q(t)∈Cfree​

这就是 RRT、PRM 等算法常说的 configuration-space planning。