技术文章

开发传感器融合和感知算法助力无人机在城市环境中自主着陆

作者 Paolo Veneruso、Roberto Opromolla 和 Giancarmine Fasano,那不勒斯费德里科二世大学


随着城区内自主飞行的社会效益和商业潜力日益明朗,人们对这种飞行作业的研究兴趣也在与日俱增。能在城市空中交通场景中垂直起降 (VTOL) 的自主飞行器有多种可能的应用,而运送关键医疗用品只是其中一种。

然而,在四旋翼飞行器和其他 VTOL 飞行器完全能够在城市环境中自主飞行之前,还有诸多设计难题需要解决。在自主飞行中,进场和着陆阶段的飞行尤其困难,因为城市景观中存在许多潜在的障碍,它们可能会阻挡或干扰用于为飞行器提供定位和导航的全球导航卫星系统 (GNSS) 信号。在雾天、雨天或夜晚等低能见度条件下,着陆面临的挑战会进一步加剧,这使得仅仅依靠机载日光摄像头提供的视觉数据进行着陆变得困难重重。

当停机坪清晰可见时,自主算法可以采用各种成熟的计算机视觉技术进行姿态估计(确定飞机的大致位置和方向),为进场和着陆期间的导航提供支持(图 1)。我们在那不勒斯大学的研究小组重点研究如何在视觉传感器能力受到削弱的低能见度条件下提高这些技术的可靠性。为此,我们在 MATLAB® 中开发了一套感知算法,以应用扩展卡尔曼滤波器 (EKF) 来集成来自多个传感器的输入,包括飞行器的视觉系统、惯性测量单元 (IMU) 和 GNSS 接收器。我们使用 Simulink® 和 Unreal Engine® 进行了仿真,并利用仿真生成的数据开发、改进和验证我们的算法。除了在低能见度条件下生成可靠的姿态估计外,我们的算法还能够交叉检查 GNSS 测量的完整性,这在低空条件下可能会变得不可靠。

仿真的截图,展示配备了 AprilTag 标记的无人机停机坪视图。

图 1. 一个配备了 AprilTag 标记的停机坪,该标记便于进行无人机姿态估计。

使用 Simulink 生成仿真数据

寻求通过实验方法从真实飞行测试中采集视觉、IMU 和 GNSS 数据是可行的。我们正在使用定制的小型无人机来协助我们的研究。然而,实验测试涵盖的条件有限,并且伴随而来的是诸多挑战,例如与能见度条件的可重复性和控制相关的挑战。此外,还有一些实际问题,例如测试区域位于空旷地带,鲜有城市环境中常见的障碍。因此,使用 Simulink 和 Unreal Engine 进行仿真更易于设计和控制,因为该仿真可以包含各种系统参数,并且更好地代表了真实城市环境,从而在支持我们设计、开发和测试解决方案方面发挥着关键的作用。

我们的仿真模型基于 UAV Toolbox 中的无人机简单飞行模型(图 2)。后者包括一个 Simulation 3D Scene Configuration 模块,用来在 Unreal Engine 中配置场景。我们选择了波特兰直升机停机坪及其周边的场景。此外,还包括一个 Simulation 3D UAV Vehicle 模块,用来定义四旋翼飞行器的参数及其轨迹;以及一个 Simulation 3D Camera 模块,用来指定用于捕获仿真数据的单目摄像头的安装位置和参数。

无人机的三个主要组成部分的图像:场景、传感器和无人机。

图 2. 使用 Simulink 模型在进场和着陆过程中生成摄像头数据。

我们在各种能见度条件、风力条件和着陆场景下使用该模型运行了大量仿真(图 3)。在仿真过程中,我们从 Unreal Engine 中捕获摄像头图像,并从 Simulink 模型中采集合成的 IMU 和 GNSS 数据。

图 3. 在着陆过程中看到的波特兰直升机停机坪仿真视图(左)及被雾笼罩的该停机坪仿真视图(右)。

在 MATLAB 中开发传感器融合算法

为了探索进场和着陆操作的边界和可行性,我们设计了一种基于多传感器的视觉辅助导航架构,将来自飞行器 IMU、GNSS 接收器和摄像头的输入集成在一起(图 4)。在该架构中,我们使用 MATLAB 基于 EKF 实现了多模态数据融合管道算法。这些算法基于我们通过 Simulink 和 Unreal Engine 仿真生成的传感器数据来估计飞行器的位置、速度和姿态。

导航架构的二维表示,显示来自多个传感器的输入,用于估计飞行器的位置、速度和姿态。

图 4. 一种通过多个传感器估计飞行器位置、速度和姿态的架构

进场伊始,当着陆区域难以通过摄像头进行感知时,我们的算法会更多地依赖于 GNSS 测量。在接近着陆点时,算法将重点转移到摄像头输入上,该输入可以提供让飞行器在目标位置着陆所需的亚米级准确度。对于该过程的这一部分,如果着陆模式是用 AprilTag 标记实现的,则算法会调用 Computer Vision Toolbox™ 中的 readAprilTag 函数,以检测和识别摄像头图像中的标记(请见图 1)。如果采用的是其他着陆模式,例如针对夜间作业的临时灯光模式,则使用自定义 MATLAB 函数。在进场和着陆的整个过程中,算法使用来自 IMU 的输入来补偿其他两个传感器的临时输入丢失。

最近,我们还在算法中实现了内部交叉检查,以评估低能见度条件下从摄像头接收的输入的可靠性,以及用于自我估计由此导致的导航性能下降的支持策略。

持续开发

我们的团队从事着在城市环境中实现自主垂直进场和着陆程序方面的工作,正在积极地从其中寻求多个研究机会。例如,我们正在探索各种方法来改进着陆区域,以便更好地支持自主作业。可能的改进包括改变视觉标记的大小、数量和位置,以及改变用于划定和照亮着陆区域的灯光配置和模式。

我们还计划将其他传感器模态集成到我们的算法管道中,包括雷达和激光雷达,以及机器学习算法,以协助进行摄像头图像中的目标检测。此外,我们计划将传感器数据的生成和后续处理合并为一个流程。但目前,它们是作为两个单独的流程实施的。而今,这种分离做法加速了我们算法中的阈值和其他参数的调优,因为我们不用每次都生成新的传感器数据。然而,通过在生成仿真数据时向其应用我们的算法来实现闭环,将更容易实现闭环着陆引导,并使其他研究团队在利用 Simulink 和 UAV Toolbox 对更高级别的引导或路径跟踪算法进行设计、建模和仿真时,能够更轻松地使用我们的算法。

最后,我们会继续将 MATLAB、Simulink 和 Unreal Engine 方面的工作整合到那不勒斯费德里科二世大学的教育活动中,包括无人机系统、自主飞行器设计和机载系统实验室方面的课程。这些课程在航空航天工程和自动驾驶汽车工程的学士和硕士阶段提供。

致谢

这项研究是与 Collins Aerospace 合作开展的。作者在此由衷感谢 Carlo Tiana 和 Giacomo Gentile 对这项工作所作的贡献。

关于作者

Paolo Veneruso 是那不勒斯费德里科二世大学的研究助理和博士生。

Giancarmine Fasano 博士是那不勒斯费德里科二世大学工业工程系的副教授。

Roberto Opromolla 博士是那不勒斯费德里科二世大学工业工程系的助理教授。

2022年发布

查看文章,了解相关功能

查看文章,了解相关行业