备注

参考 本页 如果您使用的是 4.1 版本。

翱翔

./_images/soar-cover.jpg

ArduPilot 的自主翱翔功能允许飞机对上升的气流(热气流)做出反应,以延长续航时间,并在尽量少使用发动机的情况下提高飞行高度(翱翔)。其完整的技术说明见

S.Tabor, I. Guilliard, A. Kolobov. ArduSoar:适用于资源有限的(飞行)控制器的开源恒温控制器. 2018年国际智能机器人与系统大会(IROS)。

备注

强烈建议使用空速传感器,以获得最佳性能。不使用传感器可能会产生不理想的结果。在没有空速传感器的情况下也能稳定运行,这有待于未来的发展。

../_images/thermalling.jpg

这张图片显示了使用翱翔功能时的不同飞行阶段:

  1. 如果输入了 "自动"、"FBWB "或 "翱翔 "模式,并启用了 "翱翔 "功能,则油门将设置为零,前提是飞机在 "翱翔 "模式以上。 SOAR_ALT_MIN 然后飞机开始滑行。

  2. 在自动模式下,如果飞机下降到 SOAR_ALT_MIN 高度时,油门重新启用,飞机将开始爬升至下一个航点的高度。如果该航点高度小于 翱翔高度截止 高度,则在到达航点之前不能开始翱翔。如果在 翱翔高度截止 在 FBWB 或 CRUISE 模式下,如果 "翱翔 "模式的飞行高度达到了该高度,那么 "翱翔 "模式就会发生。在 FBWB 或 CRUISE 模式下,如果 SOAR_ALT_MIN 达到高度后,将启动 RTL,因此飞行员必须禁用翱翔,或切换到 FBWB 或 CRUISE 以外的模式,以爬升到高于高度的位置。 翱翔高度截止 以重新开始滑行,防止 RTL 开始。

  3. 当飞机到达 翱翔高度截止 高度,节流阀再次设置为零。

  4. 如果在滑翔飞行过程中,估计空气上升速度超过 SOAR_VSPEEDRC 开关位置 如果允许,飞机将自动进入 LOITER 模式。在 LOITER 模式下,飞机将调整停机位置,以更好地对准热气流中心。

  5. 在下列情况下,将退出 LOITER 模式:

    飞行模式将恢复到触发 LOITER 之前的状态。作为例外情况,如果之前的模式是 "FBWB "或 "CRUISE",而热飞行因达到 SOAR_ALT_MIN则会触发 RTL。

硬件

要使用飞机进行翱翔,最好是升阻比良好的滑翔机类型,并配备空速传感器。

一般来说,所有官方都支持翱翔、 除开 上提到的有固件限制的 本页.截至 2020 年 6 月,不支持的电路板包括

  • KakuteF7Mini

  • KakuteF7

  • 火花2

  • Pixhawk1-1M

  • OMNIBUSF7V2

设置

使命

对飞行任务的主要要求是将飞机飞越 翱翔高度截止 以启动滑翔飞行。为此,请将航点的高度设置在高于 翱翔高度截止.

TECS

设置 TECS_SPDWEIGHT 到 2.0。这将确保飞机在关闭发动机时能正确滑行。

飙升参数

启用

设置参数 SOAR_ENABLE 为 1 并刷新参数。这样,其他 SOAR 参数就会出现在 GCS 中。

极地拖曳

要计算空气上升或下沉的速度,(飞行)控制器需要知道飞机在静止空气中给定空速下的下沉率。这与飞机的阻力极值有关,使用 SOAR_POLAR 参数进行指定。 SOAR_POLAR_K 是最重要的初始设置,计算公式如下:

SOAR_POLAR_K = 16*重量/面积(重量以千克为单位,面积以平方米为单位)。

SOAR_POLAR_K = 703*重量/面积(重量以盎司为单位,面积以平方英寸为单位)。

其他参数的计算方法将在 "调整 "部分进行说明。

RC 开关(可选)

您可以使用一个 2 位 RC 开关来控制(飞行)控制器何时可以使用翱翔。将参数 SOAR_ENABLE_CH 设置为相应的通道号。2 个位置的作用如下。

  • 低于 1700us。将禁用翱翔(相当于设置 SOAR_ENABLE = 0)。油门将正常使用。从以下任一位置切换至此,将禁用翱翔并保持当前飞行模式。

  • 超过 1700us。根据检测到的上升空气和上升气流,从自动、FBWB 或巡航模式全自动切换到 LOITER 模式。

装载半径

参数 WP_LOITER_RAD 设定停机坪的范围。对于热气流飞行,通常最好让飞机以 30 - 45 度的倾角飞行。相应的停机半径可通过以下公式计算:约 10(45 度)或约 6(30 度)的空速平方

切线表示所需的倾斜角度。得出的半径单位为米。使用 g = 9.81 m/s/s,速度 (v) 单位为 m/s。例如,如果位置悬停时的空速为 20 米/秒,则 WP_LOITER_RAD 45 度河岸应为 40 米。

应确保限制倾角 ROLL_LIMIT_DEG 设置的角度要比所需的倾角大一些,以留出一定的操纵空间。

设定限制

由于翱翔功能可根据需要追随上升的空气以获得高度,因此必须设置限制以避免其完全离开原始飞行区域。在有风的情况下,这一点尤为重要,因为(飞行)控制器会尝试跟随热气流顺风飞行。

高度限制

SOAR_ALT_MAX 设定(飞行)控制器停止热气流的高度。 SOAR_ALT_MIN 设置滑行时(飞行)控制器要下降到的最低高度。

空间限制

地理围栏 可用于限制所使用的物理飞行区域。按常规方法进行设置。

飞行稳定调整

触发升降

SOAR_VSPEED 控制何时将模式切换为 LOITER 以开始热气流。如果在强气流条件下飞行,0.7 米/秒的默认值可能过低。增加该值会使飞机更 "挑剔 "地选择升力,并尝试绕圈飞行。

极地拖曳

默认设置为 SOAR_POLAR_BSOAR_POLAR_CD0 对于大多数泡沫式滑翔机来说,这些参数应该没有问题,但提高这些参数的精确度将改善飞机检测和集中升力的方式。您可以使用 本试算表 从滑行测试中计算出更好的数值。

时间滞后

增加滞后可以降低模式变化的频率。

翱翔_min_thml_s:由于升力不足或高度限制,进入热气流后,在退出前停留在 LOITER 的最短时间。

飙升_最小_crse_s:由于升力不足或高度限制而退出 LOITER 后,再次进入 LOITER 模式或最初进入翱翔模式前保持滑翔的最短时间。

TECS 飞行稳定调整

为达到最佳效果,需要设置 TECS,使飞机在滑翔时保持稳定的空速。

如果您的飞机在准确保持空速方面有问题,您可以通过以下方法进行调整 TECS_SPDWEIGHT 设置为 2.0、 SOAR_ENABLE 为 1,并设置 SOAR_VSPEED 为一个大数,例如 50.0,或者使用 RC 开关 来抑制模式变化。这意味着飞机会滑行,但永远不会开始热气流飞行。设置 翱翔高度截止 到足够高的高度,以便有足够长的滑翔时间。

启动飞机并将其设置为自动模式。飞机应爬升至 翱翔高度截止 然后开始滑翔下降。飞行后观察遥测图或查看 Dataflash 日志。飞机是否保持了所需空速?在机载日志中可以看到实际空速和要求空速为 TECS.spTECS.spdem通过遥测,您可以使用 NAV_CONTROLLER_OUTPUT.aspd_error.问题通常可以通过增加 PTCH2SRV_IMAXtecs_integ_gain 以在滑翔飞行中实现良好的空速跟踪。

说明

使用 TECS 合成空速

如果您的飞机无法安装空速传感器,可以使用 TECS 合成空速估算器 tecs_synairspeed.在决定使用该功能之前,请务必阅读相关警告。要使用此功能,请设置参数 tecs_synairspeed 至 1。