它可以以多少种方式移动?
自由度:运动的几何
一个 自由度(DOF) 是一个独立的运动方式。理解自由度是理解机器人如何与空间交互的第一步。
在3D空间中的位置 需要3个自由度:x (左右), y (前后), z (上下)。一个空间中的点有3个自由度。
方向 添加了3个:滚动(围绕前向轴旋转)、俯仰(围绕侧轴旋转)、舵角(围绕垂直轴旋转)。一个刚性体在空间中的自由度为 6个:3个位置+3个方向。
机器人手臂与自由度:
- 一个 6轴articulated手臂 (如工业机器人)有6个关节,每个关节添加1个自由度。有6个自由度,末端装置可以在工作空间中达到任何位置和方向:它具有全空间的自由度。
- 一个 4轴SCARA 机器人有4个自由度:它可以在平面上任何位置定位并旋转,但无法倾斜其工具。适用于在平面上进行取放置操作。
- 一个 3轴Cartesian/gantry 机器人有3个自由度:它可以在一个盒状体积中的任何位置定位,但无法定位其工具。适用于3D打印。
多于6个自由度 :一个7轴机器人是 冗余的 :它比完全空间定位所需的自由度多。额外的自由度让它能够绕障碍物达到,就像人类的手臂能够绕过某物达到。冗余是几何上的优势。
自由度与任务要求
一个工厂需要为三个不同的任务提供机器人:(A)沿着汽车车身曲线上喷胶,(B)从输送带上拾取芯片并将其放置在平坦的电路板上,(C)从多个角度对3D复杂关节进行焊接。
机器人几何的两个方向
几何运动学
运动学是不考虑力时的运动学。在机器人领域,这是纯粹的几何:关节角度与末端效ector位置之间的关系。
正向几何运动学(FK): 给定所有关节角度→ 计算末端效ector的位置和方向。这是‘容易’的方向。
对于一个2连杆平面臂:如果关节1位于角度θ₁,关节2位于角度θ₂,连杆长度分别为L₁和L₂,末端效ector位于:
- x = L₁ cos(θ₁) + L₂ cos(θ₁ + θ₂)
- y = L₁ sin(θ₁) + L₂ sin(θ₁ + θ₂)
对于6轴臂,FK使用一个链条的同胚变换矩阵:每个关节都为4×4矩阵,编码旋转和平移。将这六个矩阵相乘,得到末端效ector的姿态。它是机械的,但总是产生一个唯一的答案。
逆向几何运动学(IK): 给定一个所需的末端效ector位置和方向→ 计算关节角度,实现它。这是‘困难’的方向。
IK很难,因为:
- 多个解决方案:一个6轴臂可以以多种配置达到相同的点(肘部向上 vs. 肘部向下,手腕翻转 vs. 不翻转)。可能有8个或更多的有效解决方案。
- 无解决方案:如果目标位于工作空间之外,没有关节角度适用。
- 奇异点:在某些姿势时,两个关节轴对齐,机器人失去一个DOF:就像陀螺锁定。靠近奇异点时,Cartesian运动需要巨大的关节速度。
逆向几何运动学:为什么它难?
考虑一个简单的2连杆平面臂,L₁ = L₂ = 1米。末端效ector需要到达点(1.0,1.0)。
从基座到目标的距离为sqrt(1² + 1²) = sqrt(2) ≈ 1.414 m。由于L₁ + L₂ = 2 m > 1.414 m,点是可达的。
可达性形状
工作空间:机器人可以到达的几何体积
末端装置可以到达的所有点集称为工作空间外形。工作空间的形状完全取决于机器人的几何特性。
六轴连杆臂:工作空间大致为一个空心球体。最大可达范围的外部边界为所有链条都处于伸展状态。内部边界存在,因为手臂无法足够地折叠回到自身,以到达离基地太近的点。截面形状为环形(圆环)。
SCARA:工作空间为圆柱体。手臂水平扫描(生成一个圆形截面),Z轴垂直移动。结果是一个平面圆柱体:水平方向上的可达范围较宽,垂直方向受限。
Cartesian/Gantry:工作空间为矩形盒子。每个轴沿一个维度线性移动。简单、可预测、易于编程,但因为机器人必须与其工作空间相同大小,所以Bulkiness。
工作空间中的奇异点:在某些姿态中,机器人丧失一个DOF。完全伸展的六轴连杆臂(在其工作空间的外部边界处)处于奇异点:它无法进一步向外移动末端装置。手腕奇异点发生在两个手腕轴对齐时。奇异点时,雅可比矩阵的秩减少,机器人的有效DOF暂时减少。
灵巧工作空间 vs. 可达工作空间:可达工作空间是末端装置至少在一个方向上可以到达的点集。灵巧工作空间是末端装置可以实现任意任意方向的集合。灵巧工作空间始终是可达工作空间的子集,而且通常要小得多。
根据工作空间选择机器人
一个工厂单元有三个工作站按照L形排列。A站位于左侧,B站正前方,C站位于右侧略高(高300mm)。机器人需要从A站取零件,到B站进行操作,并将完成品放置在C站:所有操作都从一个单独的安装位置进行。
配置空间:机器人的抽象几何
配置空间:动力学规划的家
配置空间(C空间) 是机器人领域中最强大的几何抽象之一。我们不再关注机器人的物理形状,而是将其整个状态表示为一个N维空间中的单个点。
对于有N个关节的机器人,C空间有N个维度:一个轴每个关节角。机器人的所有可能姿态都是一点在C空间。一个动作(一系列姿态)是C空间中的曲线。
C空间中的障碍物:物理世界中的一个障碍物在C空间中成为一个被禁止的区域。如果将机器人放在关节角(θ₁,θ₂,...,θN)位置将导致碰撞,那么这个点就在C空间障碍物内部。物理世界中的简单箱子在C空间中变成了一个奇特的形状的区域。
路径规划 = 寻找无碰撞曲线:给定一个起始配置(C空间中的一个点)和一个目标配置(另一个点),找到连接它们的连续曲线,不进入任何禁止区域。
算法:
- A* (基于网格的): 将 C-空间划分为网格,搜索最短路径。低维度(2-3 DOF)效果良好,但随维数增加,网格大小会指数增长。
- RRT (快速探索随机树): 在 C-空间中构建一颗随机样本的树,向未探索的区域生长。适用于高维度(6+ DOF)。虽然不是最优解,但在寻找可行路径方面速度较快。
- PRM (概率路线图): 预先计算一张随机无碰撞配置的图,然后搜索图。适用于在相同环境中进行多次查询。
几何见解:一个 6-DOF 机器人的路径规划问题是一个在 6D 空间中穿过曲线的问题。维数的高度使得精确解决方案变得不现实:概率方法(RRT, PRM)是实际方法。
配置空间思维
一个 2-link 平面机械臂(2 DOF)在一个带有单个矩形障碍物的房间中工作。第 1 个关节从 0° 到 360° 变化,第 2 个关节从 0° 到 360° 变化。配置空间是一个 2D 平方:θ₁ 在一个轴上,θ₂ 在另一个轴上。