其他调整主题

调整最大加速度和感觉

的最终设置为 ATC_ACCEL_x_MAX 参数取决于旋翼飞行器的大小。大型 800-900 级旋翼飞行器的参数一般在 36000-52000 之间;小型 450-500 级旋翼飞行器的参数一般在 90000-110000 之间。您可以尝试使用 ATC_INPUT_TC 参数,以便按您喜欢的方式获得飞机的初始响应。建议保留 ATC_INPUT_TC 参数在 0.15 和 0.25 之间。完成这一过程后,飞机应能获得所需的快感和速率。

下图显示了期望速率滚动与实际速率滚动的示例。峰值对应的是快速摇杆输入,峰值的振幅(高度)应大致相同,偏移不超过 100 毫秒。

../_images/TradHeli_tuning_example1_1.png

设置 IMAX 和 ILMI

IMAX 值限制了可存储的积分器误差值,以应对姿态上的巨大干扰。在俯仰轴上,该值由在高速前进时保持飞机姿态所需的积分器误差来设定。起始值为 0.4。要检查这一点,可将该值设为 IMAX = 1,让飞机以期望的最大速度飞行。调出日志,查看 PIDP 信息中的最大 I 值。将 IMAX 设置为比最大值高 0.1。您也可以对滚动轴进行同样的设置,但通常 0.4 就足够了。ILMI 设置为悬停时希望保留的积分器最大值,以帮助保持姿态。建议该值不大于 0.1。

下图是旋翼飞行器在高速自主飞行中的预期滚转姿态与实际滚转姿态对比图,其中 ILMI 参数设置为零。在正确设置 I-gain 和 IMAX 参数后,当速度超过 5 米/秒并持续 2 秒以上(我们称之为 "动态飞行")时,旋翼飞行器将非常接近地跟踪所需的姿态。在动态飞行中,它应与预期姿态保持在 1-2 度的范围内。在图的右侧,旋翼飞行器悬停,飞行员切换到稳定飞行模式。此时您会发现实际滚转姿态与期望滚转姿态之间存在差异。这就是将 ILMI 设置为零的效果。可以将 ILMI 视为悬停时的一种 "自动微调",当旋翼飞行器未处于动态飞行时,它将减少预期俯仰和滚转姿态与实际俯仰和滚转姿态之间的差异。

../_images/TradHeli_tuning_example2_1.png

为高速自主飞行调整 I 增益

用地面站软件准备一个任务,让旋翼飞行器以 6 米/秒的速度飞行,最好以 8 字形模式进行左右转弯。在此任务中驾驶旋翼飞行器,从 microSD 卡中提取日志,查看 AHRS 在动态飞行中的预期俯仰、滚动和偏航姿态与实际姿态的对比。它们的跟踪范围应在 1-2 度之内。如果没有,则增加 ATC_RAT_xxx_I 轴的值,直到他们这样做。

现在,执行同样的飞行任务,但速度提高到 9-10 米/秒,并以同样的方式分析日志。根据需要进一步调整 I 增益和 IMAX 值。由于没有两架旋翼飞行器是相同的,因此不清楚需要多少 I 增益值。但在俯仰和滚转时,I-gain 值一般在 0.25 - 0.38 之间,偏航时在 0.18 - 0.30 之间。常用的 IMAX 值为 0.40 - 0.45,但请参阅 "设置 IMAX 和 ILMI "部分,了解如何确定 IMAX 值。

防止 I 期积聚

I 项的一个缺点是,如果载具在移动过程中受到限制,就会产生 I 项,从而无法作出反应并减少任何长期误差,就像载具还在地面上时一样。I 项会增加到最大值,有可能导致载具倾覆。有两种方法可以避免这种情况。

首先是在地面或悬停时(实际上是在 GPS 速度小于 5 米/秒的情况下移动时),通过提供 "泄漏 "机制(以特定速率不断减少)进行限制。为了防止 I 项在低速或悬停时完全消失,参数为 atc_rat_rll_ilmiatc_rat_pit_ilmi因此,积分器泄漏和泄漏最小值参数可以保持足够的积分器泄漏量,从而有效地保持飞机姿态匹配,但又不会造成飞机翻滚。因此,积分器泄漏和泄漏最小值参数可以保持足够的积分器,使其有效地保持姿态匹配,但又不至于导致飞机翻滚。

第二种方法是使用 ArduPilot 的着陆和起飞检测算法,在地面上将 I 术语归零,并在起飞后使其正常运行。

使用哪种方法取决于 H_OPTIONS 位掩码。设置第 0 位(即参数值为 "1")将使用第一种泄漏积分器方法。由于这是在 4.1 之前的版本中使用的唯一方法,因此它是默认方法,以避免升级到 4.1 版本后行为发生变化。但清除该位(值 ="0")后,将使用第二种方法,这也是目前通常首选的方法。