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