4. 几何法求解:平面两连杆机械臂的几何解析法,推导关节角度公式
平面两连杆机械臂是机器人运动学中最经典、最基础的结构模型,也是理解逆运动学(IK)求解逻辑的最佳切入点。与数值迭代法不同,几何解析法通过建立三角形边角关系,直接推导出关节角度的闭式表达式,具有计算量小、求解速度快、无迭代发散风险等优点,在工业焊接、平面搬运、SCARA机器人以及教学科研中应用极为广泛。本节将系统讲解如何利用余弦定理与几何投影关系,从末端位姿反解出两个关节角,并深入讨论多解选择、奇异位形与边界约束等工程关键问题。
4.1 核心原理:从末端位姿到关节角的三角关系建模
平面两连杆机械臂由基座、连杆1(长度L₁)、连杆2(长度L₂)和末端执行器构成。正运动学已知关节角(θ₁, θ₂)求末端位置(x, y),而逆运动学则相反——已知末端目标位置(x, y),反解关节角。几何法的核心思想是:将机械臂的几何关系抽象为平面三角形,利用余弦定理和反正切函数直接求解。
设基座位于原点O,关节1在O点,关节2在A点,末端在P点。则O、A、P三点构成一个三角形,其中OA = L₁,AP = L₂,OP = r = √(x² + y²)。根据余弦定理,在三角形OAP中,角θ₂(关节2的转角,定义为连杆1延长线与连杆2之间的夹角)满足:
cos θ₂ = (L₁² + L₂² − r²) / (2L₁L₂)
由此可直接求出θ₂ = ±arccos(cos θ₂)。正负号对应两种不同的臂型配置:肘上解(θ₂ > 0,肘部向上)和肘下解(θ₂ < 0,肘部向下)。求出θ₂后,再利用几何投影关系求θ₁。设从基座到末端的向量与X轴的夹角为β = atan2(y, x),从基座到关节2的向量与X轴的夹角为α,则θ₁ = β − α。而α可通过在三角形OAP中利用正弦定理或投影关系求得:
α = atan2(L₂·sinθ₂, L₁ + L₂·cosθ₂)
最终得到θ₁的闭式表达式:
θ₁ = atan2(y, x) − atan2(L₂·sinθ₂, L₁ + L₂·cosθ₂)
4.2 判断方法与求解流程:多解、无解与奇异位形
几何法求解并非简单的套公式,需要结合可达性判断和臂型选择。完整的求解流程如下:
- 可达性检查:计算r = √(x² + y²)。若r > L₁ + L₂,目标点超出工作空间,无解;若r < |L₁ − L₂|,目标点位于不可达的内圆区域,同样无解。
- θ₂求解:计算cos θ₂ = (L₁² + L₂² − r²) / (2L₁L₂)。若|cos θ₂| > 1,说明数值越界,目标点不可达;否则θ₂ = ±arccos(cos θ₂)。
- θ₁求解:分别代入θ₂的正负值,计算θ₁ = atan2(y, x) − atan2(L₂·sinθ₂, L₁ + L₂·cosθ₂)。
- 臂型选择:根据实际任务需求(如避障、关节限位、能耗最小化)选择肘上解或肘下解。
- 关节限位校验:检查求得的(θ₁, θ₂)是否在关节允许范围内,若超限则舍弃该解。
| 判断条件 | 数学表达式 | 结论 |
|---|---|---|
| 目标点过远 | r > L₁ + L₂ | 无解,超出工作空间外边界 |
| 目标点过近 | r < |L₁ − L₂| | 无解,落入不可达内圆 |
| 余弦值越界 | |cos θ₂| > 1 | 数值异常,目标点不可达 |
| 边界可达 | r = L₁ + L₂ 或 r = |L₁ − L₂| | θ₂ = 0 或 π,机械臂完全伸直或折叠 |
| 正常可达 | |L₁ − L₂| < r < L₁ + L₂ | 两组解(肘上/肘下),需按约束选择 |
4.3 案例拆解:焊接机器人平面轨迹跟踪中的几何法应用
某平面焊接机器人,连杆长度L₁ = 400mm,L₂ = 300mm,需要在工件平面上沿直线焊缝从点A(500, 200)移动到点B(600, 150)(单位mm)。要求末端姿态保持水平(即连杆2与X轴平行),且优先选择肘下解以避开上方障碍物。
第一步:可达性验证。对起点A(500, 200):r_A = √(500² + 200²) = √(290000) ≈ 538.5mm。L₁ + L₂ = 700mm,|L₁ − L₂| = 100mm,满足100 < 538.5 < 700,可达。对终点B(600, 150):r_B = √(600² + 150²) = √(382500) ≈ 618.5mm,同样满足可达条件。
第二步:求解起点A的关节角。计算cos θ₂ = (400² + 300² − 538.5²) / (2×400×300) = (160000 + 90000 − 290000) / 240000 = −40000 / 240000 ≈ −0.1667。θ₂ = ±arccos(−0.1667) ≈ ±99.6°。选择肘下解,取θ₂ = −99.6°。计算θ₁:θ₁ = atan2(200, 500) − atan2(300×sin(−99.6°), 400 + 300×cos(−99.6°)) = 21.8° − atan2(−295.8, 350.5) = 21.8° − (−40.2°) = 62.0°。
第三步:求解终点B的关节角。cos θ₂ = (160000 + 90000 − 382500) / 240000 = −132500 / 240000 ≈ −0.5521。θ₂ = ±123.5°,取肘下解θ₂ = −123.5°。θ₁ = atan2(150, 600) − atan2(300×sin(−123.5°), 400 + 300×cos(−123.5°)) = 14.0° − atan2(−250.2, 234.2) = 14.0° − (−46.9°) = 60.9°。
第四步:插补与验证。在A、B之间线性插值5个中间点,分别用几何法求解关节角,得到关节角轨迹。将求得的关节角代入正运动学验证末端位置误差小于0.01mm,满足焊接精度要求。
| 路径点 | 目标位置 (x, y) | θ₁ (deg) | θ₂ (deg) | 验证末端位置 |
|---|---|---|---|---|
| 起点A | (500, 200) | 62.0 | −99.6 | (500.00, 200.00) |
| 插补点1 | (520, 190) | 61.3 | −104.2 | (520.00, 190.00) |
| 插补点2 | (540, 180) | 60.8 | −108.7 | (540.00, 180.00) |
| 插补点3 | (560, 170) | 60.5 | −113.1 | (560.00, 170.00) |
| 插补点4 | (580, 160) | 60.6 | −118.3 | (580.00, 160.00) |
| 终点B | (600, 150) | 60.9 | −123.5 | (600.00, 150.00) |
复盘分析:从数据可见,θ₁变化幅度较小(约1.1°),而θ₂变化较大(约23.9°),说明该轨迹主要由肘关节驱动。若选择肘上解,θ₁将变为负值,机械臂会从上方绕过,可能碰撞障碍物,因此肘下解是正确选择。实际工程中还需考虑关节角速度限制,在插补点间增加速度规划。
4.4 常见误区与总结复盘
几何法虽然直观,但在实际应用中存在几个高频误区,需要特别注意:
- 忽略多解问题:几何法天然产生两组解(肘上/肘下),若不加选择直接使用,可能导致机械臂在轨迹中途突然翻转,造成剧烈冲击。必须根据任务约束(避障、关节限位、能耗)显式选择臂型。
- 未做可达性预检:直接代入公式计算,当目标点超出工作空间时,arccos的参数会超出[−1, 1]范围,产生NaN或复数结果。必须先判断r是否在[|L₁−L₂|, L₁+L₂]区间内。
- atan2与atan混用:求θ₁时必须使用atan2(y, x)而非atan(y/x),因为atan无法区分象限,在x为负时会产生180°的相位错误。
- 奇异位形处理不当:当机械臂完全伸直或折叠时,θ₂ = 0或π,此时θ₁的表达式出现退化,需要单独处理。例如完全伸直时,θ₁ = atan2(y, x),直接由末端方向决定。
- 忽略关节限位:求得的解析解可能超出实际关节的机械限位(如θ₂只能取0°~150°),必须增加限位校验环节,否则控制指令会触发硬件保护。
总结:几何法求解平面两连杆机械臂逆运动学,核心在于利用余弦定理求θ₂、利用投影关系求θ₁,并通过臂型选择处理多解问题。该方法计算量小、物理意义明确,是理解更复杂逆解算法(如解析法、数值法)的基础。掌握几何法后,可以自然推广到六轴机械臂的腕部解耦求解——将前三个关节视为定位结构,后三个关节视为定向结构,分别用几何法和欧拉角法求解。在实际工程中,务必结合可达性预检、奇异位形规避和关节限位校验,才能保证运动控制的稳定性和安全性。