# ABA 如何加入齿轮比和转子惯量

> 原文链接：https://robotics.hellobike.com/pitfalls/2022-10-13-robotics-se-23871
> 频道：pitfalls | 更新日期：2022-10-13 | 标签：auto, stackexchange, robotic-arm, dynamics, industrial-robot, algorithm
> 核心摘要：ABA 默认直接驱动时，可按 Featherstone 第9.6节引入额外关节变量并用 G 映射处理齿轮与转子惯量。

# ABA 如何加入齿轮比和转子惯量

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Articulated Body Algorithm with gear ratio](https://robotics.stackexchange.com/questions/23871/articulated-body-algorithm-with-gear-ratio)（Robotics Stack Exchange #23871）

**状态**：已解决

## 问题

提问者实现 Featherstone 的 Articulated Body Algorithm 时，感觉算法只适用于机械臂直接驱动，想知道如何加入齿轮传动比以及转子的质量和惯量；原文无报错。

## 环境

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

## 解决办法

1. 参考 Featherstone《Rigid Body Dynamics Algorithms》第 9 章 9.6 节，将齿轮作为类似运动学闭环的问题处理。
2. 为齿轮、转子等额外运动部件引入额外关节变量，再把它们映射到标准关节变量。
3. 例中令独立变量为 `y1=q1`、`y2=q3`，用齿轮比 `n1`、`n2` 定义 `gamma=[y1, n1*y1, y2, n2*y2]^T`。
4. 定义 `G=∂gamma/∂y`、`g=dot(G)*dot(y)`，使用动力学方程 `G^T H G ddot(y)+G^T(C+H g)=G^T tau`；其中典型关节力矩 `tau1=tau3=0`，电机力矩在 `tau2`、`tau4` 中，再按需应用 ABA/逆动力学。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #23871：Articulated Body Algorithm with gear ratio](https://robotics.stackexchange.com/questions/23871/articulated-body-algorithm-with-gear-ratio)