本章进一步详细介绍了与 Qualcomm Navigator 集成的基于视觉的应用程序。
要进入依赖于光流的任何模式,snav_dft_app 必须在应用程序处理器上运行。 此应用程序从相机驱动程序获取帧数据,处理帧上的光流,并将结果数据传递给飞行控制器的 Qualcomm Navigator。
运行以下命令将 Qualcomm Navigator 配置为使用 Optic Flow:
$ sudo /etc/snav/configure_dft.sh
Qualcomm Navigator 在向下摄像头上启用 Optic Flow 的情况下重新启动。
查看所有可用选项:
$ sudo /etc/snav/configure_dft.sh -h
警告:光流 (DFT) 仅支持朝下的相机。 不要尝试在相机倾斜 45 度的情况下运行此过程。
注意:光流 (DFT) 仅支持具有工作声纳的飞行器。
默认启用相机参数调整,因此相机曝光和增益会在运行时根据环境进行调整。 因此,飞行器可以在不同的照明场景下以光流飞行,从昏暗的室内照明到明亮的室外阳光。 当飞越纹理非常少的表面时,性能可能会下降。
要进入 VIO 模式,snav_dft_vio_app 必须在应用程序处理器上运行。 此应用程序从相机驱动程序获取帧数据,处理帧上的 VIO 数据,并将结果数据传递给飞控的 Qualcomm Navigator。
运行以下命令将 Qualcomm Navigator 配置为使用 VIO:
$ sudo /etc/snav/configure_vio.sh
Qualcomm Navigator 在向下倾斜 45 度的摄像头上启用 VIO 后重新启动。
查看所有可用选项:
$ sudo /etc/snav/configure_vio.sh -h
通过运行以下命令,可以在严格朝下的相机上使用 VIO:
$ sudo /etc/snav/configure_vio.sh -c downward
注意:使用倾斜 45 度的向下摄像头时,VIO 性能会提高。
默认启用相机参数调整,因此相机曝光和增益会在运行时根据环境进行调整。 因此,从昏暗的室内照明到明亮的室外阳光,飞行器可以在不同的照明场景下与 VIO 一起飞行。 当飞越纹理非常少的表面时,性能可能会下降。
警告:在尝试以 VIO 模式飞行之前,请确保通过 /etc/snav/mount.snav_dft_vio_app.xml 中的参数准确捕获相机和 IMU 之间的平移和旋转。 该文件是为 VIO 配置系统时设置的符号链接。
注意:VIO 是在为 8x96 板安装 Qualcomm Navigator 时自动配置的。
要使用 VOA,snav_voa_app 必须在应用程序处理器上运行。 此外,此应用程序依赖于来自 VIO 的有效姿态估计,因此 snav_dft_vio_app 也必须在应用程序处理器上运行。 VOA 应用程序从立体相机接收图像并计算深度估计。 生成的深度图和来自 VIO 的姿势用于确定在障碍物附近导航时的安全速度。
运行以下命令将 Qualcomm Navigator 配置为使用 VOA:
$ sudo /etc/snav/configure_voa.sh
Qualcomm Navigator 重新启动,并在倾斜 45 度的向下摄像头上启用 VOA 处理立体图像和 VIO。
查看所有可用选项:
$ sudo /etc/snav/configure_voa.sh -h
通过运行以下命令,可以在严格朝下的相机上使用 VOA 和 VIO:
$ sudo /etc/snav/configure_voa.sh -c downward
注意:使用倾斜 45 度的向下摄像头时,VIO 性能会提高。
警告:VOA 需要准确的立体声校准。 在未先执行充分的立体相机校准之前,请勿尝试运行此应用程序。 校准后,使用校准参数编辑 /etc/snav/app_params.snav_voa_app.xml 和/或 /etc/snav/calibration.stereo.xml。
Qualcomm Navigator有多个视觉相关的应用,包括snav_dft_app、snav_dft_vio_app、snav_voa_app。 这些应用程序具有相应的参数文件,用于设置与每个应用程序关联的参数,位于 /etc/snav/app_params.
这些参数将在稍后记录。
这些参数将在稍后记录。
以下参数可在相应的相机文件 /etc/snav/camera.
增益代价和曝光代价的总和影响亮度代价的加权程度。 MV SDK 为基于代价的方法定义了如下指南:
这些参数位于相应的校准文件 /etc/snav/calibration.