sentry_gimbal_hzz/.Doc/合理地进行PID参数整定.md

20 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 利用Ozone进行model-based PID tunning
Ozone的实时变量可视化监测(示波器)功能可以很好地帮助我们观察控制器在时域的表现,典型的有上升时间、超调量和稳态时间等。
## 调试顺序
先内环,后外环。若有已知的外部扰动如阻力、重力等可以在**保持kp不变**的情况下添加积分环节,并查看达到稳态时积分的输出,该输出值可以作为**前馈**作用通过feedforward_ptr一同送入下一个串级控制器。
经典的经验式整定方法有简单的Ziegler-Nicols法和Cohen-Coon法还有需要一定的系统辨识的Chien-Hrones-Reswick、Tyreus-Luyben和Skogestad法。这些方法在网络上或提出方法的论文中都有详尽的说明这里不再赘述。
我们可以使用上述方法确定一套参数的初值,再根据时域表现进行精细的参数调整。
以笔者个人的纯调参无模型云台调试经验,可以进行如下步骤:
1. 首先整定P参数使用二分法确定大致范围。将电机参考速度和实际速度在Ozone示波器同一窗口中打开以观察时域表现。把pid的ref值添加到变量观测方便修改只要修改ref值每次就可以触发阶跃信号输入。当P达到欠阻尼且波动只有一个周期只有超调一个峰开始添加D参数。
2. 添加微分参数。务必打开微分滤波器并根据你的闭环带宽速度环要跟随的频率设置滤波系数。目前使用的是一阶低通滤波后续考虑增加高阶滤波器和特殊的带宽滤波器切比雪夫、巴特沃斯等。调节D参数至P进入临界阻尼或过阻尼的状态没有超调
3. 交替增大比例系数和微分系数,直到出现不可控的微分抖动,然后减小两者的值直到出现一个合适的平衡(调个大概即可,没有模型的情况下很难达到均衡)
4.