inverse_kinematics


title: 机器人逆向运动学 tags: [机器人学, 运动学, 逆向运动学, 数值方法] created: 2026-04-10 sources: 4


机器人逆向运动学

一句话摘要:逆向运动学(Inverse Kinematics, IK)是正向运动学的逆问题:给定期望的末端位姿,求解能达到该位姿的关节角。由于非线性和多解性,比正向运动学复杂得多。


背景与定义

逆向运动学回答机器人学中最实际的问题:我想要机械臂末端走到空间某个位置并保持某个姿态,每个关节应该转到多少角度?

这是机器人运动规划和控制的核心问题: - 运动规划在笛卡尔空间给出目标位姿 → 需要IK转换为关节角送给控制器 - 示教记录得到末端路径 → 需要逆变换为关节轨迹 - 抓取任务需要末端对准物体 → 需要求解对应的关节配置

与[[机器人正向运动学]]对比: - FK:关节角 → 末端位姿,一对一映射,总有唯一解 - IK:末端位姿 → 关节角,一对多映射,可能无解

为什么IK难: - 非线性:位姿和关节角之间是非线性关系 - 多解性:6DOF机械臂可达目标通常有多个解,需要选择 - 奇异性:在奇异点雅可比矩阵不可逆,数值方法发散 - 约束:需要满足关节限位、避障等额外约束


核心原理

问题定义

给定: - 目标末端位姿 T_d ∈ SE(3)(相对于基坐标系) - 机器人结构和DH参数已知

求解: - 关节角 q = [q₁, q₂, ..., qₙ]^T,使得 FK(q) = T_d

即求解非线性方程组:

T₀ₙ(q) = T_d

n < 6:工作空间降维,不能任意达到6DOF位姿 n = 6:刚好可以达到(一般情况) n > 6:冗余机器人,无穷多解

主要求解方法分类

方法 类型 原理 适用场景
解析解法 闭式解 几何推导得到显式表达式 6DOF以下、有 spherical wrist 的工业臂
雅可比迭代法 数值迭代 线性化近似,雅可比伪逆迭代 通用任意DOF,实时性要求不高
阻尼最小二乘法 (DLS) 数值迭代 阻尼项避免奇异性发散 工业实际应用(最常用)
循环坐标下降法 (CCD) 启发式迭代 逐个关节调整逼近目标 高DOF、冗余机器人、人形
神经网络法 学习方法 数据驱动学习映射 重复任务、柔性机器人
优化法 最优问题 带约束优化目标函数 需要满足多约束场景

解析解法

基本思路

利用机器人几何对称性,分步求解: 1. 腕部分离 (Wrist Decoupling):对于6DOF机器人存在球形腕,先求解前3个关节确定腕心位置 2. 求解后3个关节:确定姿态 3. 组合所有可能解:得到全部闭式解

优缺点

优点: - 直接得到解,一次计算完成 - 速度快,无迭代收敛问题 - 可以枚举所有解供选择

缺点: - 只适用于特定结构(如6DOF带球形腕) - 推导复杂,对不同机器人需要重新推导 - 推广到冗余机器人困难


数值迭代法:雅可比伪逆

基本思想

从初始猜测 q₀ 开始,迭代更新: 1. 计算当前位姿 FK(q_k) 与目标位姿的误差 Δx 2. 计算雅可比矩阵 J(q_k) = ∂x/∂q 3. 更新关节:Δq = J⁺ · Δx (J⁺ 是雅可比伪逆) 4. q_{k+1} = q_k + α Δq 5. 重复直到 Δx 足够小

数学公式

误差:

Δx = x_d - x(q_k)

伪逆更新:

Δq = J⁺ Δx = J^T (J J^T)^{-1} Δx

迭代:

q_{k+1} = q_k + Δq

阻尼最小二乘法(DLS)

在奇异点附近,J J^T 接近奇异,伪逆会产生很大的 Δq。DLS加入阻尼项:

Δq = J^T (J J^T + λ^2 I)^{-1} Δx
  • λ 是阻尼系数,λ=0 退化为标准伪逆
  • λ越大,阻尼越强,步长越保守
  • 自适应λ:在奇异点附近增大λ,远离时减小λ

DLS是工业实际应用中最常用的IK方法。

循环坐标下降法(CCD)

逐个关节调整,每次只调整一个关节使末端更靠近目标:

  1. 从最末关节开始,向根部依次处理
  2. 对关节i,计算当前末端位置向量 e - 关节i原点位置向量
  3. 旋转关节i,使末端指向目标方向
  4. 重复多轮直到误差收敛

优点: - 实现简单,容易编程 - 天然处理关节限位约束 - 适用于高DOF(如7DOF机械臂、人形机器人)

缺点: - 收敛慢,可能震荡 - 初始猜测影响结果


关键问题与处理

多解性处理

同一个目标位姿可能有多个关节配置解:

处理策略 方法
就近选择:选离当前关节位置最近的解 避免大的关节运动
肘部上下选择:对6DOF臂,固定选择肘部在上/在下 预先约定减少搜索
优化准则:最小化关节位移/最小化能量 自动得到"自然"的解
避障选择:排除与障碍物碰撞的解 运动规划中使用

奇异性处理

奇异构型 = 雅可比矩阵秩亏,末端在某个方向失去可操作性: - 肩奇异:肘部拉直,腕部和基部共线 - 腕奇异:三个腕轴共线 - 肘奇异:肘部完全伸直或弯曲

处理方法: - 阻尼项:DLS自动处理奇异,步长被限制 - 奇异回避:轨迹规划时避开奇异区域 - 零空间投影:冗余机器人可以在不改变末端的情况下离开奇异

无解判断

目标位姿在工作空间外 → 无解。此时迭代不能收敛,需要: 1. 检查误差是否能降到阈值以下 2. 若不能收敛,报告无解 3. 可以返回最接近的可达位姿


对比:各种方法比较

方法 速度 精度 适用DOF 实现难度 推荐场景
解析解 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ≤ 6 ⭐⭐⭐⭐ 工业6DOF臂
DLS雅可比 ⭐⭐⭐⭐ ⭐⭐⭐⭐ 任意 ⭐⭐ 通用实时应用
CCD ⭐⭐⭐ ⭐⭐⭐ 高DOF 冗余机器人
FABRIK ⭐⭐⭐ ⭐⭐⭐ 高DOF ⭐⭐ 拟人骨骼
神经网络 ⭐⭐⭐⭐⭐ ⭐⭐⭐ 任意 ⭐⭐⭐⭐ 重复任务
优化求解 ⭐⭐ ⭐⭐⭐⭐⭐ 任意+约束 ⭐⭐⭐ 多约束规划

应用场景

应用 说明
运动规划:笛卡尔路径 → 关节轨迹 每一个路径点都需要一次IK求解
抓取规划:抓取位姿 → 关节配置 选择无碰撞的逆解
遥操作:空间鼠标输入末端 → 跟随控制 需要实时求解
人形机器人:全身运动控制 高DOF IK,CCD常用
移动操作:平台+机械臂联合IK 处理冗余自由度
力控:笛卡尔阻抗控制 → 关节位置指令 需要频繁求解

最新进展(2025-2026)

  • 2025:基于大规模语言模型的IK求解,LLM能理解几何关系直接给出闭式解
  • 2024:神经IK:Transformer网络直接学习从末端位姿到关节角的映射,推理速度比迭代快一个数量级
  • 2023:IKDiffusion:扩散模型生成多模态逆解,能处理冗余机器人的多个解分布
  • 2022:深度学习处理软机器人逆运动学,建模连杆变形

相关概念

  • [[机器人正向运动学]]:FK是IK的基础,IK是FK的逆问题
  • [[机器人学导论和坐标系基础]]:SE(3)位姿表示
  • [[Denavit-Hartenberg]]:DH参数建模
  • [[雅可比矩阵]]:数值迭代法的核心,联系关节速度和末端速度
  • [[阻尼最小二乘法]]:处理奇异性最常用的方法
  • [[运动规划]]:IK是笛卡尔规划的最后一步

参考来源

Comments (0)