光学流量传感器测试和设置¶
测试传感器¶
将传感器连接至(飞行)控制器后,使用Mission Planner地面站连接至(飞行)控制器并打开 "飞行数据 "屏幕的 "状态 "选项卡。如果传感器正在运行,您将看到 opt_m_x、opt_m_y 和 opt_qua 值均不为零。
机上校准¶
如果载具有 GPS,机上校准程序是获得良好校准的最简单方法:
设置 RCx_OPTION = 158(Optflow 校准),以允许从以下位置开始校准 辅助开关
将 EKF3 设置为使用 GPS(默认值)
EK3_SRC1_POSXY = 3 (GPS)
EK3_SRC1_POSZ = 1 (巴罗)
EK3_SRC1_VELXY = 3 (GPS)
EK3_SRC1_VELZ = 3 (GPS)
EK3_SRC1_YAW = 1(指南针)
ek3_src_options = 0(禁用 FuseAllVelocities)
在 Loiter 模式下将飞行器飞行至少 10 米(越高越好,但要在测距仪的限制范围内)。
将辅助开关拉高以启动校准
使用滚动杆和俯仰杆来回摇摆载具的滚动和俯仰方向
检查 GCS "信息 "选项卡是否有如下确认校准完成的输出结果
流量计: 已开始
流量计: x:0% y:0%
流量计: x:66% y:6%
流量计: x:100% y:74%
流量计: 样本 收集的
流量计: 标量x:0.976 合适: 0.10 <-- 降低 "适合"; 价值观 是 更好
流量计: 鳞片状:0.858 合适: 0.04
流量计: FLOW_FXSCALER=30.00000, FLOW_FYSCALER=171.0000
降落载具并设置 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)
再次驾驶飞行器检查性能
另一种方法可以避免在校准和测试之间降落和更改 EKF3 参数,即设置 GPS/Non-GPS 过渡 这样飞行员就可以在飞行中手动切换 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 (巴罗)
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)
基于日志的校准¶
要使用日志文件数据校准传感器,请按照以下步骤操作:
连接(飞行)控制器,通过设置 日志_解除警报 至 1
找一个表面有纹理、光线充足(自然光或强烈的白炽灯)的地方
拆除螺旋桨(安全第一)
接通载具电源,将水平仪放在远离身体和眼睛的位置
在大约一秒钟的时间内,围绕滚动中的载具旋转 -15 至 +15 度,然后再返回。重复 5 到 10 次。在旋转过程中,闭上一只眼睛,就能使传感器中心与背景保持静止。
围绕载具俯仰轴重复。
下载数据闪存日志并绘制
OF.flowX
,OF.bodyX
和IMU.GyrX
数据。它应该是这样的如果
OF.flowX
大于或小于OF.bodyX
则可以通过更改FLOW_FXSCALER
规范IF
OF.bodyX
不相关或与IMU.GyrX
,"...... 偏航方向 参数设置可能不正确,或者流量传感器没有朝下绘制
OF.flowY
,OF.bodyYband
,IMU.GyrY
数据。它应该是这样的如果
OF.flowY
大于或小于OF.bodyY
则可以通过更改FLOW_FYSCALER
规范IF
OF.bodyY
不相关或与IMU.GyrY
,"...... 偏航方向 参数设置可能不正确,或者流量传感器没有朝下
量程传感器检查¶
检查 EKF5.meaRng
流量传感器校准测试闪存日志中的信息。检查以下内容:
可进行连续量程测量。
它在地面上输出的距离是预期值的 10 厘米(请记住,在载具翻滚或俯仰时,测得的距离会增加,因为激光是在斜面上测量的)
臂前检查¶
要允许在没有 GPS 的情况下在 Loiter 启动和起飞,应关闭 GPS 启动检查,如下图所示。取消选中 "全部 "和 "GPS",并选中所有其他选项。
首次飞行¶
设置 EK3_SRC1_VELXY = 0(在此阶段,我们不希望 EKF 使用光流)
在 50 厘米至 3 米的高度范围内,以小倾角在 STABILIZE 或 AltHold 条件下悬停,或在 QSTABILIZE 或 QHOVER 条件下悬停。
下载闪存日志,并在Mission Planner地面站中绘制以下内容
EKF5.meaRng 应与载具高度变化相关联
OF.flowX
和OF.flowY
应不尽相同OF.bodyX
和OF.bodyY
应与 IMU.GyrX 和 IMU.GyrY 一致
第二次飞行¶
警告
要安全地完成这次飞行,飞行器周围至少需要 15 米的净空。如果光流速度估计不准确,您将几乎没有预警,飞行器可能会很快倾斜到最大倾斜角。
设置 EK3_SRC1_VELXY = 5 和 EK3_SRC1_POSXY = 0,使 EKF 忽略 GPS 并使用流量传感器
确保发射机上有可用的位置悬停和悬停模式。
在地面控制站地图上设置 "EKF 原点"。在Mission Planner地面站中单击右键,选择 "在此设置原点",并选择设置 "在此设置 EKF 原点"。
在位置悬停状态下起飞,将旋翼飞行器/垂直起降固定翼飞行器升至约 1 米的高度
如果飞行器开始加速离开或出现不稳定的俯仰或滚动运动,则切换到悬停并着陆。您需要下载日志文件并分享到 论坛 以了解原因。
如果它能保持位置不变,那么恭喜你,你成功了,现在可以开始尝试改变高度,并在位置悬停模式下移动它了。
[/site]
正常运行设置¶
设置 ek3_src_options = 0 表示禁用 FuseAllVelocities
设置 EK3_FLOW_DELAY 取决于光学流量传感器
设置 EK3_SRC1_POSXY = 3(来自 GPS 的主水平位置,设为 0 时仅使用光流量传感器)
设置 EK3_SRC1_VELXY = 5(来自 OpticalFlow 的原始水平速度)
设置 EK3_SRC1_POSZ = 1(来自气压计的主要垂直位置)
设置 EK3_SRC1_VELZ = 0(无主垂直速度传感器)
设置 EK3_SRC1_YAW = 1(主要偏航/航向来自罗盘)
此外,GPS 还可以使用 EKF 光源切换功能与 OpticalFlow 协同工作。
参见 GPS / 非 GPS 转换 了解有关 EKF 信号源切换的信息。
备注
当飞行器启用了光流传感器(以及测距仪)并将其指定为唯一的水平位置源时(例如 EK3_SRCx_VELXY``=OpticalFlow 和 EK3_SRCx_POSXY``=无) 和 的 载具 是 飞行 于 a 试验 受控 模式 需要 a 位置 估价 (即 位置悬停 或 PosHold) 的 载具 将 不 爬升 以上 的 测距仪的 最大 高度 指定 于 `RNGFNDx_MAX_CM
.这是一种安全机制,否则当飞行器飞出测距仪范围时,EKF 失效保护装置就会触发。