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