# Featherstone模型中执行器力如何加入

> 原文链接：https://robotics.hellobike.com/pitfalls/2021-01-25-robotics-se-7278
> 频道：pitfalls | 更新日期：2021-01-25 | 标签：auto, stackexchange, dynamics, actuator, joint, screw-theory
> 核心摘要：将执行器输出作为广义力填入对应关节的 τ，再作为前向动力学输入计算响应。

# Featherstone模型中执行器力如何加入

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Adding an Actuator or Force to a (Featherstone) Articulated Rigid Body Model](https://robotics.stackexchange.com/questions/7278/adding-an-actuator-or-force-to-a-featherstone-articulated-rigid-body-model)（Robotics Stack Exchange #7278）

**状态**：已解决

## 问题

提问者已实现 Featherstone 刚体多体模型，但不清楚如何向模型加入执行器输入或外加力，也不清楚重力项如何在局部坐标中加入。

## 环境

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

## 解决办法

1. 将执行器理解为关节上的广义力：棱柱关节位移为 `q_i` 时，对应线性力填入 `τ_i`；转动关节角度为 `q_j` 时，对应力矩填入 `τ_j`。
2. 如果只需施加力或力矩，把数值放入 `τ` 的相应分量，并将 `τ` 作为前向动力学算法输入来计算系统响应。
3. `τ^a` 在 Featherstone 中表示主动闭环约束力；若模型没有运动学闭环，则不适用。
4. 重力可按书中 RNEA 的 `a_0 = -a_g` 从基座传播；也可逐刚体改为 `f_i^B = I_i (a_i - {}^iX_0 a_g) + v_i ×* I_i v_i`，但回答者认为会增加计算且无明显收益。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #7278：Adding an Actuator or Force to a (Featherstone) Articulated Rigid Body Model](https://robotics.stackexchange.com/questions/7278/adding-an-actuator-or-force-to-a-featherstone-articulated-rigid-body-model)