文章目录
前言
将传感器连接至自动驾驶仪后,使用任务计划器连接至自动驾驶仪并打开“飞行数据”屏幕的“状态”选项卡。如果传感器正在运行,你将看到 opt_m_x、opt_m_y 和 opt_qua 值均不为零。
1 测试传感器
将传感器连接至自动驾驶仪后,使用任务计划器连接至自动驾驶仪并打开“飞行数据”屏幕的“状态”选项卡。如果传感器正在运行,你将看到 opt_m_x、opt_m_y 和 opt_qua 值均不为零。
2 空中校准
如果飞行器有 GPS,机上校准程序是获得良好校准的最简单方法:
1. 设置 RCx_OPTION = 158(光流校准),以便从辅助开关(auxiliary switch)启动校准。
2. 将 EKF3 设置为使用 GPS(默认值):
- EK3_SRC1_POSXY = 3(GPS);
- EK3_SRC1_POSZ = 1 (Baro);
- EK3_SRC1_VELXY = 3 (GPS);
- EK3_SRC1_VELZ = 3 (GPS);
- EK3_SRC1_YAW = 1 (指南针);
- EK3_SRC_OPTIONS = 0(禁用 FuseAllVelocities)。
3. 在 Loiter 模式下将飞行器飞行至少 10m(越高越好,但要在测距仪的限制范围内)。
4. 将辅助开关拉高,开始校准。
5. 使用滚动杆和俯仰杆来回摇动飞行器的滚动和俯仰方向。
6. 检查 GCS“信息”选项卡是否有如下输出,以确认校准已完成。
FlowCal: Started
FlowCal: x:0% y:0%
FlowCal: x:66% y:6%
FlowCal: x:100% y:74%
FlowCal: samples collected
FlowCal: scalarx:0.976 fit: 0.10 <-- lower "fit" values are better
FlowCal: scalary:0.858 fit: 0.04
FlowCal: FLOW_FXSCALER=30.00000, FLOW_FYSCALER=171.0000
7. 降落飞行器并设置 EKF3 以使用 OpticalFlow:
- EK3_SRC1_POSXY = 0(无);
- EK3_SRC1_VELXY = 5(光流);
- EK3_SRC1_POSZ = 1 (气压);
- EK3_SRC1_VELZ = 0(无);
- EK3_SRC1_YAW = 1 (北斗);
- EK3_SRC_OPTIONS = 0 (禁用 FuseAllVelocities)。
8. 再次驾驶飞行器检查性能。
另一种方法可以避免在校准和测试之间降落和更改 EKF3 参数,即设置 GPS/Non-GPS 转换(GPS/Non-GPS transitions),以便飞行员在飞行中手动在 GPS 和光流之间切换。假设飞行员使用遥控输入 8(2 位开关)启动校准,并使用遥控输入 9(3 位开关)在 GPS 和光流之间切换,则完整的参数列表如下。
- RC8_OPTION = 158(Optflow 校准);
- RC9_OPTION = 90(EKF 位置源)低电平为 GPS,中间为 OpticalFlow,高电平未使用;
- EK3_SRC1_POSXY = 3(GPS);
- EK3_SRC1_POSZ = 1(Baro);
- EK3_SRC1_VELXY = 3 (GPS);
- EK3_SRC1_VELZ = 3 (GPS);
- EK3_SRC1_YAW = 1 (北斗);
- EK3_SRC2_POSXY = 0(无);
- EK3_SRC2_VELXY = 5(光流);
- EK3_SRC2_POSZ = 1 (气压);
- EK3_SRC2_VELZ = 0(无);
- EK3_SRC2_YAW = 1 (北斗);
- EK3_SRC_OPTIONS = 0 (禁用 FuseAllVelocities)。
3 基于日志的校准
要使用日志文件数据校准传感器,请按照以下步骤操作:
1. 连接到自动驾驶仪,并将 LOG_DISARMED 设置为 1,以确保启用撤防时记录功能。
2. 寻找一个有纹理表面和良好照明(自然光或强白炽灯)的位置。
3. 取下螺旋桨(安全第一)。
4. 打开飞行器电源,将水平仪放在远离身体和眼睛的位置。
5. 在一秒钟内围绕飞行器在 -15 度到 +15 度的范围内滚动旋转,然后再返回。重复 5 到 10 次。在旋转过程中,闭上一只眼睛,就能使传感器中心与背景保持静止。
6. 围绕飞行器俯仰轴重复上述操作。
7. 下载数据闪存日志,绘制 OF.flowX、OF.bodyX 和 IMU.GyrX 数据图。它应该是这样的。
8. 如果 OF.flowX 大于或小于 OF.bodyX,则可通过更改 FLOW_FXSCALER 参数进行调整。
9. 如果 OF.bodyX 与 IMU.GyrX 不相关或相反,则可能是 FLOW_ORIENT_YAW 参数设置错误或流量传感器没有朝下。
10. 绘制 OF.flowY、OF.bodyYband 和 IMU.GyrY 数据图。它应该是这样的。
11. 如果 OF.flowY 大于或小于 OF.bodyY,则可以通过更改 FLOW_FYSCALER 参数进行调整。
12. 如果 OF.bodyY 与 IMU.GyrY 不相关或符号相反,则可能是FLOW_ORIENT_YAW 参数设置错误或流量传感器没有朝下。