FKForward Kinematics,正运动学)是根据机器人各关节的角度或位移,通过运动学链逐级计算出末端执行器在空间中的位姿的方法。

FK 属于机器人运动学:它只描述几何运动关系,不直接处理质量、力矩或接触力。机器人动力学通常建立在 FK 等运动学结果之上,用于进一步分析执行运动所需的力和力矩。

核心思路

给定一个 自由度的机械臂,每个关节有一个关节变量 (旋转角或平移量)。FK 通过齐次变换矩阵的连乘,将关节空间映射到任务空间:

常用的建模方法是DH 参数法(Denavit-Hartenberg),用 4 个参数描述相邻关节之间的空间关系。现代机器人软件也常从 URDF 或 SDF 读取关节轴、连杆树、固定变换和限位,再在运行时按树结构递推各坐标系变换。

与之相对的是 IK(Inverse Kinematics,逆运动学),即已知目标位姿反推关节角度。FK 通常是确定性的,而 IK 可能有多解、无解或需要数值优化。

输出不只是位置

FK 的输出通常是一个刚体位姿,既包含位置也包含姿态。根据系统约定,姿态可能表达为旋转矩阵、欧拉角、四元数、轴角或齐次变换矩阵。工程上要特别注意:

  • 位置单位通常是米,角度单位可能是弧度或角度。
  • 坐标系方向和右手系约定必须统一。
  • 末端工具坐标系不一定等于机械法兰坐标系,夹爪、相机或力控工具常有额外固定偏置。
  • 双臂、外骨骼或动捕系统里,FK 输出可能还要经过身体坐标、机器人基座坐标和世界坐标之间的变换。

速度层关系

FK 给出的是位姿层映射 。对这个映射求局部导数,会得到雅可比矩阵

因此 FK 不只是“算末端在哪里”,也是速度控制、奇异分析、碰撞几何更新、可视化和状态估计的基础。

应用场景

  • 机械臂控制:已知关节编码器读数,计算末端工具的实际位姿
  • 外骨骼/动捕:通过关节角度传感器经 FK 得到肢体末端位置(如本方案中外骨骼定位方案)
  • 仿真与可视化:根据关节状态渲染机器人姿态
  • 速度和灵敏度分析:结合雅可比矩阵估计关节速度变化对末端速度的影响

常见错误

  • 关节零位、方向或轴定义和实机不一致,导致整条链姿态偏移。
  • 忘记工具偏置,只计算到 flange,而不是任务真正使用的 TCP。
  • 混用标准 DH 和改进 DH,参数相同但变换顺序不同。
  • 欧拉角顺序不一致,导致姿态看起来“差一点”,实际却是完全不同的旋转。

相关术语