问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

逆向运动学(IK)与正向运动学(FK)详解

创作时间:
作者:
@小白创作中心

逆向运动学(IK)与正向运动学(FK)详解

引用
CSDN
1.
https://m.blog.csdn.net/qq_33690342/article/details/145807421

正向运动学(FK)和逆向运动学(IK)是机器人学中的两个核心概念,它们分别解决"已知关节角度求末端位姿"和"已知末端位姿求关节角度"的问题。本文将从基本概念出发,详细讲解两者的计算方法、流程和应用场景,并讨论常见的挑战和解决方案。

1. 基本概念

  • 正向运动学(Forward Kinematics, FK)
    从关节角度出发,通过链式变换计算末端执行器(如机械臂的手或人手的指尖)的位置和方向。
    核心问题:已知关节角度,求末端位姿。

  • 逆向运动学(Inverse Kinematics, IK)
    从末端目标位姿出发,反推各个关节的角度。
    核心问题:已知末端位姿,求关节角度。

2. 正向运动学(FK)的计算方法与流程

计算步骤

  1. 定义关节链
    确定各个关节的坐标系(如Denavit-Hartenberg参数法)。
    示例:一个两关节机械臂,基座关节(Joint 1)和肘关节(Joint 2)。

  2. 构建变换矩阵
    每个关节的旋转或平移用齐次变换矩阵表示。

链式乘法
将各关节变换矩阵按顺序相乘,得到末端位姿。
公式

3. 逆向运动学(IK)的计算方法与流程

常见解法

1. 解析法(闭式解)
通过几何或代数方法直接求解方程。
适用场景:简单结构(如2-3自由度机械臂)。
示例(两关节机械臂)

2. 数值优化法
使用迭代算法逼近解,如梯度下降、牛顿-拉夫森法。
步骤

  1. 初始化关节角度估计值(如当前角度)。
  2. 计算当前末端位姿与目标的误差。
  3. 通过雅可比矩阵(Jacobian)更新角度:

3. 循环坐标下降法(CCD)
逐个关节调整角度,逐步逼近目标。
步骤

  1. 从末端向基座遍历每个关节。
  2. 调整当前关节角度,使末端更接近目标。
  3. 重复直到满足精度要求。

流程总结

  1. 输入:末端目标位姿(位置 + 方向)。
  2. 建模:定义关节链的几何约束(如连杆长度、旋转范围)。
  3. 求解:选择解析法或数值法计算关节角度。
  4. 验证:检查解是否满足物理限制(如关节活动范围)。

5. 应用实例

机器人控制

  • FK:已知机械臂各关节角度,计算夹爪是否到达目标位置。
  • IK:规划夹爪抓取物体时的关节角度,确保避开障碍。

人体动画

  • FK:通过关节角度生成自然行走动画。
  • IK:调整角色手部位置去触摸某个物体,同时保持身体平衡。

虚拟现实(VR)

  • IK:根据手柄位置实时计算虚拟角色的手臂姿态,增强交互感。

6. 常见挑战与解决方案

  • 多解问题(IK)

  • 选择最接近当前姿态的解,或引入能量最小化(如关节移动量最小)。

  • 奇异位置

  • 雅可比矩阵秩不足时,采用阻尼最小二乘法(DLS)。

  • 计算效率

  • 使用GPU加速或预计算查找表(LUT)。

总结

正向运动学和逆向运动学是机器人学中不可或缺的两个重要概念。通过本文的介绍,相信读者已经对它们有了更深入的理解。无论是机器人控制、动画制作还是虚拟现实领域,掌握这两个概念都将为你的工作带来极大的帮助。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号
逆向运动学(IK)与正向运动学(FK)详解