4. 几何法求解:平面两连杆机械臂的几何解析法,推导关节角度公式

平面两连杆机械臂是机器人运动学中最经典、最基础的结构模型,也是理解逆运动学(IK)求解逻辑的最佳切入点。与数值迭代法不同,几何解析法通过建立三角形边角关系,直接推导出关节角度的闭式表达式,具有计算量小、求解速度快、无迭代发散风险等优点,在工业焊接、平面搬运、SCARA机器人以及教学科研中应用极为广泛。本节将系统讲解如何利用余弦定理与几何投影关系,从末端位姿反解出两个关节角,并深入讨论多解选择、奇异位形与边界约束等工程关键问题。

平面两连杆机械臂几何法逆解模型 Y X O L₁ L₂ P(x, y) r θ₁ θ₂ α β 几何法核心公式 余弦定理求 θ₂: cos θ₂ = (r² − L₁² − L₂²) / (2L₁L₂) θ₂ = ±arccos(cos θ₂) (肘上/肘下) 投影法求 θ₁: θ₁ = atan2(y, x) − atan2(L₂sinθ₂, L₁+L₂cosθ₂) r = √(x² + y²),需满足 r ≤ L₁+L₂ 且 r ≥ |L₁−L₂|,否则无解

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 判断方法与求解流程:多解、无解与奇异位形

几何法求解并非简单的套公式,需要结合可达性判断和臂型选择。完整的求解流程如下:

  1. 可达性检查:计算r = √(x² + y²)。若r > L₁ + L₂,目标点超出工作空间,无解;若r < |L₁ − L₂|,目标点位于不可达的内圆区域,同样无解。
  2. θ₂求解:计算cos θ₂ = (L₁² + L₂² − r²) / (2L₁L₂)。若|cos θ₂| > 1,说明数值越界,目标点不可达;否则θ₂ = ±arccos(cos θ₂)。
  3. θ₁求解:分别代入θ₂的正负值,计算θ₁ = atan2(y, x) − atan2(L₂·sinθ₂, L₁ + L₂·cosθ₂)。
  4. 臂型选择:根据实际任务需求(如避障、关节限位、能耗最小化)选择肘上解或肘下解。
  5. 关节限位校验:检查求得的(θ₁, θ₂)是否在关节允许范围内,若超限则舍弃该解。
判断条件 数学表达式 结论
目标点过远 r > L₁ + L₂ 无解,超出工作空间外边界
目标点过近 r < |L₁ − L₂| 无解,落入不可达内圆
余弦值越界 |cos θ₂| > 1 数值异常,目标点不可达
边界可达 r = L₁ + L₂ 或 r = |L₁ − L₂| θ₂ = 0 或 π,机械臂完全伸直或折叠
正常可达 |L₁ − L₂| < r < L₁ + L₂ 两组解(肘上/肘下),需按约束选择
奇异位形警示:当r = L₁ + L₂(完全伸直)或r = |L₁ − L₂|(完全折叠)时,机械臂处于边界奇异位形。此时θ₂ = 0或π,两个关节轴共线,末端在径向方向失去自由度,雅可比矩阵秩亏。在轨迹规划中应尽量避免末端轨迹经过奇异点,否则关节速度会趋于无穷大。

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°),必须增加限位校验环节,否则控制指令会触发硬件保护。
工程经验:在实时控制系统中,建议将几何法求解封装为独立函数,输入为目标位置(x, y)和臂型标志(elbow_up/elbow_down),输出为关节角。函数内部先做可达性检查,再计算θ₂,最后计算θ₁,并返回解的状态标志(SOLVED/UNREACHABLE/SINGULAR)。这样既保证了代码复用性,也便于单元测试和故障排查。

总结:几何法求解平面两连杆机械臂逆运动学,核心在于利用余弦定理求θ₂、利用投影关系求θ₁,并通过臂型选择处理多解问题。该方法计算量小、物理意义明确,是理解更复杂逆解算法(如解析法、数值法)的基础。掌握几何法后,可以自然推广到六轴机械臂的腕部解耦求解——将前三个关节视为定位结构,后三个关节视为定向结构,分别用几何法和欧拉角法求解。在实际工程中,务必结合可达性预检、奇异位形规避和关节限位校验,才能保证运动控制的稳定性和安全性。