极限循环检测¶
ArduPilot 提供极限周期检测功能,以帮助减少或消除控制回路中因调整增益过大而产生的振荡。该算法会监控执行器的回转率,如果超过 _SMAX 参数设置的限制,就会降低控制回路增益,试图阻止振荡。这些参数是
ATC_BAL_SMAX 平衡机器人循环
ATC_SAIL_SMAX 用于风帆管理回路
ATC_SPEED_SMAX 用于速度控制回路
atc_str_rat_smax 用于转向控制回路
限值应设置为不超过推杆最大回转速率的 25%,以考虑负载效应。
目前的默认值为 "0",即禁用。如果出现振荡,可以通过实验将其设置为一个值。设置过低会导致响应迟缓。
当超过这些值时,相应的 PID Dmod 日志数据(PIDR.Dmod、PIQP.DMod 等)将在图中显示低于 1 的尖峰值,表明增益降低。理想的调整会在运行过程中偶尔出现这种情况,但并不频繁。通过检查记录的 PIDx.SRate 信息,可以查看实际使用的回转速率,并适当设置这些 _ SMAX 值,使其处于或略高于一般峰值回转速率。
平面间距的例子: