计算机视觉(光流、MoCap、VIO、避让)
计算机视觉 这些技术使计算机能够利用视觉数据来感知周围环境。
PX4 使用计算机视觉系统(主要运行于 配套计算机),以支持以下功能:
- 光流 提供二维速度估算(使用向下摄像头和向下距离传感器)。
- 动作捕捉 利用视觉系统提供三轴姿态估计。 外部 与载具连接。它主要用于室内导航。
- 视觉惯性测距 它利用机载视觉系统和 IMU 进行 3D 姿态和速度估计。在没有全球导航卫星系统(GNSS)位置信息或位置信息不可靠的情况下,它可用于导航。
- 避开障碍物 在按计划路径飞行时,可提供绕过障碍物的完整导航(目前支持任务)。它使用 PX4/PX4-Avoidance 在配套电脑上运行。
- 预防碰撞 用于在载具撞上障碍物之前将其停止(主要是在手动模式下飞行时)。
TIP
PX4 Vision 自主开发套件 (Holybro) 是一款功能强大、价格低廉的工具包,适用于在 PX4 上进行计算机视觉开发的开发人员。它没有预装软件,但包含一个避障示例,用于演示该平台的功能。
动作捕捉
运动捕捉(MoCap)是一种估算 3D 姿势 (使用定位装置对载具进行定位(位置和方向),该装置是 外部 到载具。MoCap 系统通常使用红外摄像机检测运动,但也可使用其他类型的相机、激光雷达或超宽带 (UWB)。
信息
MoCap 通常用于在没有 GPS 的情况下(如在室内)为载具导航,并提供相对于以下设备的位置 当地 坐标系。
有关 MoCap 的信息,请参见
视觉惯性测距(VIO)
视觉惯性测距(VIO)用于估算 3D 姿势 (位置和方向)和 速度 行驶中的载具相对于 当地 起始位置。它通常用于在没有 GPS(如在室内)或 GPS 不可靠(如在桥下飞行时)的情况下为载具导航。
VIO 使用 视觉测距 估算载具 姿势 通过视觉信息,结合来自 IMU 的惯性测量(以纠正因载具快速移动导致图像捕捉不佳而产生的误差)。
信息
虚拟信息接口与 MoCap 因为 VIO 摄像机/IMU 是基于载具的,还能提供速度信息。
有关在 PX4 上配置 VIO 的信息,请参阅:
光流
光流 提供二维速度估算(使用向下摄像头和向下距离传感器)。
有关光流的信息,请参见
比较
用于本地位置估计的光流与 VIO
这两种技术都使用摄像头,测量帧间的差异。光流技术使用的是俯视摄像机,而 VIO 使用的是立体摄像机或 45 度跟踪摄像机。假设两者都经过良好校准,哪种方法更适合本地位置估算?
共识 似乎是:
光流
- 向下的光流可提供平面速度,并通过陀螺仪对角速度进行校正。
- 需要与地面保持准确的距离,并假定地面为平面。在这些条件下,它可以与 VIO 一样精确/可靠(例如室内飞行)。
- 比 VIO 更强大,因为它的状态更少。
- 由于只需要一个流量传感器、一个测距仪和设置几个参数(这些参数可连接到飞行控制器),因此成本大大降低,设置也更容易。
VIO:
- 购买成本较高,设置难度较大。它需要单独的配套电脑、校准、软件、配置等。
- 如果没有点状特征可跟踪,则效果较差(实际上,现实世界一般都有点状特征)。
- 更加灵活,允许增加避障和绘图等功能。
组合(融合两者)可能是最可靠的,但在大多数实际情况下并非必要。通常情况下,您会选择适合您的操作环境、所需功能和成本限制的系统:
- 如果您计划在没有 GPS 的情况下进行户外飞行(或在户外和室内飞行),或需要支持避障和其他计算机视觉功能,请使用 VIO。
- 如果您只打算在室内飞行(不带 GPS),而且成本是一个重要的考虑因素,请使用光流。
外部资源
- XTDrone - 用于计算机视觉的 ROS + PX4 仿真环境。计算机视觉 XTDrone 手册 这里有您入门所需的一切!