基于FPGA平台构建汽车辅助驾驶系统算法

发布者:CrystalBreeze最新更新时间:2012-02-27 来源: 21IC关键字:FPGA平台  汽车辅助驾驶  系统算法 手机看文章 扫描二维码
随时随地手机看文章

辅助驾驶系统开发面临的挑战

汽车辅助驾驶(DA)系统工程师通常使用 PC 模型来创建复杂的处理算法,以便实现高度可靠的自适应巡航控制、车道偏离警告及行人检测等功能。开发人员高度重视PC算法模型,因为这种模型使他们能够尝试使用并快速评估不同的处理算法。不过,说到底,还是需要一款设计合理的电子硬件解决方案,来实现经济有效的大规模生产与部署。

验证可部署目标硬件与软件算法模型之间的算法性能一致性,对许多开发人员来说都是个问题。从浮点转到定点计算(如三角函数采用的不同方法)有时会导致参考软件算法和硬件实施模型之间出现明显差异。另外,输入图案资料集群(input stimulus)有着很大的不确定性,这使验证算法性能一致性工作变得更加复杂。

图1 LDW顶层方框图

对通常依赖远程感应装置(摄像头、雷达等)输入的DA系统来说,输入信息就是驾驶员在实际行车中可能遇到的各种路况和环境条件。工程师会发现,设计一款充分满足所有情况需求的处理算法极具挑战性,而且验证软件模型与电子硬件实施之间的算法性能一致性至关重要。

赛灵思推出的一款工具——System Generator for DSP,为算法开发人员和系统架构师从Simulink PC模型转向实时FPGA硬件实施技术提供了一种高效、直观的方法。这种具有高抽象层的设计工具在赛灵思和eVS工程师联合开展的设计项目中发挥了关键作用。该项目的目标就是利用System Generator for DSP推出一款适用于采用Xilinx FPGA的汽车车道偏离警告系统的图形处理算法,旨在提高整体性能,降低成本,并缩短开发时间。

车道偏离警告模型

车道偏离警告 (LDW) 系统的总体功能就是在车辆无意中偏离正在行驶的车道时提醒驾驶员。安装该系统的车辆前安放摄像头,可捕获到路况图形,以识别出车道边界标志。车道偏离警告系统持续跟踪车道标线以及车辆相对于车道标线的位置。如果车辆越过了车道标线,那么系统就会发出警告。

汽车产业和学术界普遍采用 MATLAB和Simulink 作为算法和系统级设计工具。尤其是Simulink 具有高抽象层,而且提供图形化输入,因此能帮助汽车算法工程师轻松快速地开发出复杂的 DSP 算法。

图1显示了 LDW 系统模型的顶层方框图,该模型就是用 Simulink 设计而成。标记为车道检测的绿色块包括图形预处理子系统,图2中将给出该子系统的各处理步骤。车道检测功能旨在提取出最有可能代表车道标线的路况图形。

为了提高边缘设备噪声检测的性能,处理流程 (pipeline) 第一步为2-D 5×5高斯噪声抑制 (GNR);第二步为直方图拓宽 (HST),开发人员可用该技术增强图形对比度,尽可能利用整个灰度范围;第三步则为水平/垂直梯度 (HVG),可在本地强度大幅变化情况下增强像素。开发人员可通过计算图形的 2-D 5×5梯度,来执行HVG。

System Generator工具概述

System Generator for DSP设计工具运行于Simulink中。它采用赛灵思面向Simulink的DSP模块集,并将自动调用赛灵思CORE Generator工具生成高度优化的DSP构建块网表,能通过 Simulink 库浏览器访问赛灵思DSP模块集。库浏览器可从标准的MATLAB工具栏中启动。构建DSP系统可用的DSP构建块有90多个,此外还包括FIR滤波器、FET、FEC内核、嵌入式处理内核、存储器、算术块、逻辑块以及按位块(bit-wise block)等。每个块都实现了周期精确和位精确,可就延迟、面积与速度性能优化、I/O端口数、量子化以及取整等对其逐一进行配置。

图2 LDW预处理功能链[page]

下面,不妨来仔细探讨如何在 System Generator for DSP中构建图形处理算法模型,为了简单起见,这里选择GNR为例,这也是图形预处理流程的第一个模块。

System Generator实施GNR功能

强度值(即噪声)的随机变化通常会损坏图像质量。这种变化表现为高斯或正态分布,在不同传感器(即 CMOS 摄像头)中较为常见。线性平滑滤波器是消除高斯噪声的最佳方法,在许多情况下,它还可消除其他类型的噪声。为实现该功能,可通过使用连续窗口中的像素加权和来实施线性有限脉冲响应 (FIR) 滤波器。

在开始实施GNR System Generator模块之前,我们已在 MATLAB 中实现了其行为模型。而这只需两行代码即可实现。首先,需要计算内核,具体描述掩模尺寸(本例设为 5×5)和高斯的∑值。然后,可以通过卷积过滤输入图像。

n_mask = fspecial('gaussian', 5, 0.8);
out_img = conv2(in_img, n_mask, 'same');

此外,还可使用这种行为模型,并通过实际视频数据测试滤波器,进而调节掩模系数。还可以通过验证System Generator for DSP子系统的输出是否与MATLAB函数的输出相等(在规定的误差范围内,这是因为MATLAB是以浮点方式工作,而System Generator 则以固点算法方式工作)来验证硬件。

2-D GNR模块以流线方式(即逐行方式)对输入图像进行处理。图3显示了整个预处理链的System Generator顶级方框图以及高斯噪声抑制功能的顶级方框图。

图3 顶级预处理与高斯噪声抑制方框图

[page]

System Generator FPGA综合结果

开发人员在开发辅助驾驶系统时必须以适合大规模生产的成本水平进行设计。
达到一定处理性能所需的裸片资源将决定他们所需的FPGA器件的尺寸,进而决定其成本。
在实施车道偏离警告预处理器过程中,以XA Spartan-3A DSP 3400为目标。采用这种方法,并利用该模型来支持未来规划中的开发活动。但是,对预处理功能所占用资源的分析表明,该设计适合小得多的器件。

表1给出了XA Spartan-3A DSP 3400器件上GNR块的资源占用情况。计算时,假定在VGA分辨率下灰度输入图像的帧速率为30Hz(即输入数据速率为 9.2MS/s)。

从定时性能角度,GNR 设计以168.32 MHz 的时钟频率运行,可接受数据传输速率高达 18.72 MS/s的输入数据。


整个车道检测预处理子系统所需资源总情况如表2所示。

相应的定时性能分析表明,时钟频率为128.24MHz,最高输入数据传输速率为14.2MS/s。
根据上述所需资源情况分析,预处理功能甚至可用于XA Spartan-3E 500,其密度大约为XA Spartan-3A 3400A器件的1/7。

图4 LDW处理模型输出

结果

图4给出了一个LDW系统的性能图样,包括用于车道线备用物提取的基于 FPGA的图像预处理功能。可以看到,右边两个图片中的输入帧。左边的一对图像显示的是我们在FPGA中实施的预处理功能的性能。左上角的图片显示的则是阈值化后边缘检测函数的幅值。左下角图片是在边缘细化和车道线模式搜索处理后拍摄的。很明显,LDW预处理器能非常有效地摄取道路图景,并能将数据减少至基本车道线选取物。右上角和右下角图片中的黄线和红线分别表示对基于简单直线道路模型的车道标线的瞬间跟踪计算结果。

关键字:FPGA平台  汽车辅助驾驶  系统算法 引用地址:基于FPGA平台构建汽车辅助驾驶系统算法

上一篇:车辆监控系统中车载GPS GSM双定位终端的设计
下一篇:ActiveRFID在车辆自动识别及防盗系统中的应用

推荐阅读最新更新时间:2024-05-02 21:56

Cadence推出用于早期软件开发的FPGA原型验证平台Protium S1
2017年3月2日,上海——楷登电子(美国 Cadence 公司,NASDAQ: CDNS)今日发布全新基于FPGA的Protium™ S1原型验证平台。借由创新的实现算法,平台可显著提高工程生产效率。Protium S1与Cadence® Palladium® Z1企业级仿真平台前端一致,初始设计启动速度较传统FPGA原型平台提升80%。Protium S1采用Xilinx® Virtex™ UltraScale™ FPGA技术,设计容量比上一代平台提升6倍,性能提高2倍。产品正式发布之前,Protium S1已被网络、消费者类和存储类市场多家厂商先期采用。 “Cadence Protium S1平台可以确保多至数以百计的软件开
[嵌入式]
FPGA平台架构提升信息娱乐系统设计灵活性
开发车载信息娱乐系统面临着前所未有的挑战。事实上,支持众多不一致甚至矛盾的要求需要采用全新的思路。设计基于FPGA的平台就是一种可行的解决方案,可通过设计灵活性来满足多样化的汽车要求。   对于那些想要达到新的期望值的OEM来说,问题在于改变整个供应链的基本行为,包括从如何建立信息娱乐系统架构到为这些系统提供的产品和服务。   这种压力又传递给了一级发动机控制单元(ECU)供应商,因为他们所服务的OEM坚持要迎合来自消费市场的产品要求,诸如要能够灵活地适应市场变化、降低成本以及不断缩短设计周期。在汽车市场中,这种变化的幅度是空前的,并且正在形成猛烈的风暴袭击一级供应商。一级供应商如果想在这一领域取得成功,就必须适应这
[嵌入式]
<font color='red'>FPGA</font><font color='red'>平台</font>架构提升信息娱乐系统设计灵活性
基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统
引言 现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、模块化和可重构设计是目前数控技术领域研究的热点,目的是为了适应技术发展和便于用户开发自己的功能。本文基于ARM和FPGA的硬件平台,采用策略和机制相分离的设计思想,设计了一种具有高开放性特征的嵌入式数控系统。该数控系统不仅具备了以往大型数控系统的主要功能,还具备了更好的操作性和切割性能,而且在开放性方面优势更为突出,使数控系统应用软件具有可移植性和互换性。 1 基
[单片机]
基于ARM和<font color='red'>FPGA</font>的硬件<font color='red'>平台</font>实现了具有高开放性特征的嵌入式数控系统
富昌电子为莱迪思新FPGA平台Lattice Avant™提供工程支持
富昌电子为莱迪思新FPGA平台Lattice Avant™提供工程支持 中国上海 – 全球知名的电子元器件分销商富昌电子荣获莱迪思半导体授予的 2022 年度最佳合作伙伴奖,并且很高兴将其专业工程支持扩展到涵盖莱迪思半导体的全新中端现场可编程门阵列 (FPGA) 平台 Lattice Avant™。 Lattice Avant™ 为通信、计算、工业和汽车市场等客户应用提供出色的能效、先进的连接和优化的计算功能。 与竞品相比,Lattice Avant™ 帮助客户在其设计中获得性能优势,使功耗最多降低 2.5 倍,吞吐量提高 2 倍(25 Gbps SERDES),封装尺寸最多缩小 6 倍,强化了对 PCIe Gen 4 的
[嵌入式]
微软深度学习加速平台项目用FPGA架构加速AI运算效能
微软在Hot Chips高效能芯片研讨会上,发布深度学习加速硬件平台项目Brainwave,采用英特尔具备FPGA加速运算能力的Stratix 10处理器,并整合深度神经网络引擎,除了能降低延迟外,也能提升AI运算效能。 微软于本周二(8/22)在Hot Chips高效能芯片研讨会上,揭露深度学习加速硬件平台项目Brainwave,目的为实时人工智能(AI)运算,让系统能以超低延迟,在接收到要求指令的同时能够快速处理。 同时,Brainwave硬件平台也提升了机器学习在云端环境的运算效能。 Brainwave硬件平台主要由3层架构所组成,包含了高效能的分布式系统架构、搭载深度神经网络(DNN)引擎的现场可程序逻辑门阵列(FPG
[半导体设计/制造]
FPGA平台架构用于复杂嵌入式系统
设计嵌入系统的主要挑战来自于需要同时优化众多设计因素。这些需要优化的设计因素包括单位成本、NRE(不可回收工程)成本、功率、尺寸、性能、灵活性、原型制造时间、产品上市时间、产品在市场生存时间、可维护性、可重配置能力、工程资源、开发和设计周期、工具、硬件/软件划分,以及其他许多因素。 Virtex-II ProTM平台FPGA产品基于高性能的Virtex-IITM结构,为嵌入式系统设计提供了一个极灵活的解决方案。利用Virtex-II ProTM器件,嵌入式系统设计人员可以在单片器件内集成范围广泛的硬和软IP核心,其中的硬件和固件具有可升级能力,从而可延长产品的在市场生存时间。 Virtex-II 结构的可编程能力降低了系统开发
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved