空中客车使用 MATLAB 设计基于 FPGA 的机载深度学习处理器

现代空间飞行器必须持续监控遥测数据,并检测或预测传感器数据中的任何异常行为。由于从机载传感器接收到的数据维度高且数据量大,基于阈值的监控等传统方法显得捉襟见肘。轨道卫星的环境具有高度动态性,这也使得识别异常指标充满挑战性。

为了克服这些挑战,空中客车防务与航天公司 Airbus 决定开发用于故障检测、隔离和还原 (FDIR) 的机载系统,以实现异常检测深度学习模型。

空中客车发现,FPGA 以其高性能、长寿命成为机载航天器系统的理想平台。FPGA 可重新编程,能够耐受空间辐射,并可设计成低功耗器件。然而,对于此级别的时间关键型任务,使用资源有限的 FPGA 实现深度学习模型,可能是一项巨大的挑战。

空中客车的设计团队选择使用 Deep Learning HDL Toolbox™ 来生成 MATLAB® 深度学习处理器 IP 核作为人工智能加速器。该工作流支持使用 FreeRTOS™ 作为操作系统。为了进行测试,空中客车使用了 AMD® Zynq™ UltraScale+™ MPSoC ZCU102 板以及长短期记忆 (LSTM) 模型,该模型是基于一组相关的遥测参数训练的。此外,更新 LSTM 模型不需要对 FPGA 重新编程,因为只需重新编译更新后的模型并将其下载到深度学习处理器中。

“从本质上讲,MATLAB 深度学习处理器 IP 核与平台无关。这使其能够被集成到可通过太空认证的实时操作系统中。我们面临的一大挑战是开发与之交互的应用,而在这一方面,MathWorks 提供了很多支持。”—— Andreas C. Koch,空中客车机载软件工程师

在 TensorFlow™ 中训练的 LSTM 模型导入 MATLAB 中。基于这些模型,该团队针对性能和资源使用情况,对深度学习处理器配置进行了优化。此后,他们使用 HDL Coder™ 将深度学习处理器 IP 核生成为独立于目标的可综合 HDL 代码,并通过 AXI 接口将其集成到空中客车的参考设计中。然后,工程师使用基于 Python® 的工作流对深度学习处理器进行编程,并从 AMD Zynq MPSoC 上的 Arm® 处理器触发它。

在硬件板上针对运行卫星上检测到的异常来测试 FDIR 系统时,深度学习处理器能够在可靠工作的同时,满足吞吐量和功耗的要求。空中客车计划在将来的航天器上部署基于 FPGA 的 FDIR 系统。

基于 FPGA 的深度学习网络检测到的真实异常.png


基于 FPGA 的深度学习网络检测到的真实异常。

空客 Airbus 取得的关键成果
  • 开发了基于 MATLAB 的工作流,用于在 FPGA 上进行深度神经网络的快速原型构建和验证,从而实现硬件、系统和深度学习工程师之间的协作
  • 与基于阈值的传统方法相比,更早地检测到潜在的卫星故障模式
  • 生成了深度学习处理器,可供任何采用 FreeRTOS 或其他操作系统的 FPGA 供应商使用和部署
  • 可以在板上更新深度学习模型,而不需要对 FPGA 重新编程
空客 Airbus 使用到的产品
  • MATLAB
  • Deep Learning HDL Toolbox
  • Deep Learning Toolbox
  • HDL Coder
文章来源:MATLAB

最新文章

最新文章