PX4FLOW 流量光学相机板

本文介绍如何设置 PX4FLOW(光学流量)传感器,该传感器可用于 非 GPS 导航.

警告

Plane 或 Rover 尚不支持 PX4FLOW。

概述

PX4FLOW (光流)传感器是一个专用的高分辨率向下指向相机模块和一个三轴陀螺仪,可利用地面纹理和可见特征来确定飞机的地面速度。虽然该传感器可提供内置的 Maxbotix LZ-EZ4 声纳来测量高度,但在测试中,该声纳在各种地面上都不够可靠,因此没有使用其读数。建议购买不带声纳的 PX4Flow 设备。取而代之的是一个单独的 测距仪LightWare SF10b 还应在载具上安装。

警告

要使用这种流量传感器,您需要单独购买一个测距仪,如 LightWare SF10b

购买地点

该传感器可从众多零售商处购买,其中包括

安装驱动程序(仅限 Windows)

在 Windows 机器上,"PX4Flow "设备应出现在Mission Planner地面站(和 Windows 设备管理器)的连接下拉菜单中,或由 QGroundControl 自动识别。如果没有,您可能需要下载、解压缩并手动安装 px4flow 窗口驱动程序 这可能反过来要求允许安装未签名的驱动程序。

使用任务计划软件

  1. 下载并解压 PX4Flow-KLT 固件 (源代码在这里)

  2. 使用微型 USB 电缆将 PX4Flow 传感器连接到电脑。

  3. 打开 "初始设置"、"安装固件 "屏幕,选择 COM 端口并单击 "加载自定义固件 "链接。选择在步骤 1 中下载的 px4flow-klt-06dec2014.px4 二进制文件。您可能需要拔下传感器插头并插回才能开始上传。

    ../_images/PX4Flow_FirmUpgrade1_MP.png
  4. 断开并重新连接传感器/USB 电缆

  5. 选择适当的 COM 端口,然后按连接

  6. 打开初始设置> 可选硬件> PX4Flow 屏幕

  7. 取下镜头盖,将相机对准至少 3 米外的高对比度物体。取下阻止镜头转动的小螺丝,调整焦距,直到图像清晰显示为止。

    ../_images/PX4Flow_Focus_MP.png

使用 QGroundControl

为了使用 QgroundControl、PX4Flow 和 ArduPilot,您需要使用 QGroundControl 加载的固件完成设置和聚焦,然后更新固件使其与 ArduPilot 兼容。

  1. 选择 "载具设置 "页面,然后单击 "固件 "选项卡。

  2. 使用微型 USB 电缆将 PX4Flow 传感器连接到电脑。

  3. 在右侧窗格中选中 "标准版本(稳定)"。点击 "OK(确定)"。QGroundControl 将闪存一个可用于镜头对焦的固件。

  4. 拔下并重新插入传感器。应该会出现两个额外的选项卡:"PX4Flow "和 "参数"。

  5. 单击 "PX4Flow",取下镜头盖,将相机对准至少 3 米外的高对比度物体。取下阻止镜头转动的小螺丝,调整焦距直到图像清晰显示。这将使设备对焦至无限远。重新装上螺丝。

  6. 下载并解压 PX4Flow-KLT 固件 (源代码在这里)

  7. 拔下传感器,单击 "固件 "选项卡并重新插入传感器。

  8. 在右侧点击固件版本下拉菜单,选择 "自定义固件文件"。点击 "确定"。然后选择上面下载的固件。QGroundControl 现在应闪存与 ArduPilot 兼容的固件。QGroundControl 现在会认为传感器是 Pixhawk。别担心。拔下插头,将其连接到(飞行)控制器。

连接至 Pixhawk

../_images/OptFlow_Pixhawk.jpg

传感器应通过 4 针 I2C 端口连接到(飞行)控制器。在大多数情况下,应使用 I2C 分线器允许其他 I2C 设备(如外部 RGB LED 和 GPS/指南针模块的指南针)共享同一端口。

安装到框架上

流量传感器的默认安装方式是直向下,微型 USB 端口朝向载具前部。传感器背面印有轴线,X 轴朝向前方,Y 轴朝向右方。轴 偏航方向 参数可用于考虑其他偏航方向。

流量传感器必须安装在不会产生角度振动的位置,以免图像模糊。

备注

默认安装方向与 PX4FLOW 维基百科.如果您按照 PX4FLOW 维基百科您需要设置 偏航方向 至 -9000。

启用传感器

./_images/OptFlow_MPSetup.png

使用任务规划程序连接(飞行)控制器,然后在 初始设置 | 可选硬件 | 光流 页检查 启用 复选框。或者 流量类型 参数应通过完整参数列表设置为 "1"。Pixhawk 电路板重启后,传感器将被初始化。

如果报告传感器不健康,设置 BRD_BOOT_DELAY 到 600(0.6 秒),然后重新启动(飞行)控制器。这样在(飞行)控制器通过 I2C 总线探测传感器之前,传感器就有更多时间启动。

测试和设置

参见 光学流量传感器测试和设置