# 四旋翼 PID 小角度无响应且超调怎么办

> 原文链接：https://robotics.hellobike.com/pitfalls/2021-06-09-robotics-se-9554
> 频道：pitfalls | 更新日期：2021-06-09 | 标签：auto, stackexchange, quadcopter, control, pid, imu
> 核心摘要：四旋翼 PID 响应弱、总超调；采纳答案建议去掉 I/D 符号强制和条件分支，改用标准 PID 公式。

# 四旋翼 PID 小角度无响应且超调怎么办

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Quadcopter PID Algorithm](https://robotics.stackexchange.com/questions/9554/quadcopter-pid-algorithm)（Robotics Stack Exchange #9554）

**状态**：已解决

## 问题

在四旋翼上实现俯仰 PID 时，小角度几乎无响应，需超过约 15 度才有动作；即使调整 I、D 增益仍总是超调，低 P 可减小超调但控制过弱。

## 环境

闭环运动控制器

## 解决办法

1. 删除 PID 中对 `I_term`、`D_term` 的符号强制，以及大量 `if`/`else` 条件判断。
2. 按标准形式计算：`pError = Input - Output`，`iError = iError + pError*dt`，`dError = (pError - previousError)/dt`。
3. 更新 `previousError = pError`，并用 `ControlSignal = kp*pError + ki*iError + kd*dError` 生成控制量。
4. 不要在 PID 内按电机对分别写条件控制逻辑；答案建议使用一个控制信号再处理分配。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #9554：Quadcopter PID Algorithm](https://robotics.stackexchange.com/questions/9554/quadcopter-pid-algorithm)