主要内容

光流与鹦鹉迷你无人机

简介

鹦鹉微型无人机使用各种机载传感器,如加速度计和陀螺仪来稳定自身。但是,由于微小的缺陷,无人机不能停留在原地,并倾向于漂移。这种情况可以通过使用无人机向下摄像头的图像来避免。摄像机连续捕捉图像,并检查X和Y方向的运动。飞行控制器除了使用加速度计和陀螺仪外,还使用相机数据来稳定自身在空间中并保持无人机的x-y位置。

光流

为了理解光流,考虑这样一种情况,由于传感器中的一些噪声,无人机在x方向上漂移了dx距离,在y方向上漂移了dy距离。在这种情况下,控制器需要知道在x和y方向上移动的距离,以使它回到原始位置。

这可以使用朝下的摄像头通过比较无人机移动时的连续图像来获得。向下的摄像头固定在地面上的物体/图案上,如果该物体/图案的位置有任何变化,摄像头将其报告为速度方面的运动-这是光流。这种速度测量可以用来计算无人机移动的距离。

解决光流问题

在某些情况下,摄像机无法检测到水平运动。如果无人机下方的表面纹理是均匀的,没有图案,摄像头可能检测不到运动。此外,当光线较暗时,相机可能无法检测到移动。在这种情况下,光流值将为零,导致漂移和无人机可能坠毁。

为了避免这种情况,我们在新的Simulink项目模板中建模了一个逻辑(崩溃预测逻辑),金宝app盘旋鹦鹉迷你无人机.的parrotMinidroneHover项目(是模板的一部分)包含崩溃预测标志子系统(在flightControlSystem金宝app仿真软件模型)。该子系统用于在连续采样50次没有光流测量时关闭无人机。

如果无人机由于光流问题而关闭,可以对表面进行一些修复以增加对比度。增加表面对比度可确保相机产生非零光流值。

下图显示了一个表面的场景,你可能会看到光流误差:

红色标记的区域是均匀纹理的表面。当无人机飞过地面时,它接收到的光流信息为零。这是无人机看到的:

在这种情况下,无人机将漂移并最终坠毁。

为了增加对比度,在无人机飞行的表面上添加胶带。这一改变避免了由于光流问题而关闭无人机。

下图显示了在表面添加磁带以增加对比度的示例。

这是无人机现在看到的:

表面的纹理不需要如上图所示。它可以是任何随机的图案,只要在表面有一个对比。

在有光流问题的情况下,即使表面有对比度,照明也可能是一个问题。在这种情况下,增加房间的照明,使无人机可以获得非零光流值。

金宝app光流仿真模型

parrotMinidroneHover项目的一部分盘旋鹦鹉迷你无人机金宝appSimulink模板)中,对关闭无人机的坠毁预测逻辑进行了建模崩溃预测标志子系统flightControlSystem模型。

崩溃预测标志子系统,是从VisionSensors,包含以下字段:dx_OF(x方向速度),dy_OF(y方向速度)和OF_status.的OF_status当无人机无法检测到光流时为“0”,当无人机检测到光流时为“1”。

的值可以改变没有光流的最大循环数与常数比较块,用紫色突出显示。一旦达到指定的值,无人机将关闭。

若要关闭光流,请执行以下选项之一:

  • 的值增加与常数比较块(用紫色突出显示)转换为一个非常大的值。

    请注意

    将计数(没有光流的最大循环数)增加到一个非常大的值可能会导致无人机漂移。

  • 打开无光流子系统(蓝色突出显示),并将子系统内部的Constant块的值设置为0

从配置参数中删除启用光流选项

启用光流选项中的“配置参数”对话框已被删除,该功能将在flightControlSystem模型如上所示。从R2019a开始,该选项已弃用。

限制/向后兼容性

对于较旧的Simulink模金宝app型(R2019a之前),光流行为没有变化(Parrot无人机在没有光流的情况下在50个循环后关闭)。但是,建议转移到新的模板(盘旋鹦鹉迷你无人机)在R2019a中引入。

另请参阅