# 固定基座变换被当作关节导致 IK 不收敛

> 原文链接：https://robotics.hellobike.com/pitfalls/2016-11-18-robotics-se-11079
> 频道：pitfalls | 更新日期：2016-11-18 | 标签：auto, stackexchange, inverse-kinematics, manipulator, rotation
> 核心摘要：固定基座到首关节变换不应作为可变量，应在 DH 中填入常量角，使雅可比只含 7 个关节列。

# 固定基座变换被当作关节导致 IK 不收敛

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Dealing with fixed transformations while solving inverse kinematics](https://robotics.stackexchange.com/questions/11079/dealing-with-fixed-transformations-while-solving-inverse-kinematics)（Robotics Stack Exchange #11079）

**状态**：已解决

## 问题

7 自由度机械臂求逆运动学时，把基座到第 0 帧的固定变换编码成额外 DH 行，算法试图更新这个并不存在的“第一关节”；若每次迭代强制复位角度，又会不收敛并卡住。

## 环境

Linux / ROS 机器人软件与控制通用开发环境

## 解决办法

1. 不要把基座到首关节的固定旋转写成可变关节量，如 `q_1`。
2. 在该固定变换处直接填入固定角度数值，例如 `π/2`。
3. 这样雅可比矩阵只保留 7 个关节列，迭代伪逆不会尝试移动不存在的自由度，也无需每次迭代后重置该角度。

原问题作者：HighVoltage；采纳答案作者：SteveO。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #11079：Dealing with fixed transformations while solving inverse kinematics](https://robotics.stackexchange.com/questions/11079/dealing-with-fixed-transformations-while-solving-inverse-kinematics)