无罗盘操作

长期以来,飞机一直可以在没有罗盘的情况下运行。不过,最近增加的其他偏航源为多旋翼飞机、四旋翼飞机和UGV无人车提供了无罗盘操作的可能性。可用的机制有

  • 起飞后将偏航对准 GPS(仅限飞机)

  • GSF(高斯和滤波器)通过比较单个 GPS 的输出和 IMU 的运动来估计航向

  • 偏航/航向 GPS 使用两个 UBlox F9 GPS 的位置来计算偏航

  • 英特尔 RealSense T265 可以提供相对于其启动偏航的偏航量

将偏航对准 GPS(仅限平面)

在飞机上,起飞后使用稳定的 GPS 航向来对齐偏航的/姿态/速度/位置/航向估计滤波器 (EKF)。这通常发生在没有罗盘的飞机起飞几秒钟后。但是,这种方法不能用于 Quadplane 的 VTOL 导航,因为它需要在起飞后不久没有 GPS 速度或航向输入的情况下保持精确。

备注

在 4.3 固件中,使用 GSF 代替,见下文。

GSF

ArduPilot 4.1(及更高版本)支持高斯求和滤波器 (GSF),在没有偏航源(如指南针)或偏航源不健康的情况下,可利用 IMU 和 GPS 输入计算可能的航向。

警告

目前,它对 QuadPlane VTOL 尾翼飞行器的作用不大,因为它们在 VTOL 飞行时机头是垂直指向的。仍然建议尾翼飞行器使用指南针。此外,要使其正常工作,振动应较小,GPS 速度应准确,见下文。

备注

GSF 依赖于 GPS 的良好速度报告。请勿尝试使用老一代 GPS,至少应使用 UBlox M8 或同等性能的 GPS。此外,确保 GPS 的天空视图在整个飞行过程中畅通无阻。否则会导致航向估计不准确。在飞机上,如果 GPS 精度受到附近其他飞行器设备(如摄像头等)的干扰,GSF 的性能可能会比上述仅依靠将偏航对准 GPS 航向的性能更差。在这种情况下,最好通过设置 ek3_gsf_use_mask = 0.

设置

只需设置 COMPASS_ENABLE = 如果 EKF 参数使用正常默认值,将自动回退到 GSF。

要配置 EKF3 始终使用 GSF,请设置 EK3_SRC1_YAW = 8 (GSF)。

运行

目前,只有 Plane 会在下列情况下启动 上膛检查 罗盘(或全部)启用,而未启用罗盘。Copter 和 QuadPlane 将提示上膛失败。上膛 Copter 和 QuadPlane 的三种可能方法是

  1. 禁用 上膛检查 给 Compass(保留其他的!)。

  2. 从地面站强行启动。

  3. 在上膛之前,但在获得 GPS 锁定且 EKF 原点已设定并处于 "使用 GPS "状态之后,拿起飞行器在直径几米的范围内走一圈。这样,GSF 就能获得偏航对准,并向地面站发送 "EKF 偏航对准完成 "的信息。

警告

如果使用前两种方法中的任何一种,那么飞行器在 VTOL 位置控制模式下的首次移动最初可能会方向错误,但在获得 GSF 的偏航对齐后应迅速停止。要么让飞行器在非位置控制模式(如稳定或 QHOVER)下飞行一段时间,要么给飞行器足够的间隙来应对未知的初始运动方向。

之后,飞行和导航应该是可以接受的。

备注

在没有罗盘的平面上,由于尚未安装偏航传感器,载具在上膛后将从 EKF3 降回 DCM(通过 MAVLinK 发送 "DCM 激活 "信息)。这将在 MP HUD 中标记为 "Unhealthy AHRS",或在遥控遥测系统(如 CRSF)上标记为 "AHRS Bad"。请忽略这一点,一旦飞机开始移动,EKF3 就会获取偏航信息并对齐,操作将切换回偏航信息("EKF3 激活")。

如果遇到任何问题,请在 https://discuss.ardupilot.org 论坛

视频