它可以以多少种方式运动?
自由度:运动的几何学
自由度(DOF)是一个对象可以独立运动的一种方式。理解自由度是理解机器人如何与空间相互作用的第一步。
三维空间中的位置需要3个自由度:x(左/右)、y(前/后)、z(上/下)。空间中的一个点有3个自由度。
方向再增加3个:滚转(围绕前向轴的旋转)、俯仰(围绕侧向轴的旋转)、偏航(围绕竖直轴的旋转)。刚体在空间中有6个自由度:3个位置+3个方向。
机器人臂&自由度:
- 6轴关节臂(如工业机器人)有6个关节,每个关节增加1个自由度。有6个自由度,末端执行器可以在工作空间内到达任何位置和方向:它具有完全的空间自由度。
- 4轴SCARA机器人有4个自由度:它可以在平面内的任何地方定位并旋转,但无法倾斜其工具。适合在平面上进行拾取和放置。
- 3轴笛卡尔/门式机器人有3个自由度:它可以在盒形体积内的任何地方定位,但无法定向其工具。适合3D打印机。
超过6个自由度:7轴机器人是冗余的:它的自由度多于完全空间定位所需的自由度。额外的自由度使其能够绕过障碍物到达,就像人的手臂伸到东西后面。冗余是一个几何优势。
自由度与任务要求
工厂需要一个机器人来完成三个不同的任务:(A)在汽车车身面板上的三维曲线路径上分配胶水、(B)从传送带上拾取芯片并将其放置在平面电路板上、&(C)从多个角度焊接复杂的三维接头。
机器人几何的两个方向
运动学:运动中的几何学
运动学是研究不考虑力的运动。在机器人学中,它是纯几何学:关节角度和末端执行器位置之间的关系。
正运动学(FK):给定所有关节角度→计算末端执行器的位置&方向。这是'简单'的方向。
对于2连杆平面臂:如果关节1处于角度θ₁,关节2处于角度θ₂,链接长度为L₁和L₂,则末端执行器位置为:
- x = L₁ cos(θ₁) + L₂ cos(θ₁ + θ₂)
- y = L₁ sin(θ₁) + L₂ sin(θ₁ + θ₂)
对于6轴臂,FK使用齐次变换矩阵的链:每个关节贡献一个4×4矩阵,编码旋转和平移。将所有六个矩阵相乘在一起以获得末端执行器姿态。这是机械的但总是产生唯一的答案。
逆运动学(IK):给定期望的末端执行器位置&方向→计算实现它的关节角度。这是'困难'的方向。
IK很困难是因为:
- 多个解:6轴臂通常可以用多个配置到达同一点(肘部向上vs肘部向下,手腕翻转vs不翻转)。可能有8个或更多有效解。
- 无解:如果目标在工作空间外,没有关节角度有效。
- 奇异性:在某些姿态下,两个关节轴对齐,机器人失去一个自由度:如万向锁。在奇异性附近,小笛卡尔运动需要巨大的关节速度。
逆运动学:为什么这很困难?
考虑一个简单的2连杆平面臂,L₁ = L₂ = 1米。末端执行器需要到达点(1.0, 1.0)。
从基座到目标的距离是sqrt(1² + 1²) = sqrt(2) ≈ 1.414 m。由于L₁ + L₂ = 2 m > 1.414 m,该点是可到达的。
可达性的形状
工作空间:机器人可以到达的几何体积
工作空间范围是末端执行器可以到达的所有点的集合。其形状完全取决于机器人的几何结构。
关节臂(6轴):工作空间大致是一个空心球体。外边界是最大到达距离(所有链接伸展)。内边界存在是因为臂不能足够地向后折叠以到达靠近底座的点。横截面看起来像甜甜圈(圆环)。
SCARA:工作空间是一个圆柱体。臂水平扫过(产生圆形横截面),Z轴垂直移动。结果是一个平的圆柱体积:水平到达范围广,垂直方向有限。
笛卡尔/门式:工作空间是一个矩形盒子。每个轴沿一个维度线性移动。简单、可预测、易于编程:但笨重,因为机器人必须与其工作空间一样大。
工作空间中的奇异性:在某些姿态下,机器人失去一个自由度。完全伸展的关节臂(在其工作空间的外边界)处于奇异性:它无法进一步向外移动末端执行器。当两个腕部关节轴对齐时发生腕部奇异性。在奇异性处,雅可比矩阵失去秩,机器人的有效自由度暂时减少。
灵巧工作空间vs可达工作空间:可达工作空间是末端执行器可以用至少一个方向到达的地方。灵巧工作空间是它可以实现任意方向的地方。灵巧工作空间总是可达工作空间的子集:并且通常小得多。
按工作空间选择机器人
工厂车间有三个工作站排列成L形。工作站A在左边,工作站B在正前方,工作站C在右边并略高(高300毫米)。机器人必须从A拾取零件,在B进行操作,并将完成的零件放置在C:所有这些都是从单个安装位置进行。
构型空间:机器人的抽象几何
构型空间:运动规划发生的地方
构型空间(C-space)是机器人学中最强大的几何抽象之一。不要思考机器人的物理形状,而是将其整个状态表示为N维空间中的单点。
对于有N个关节的机器人,C-space有N个维度:每个关节角一个轴。机器人的每个可能的姿态是C-space中的单点。运动(一系列姿态)是通过C-space的曲线。
C-space中的障碍:现实世界中的物理障碍变成C-space中的禁止区域。如果将机器人放置在关节角(θ₁, θ₂, ..., θN)会导致碰撞,该点位于C-space障碍内。C-space障碍的形状很复杂:现实世界中的简单盒子变成C-space中一个奇形怪状的区域。
路径规划=找到无碰撞曲线:给定起始构型(C-space中的点)和目标构型(另一个点),找到连接它们的连续曲线,不进入任何禁止区域。
算法:
- A*(基于网格):将C-space离散化为网格,搜索最短路径。在低维度(2-3自由度)中效果很好,但网格大小随维度呈指数增长。
- RRT(快速探索随机树):在C-space中构建随机样本的树,向未探索的区域增长。在高维度(6+自由度)中工作。不是最优的,但在找到可行路径时很快。
- PRM(概率路线图):预计算随机无碰撞构型的图,然后搜索图。适合在同一环境中的重复查询。
几何洞察:6自由度机器人的路径规划问题是一个通过6D空间的曲线问题。维度使精确解不可行:概率方法(RRT、PRM)是实用的方法。
构型空间思维
2连杆平面臂(2自由度)在有单个矩形障碍的房间中工作。关节1范围从0°到360°,关节2范围从0°到360°。构型空间是一个2D正方形:一个轴上是θ₁,另一个轴上是θ₂。