当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]背景:随着人们对铁路运输安全的要求越来越高,传统的轨道检测方法需要工人定期沿着轨道行走,观察轨道的磨损、变形和裂缝。该方法虽然可以直观地检测到一些明显的故障,但耗时、费力、效率低。这种方法已不能满足现代铁路系统的需要。为了解决铁路故障检测的自动化和高效性问题,本课题开发了一种基于FPGA的铁路故障检测系统。该边缘人工智能系统通过摄像头捕捉轨道图像,利用卷积神经网络(CNN)实时检测轨道缺陷,并自动报告故障信息。

利用AMD现场可编程门阵列(FPGA)硬件部署量化和改进的神经网络用于轨道故障检测,解决了在资源受限的边缘设备上实现自动轨道缺陷检测的挑战。

背景:随着人们对铁路运输安全的要求越来越高,传统的轨道检测方法需要工人定期沿着轨道行走,观察轨道的磨损、变形和裂缝。该方法虽然可以直观地检测到一些明显的故障,但耗时、费力、效率低。这种方法已不能满足现代铁路系统的需要。为了解决铁路故障检测的自动化和高效性问题,本课题开发了一种基于FPGA的铁路故障检测系统。该边缘人工智能系统通过摄像头捕捉轨道图像,利用卷积神经网络(CNN)实时检测轨道缺陷,并自动报告故障信息。

项目市场价值分析

利用FPGA进行铁路轨道检测可以解决几个关键问题,包括:

•事故预防:铁路轨道上的缺陷,如裂缝、磨损和腐蚀,是火车出轨的主要原因。如果不及时发现和修复这些缺陷,将对乘客和货物的安全构成严重威胁。自动检查系统可以及早发现这些问题,从而防止事故的发生。

•提高效率:传统的人工检测方法效率低,容易出错。相比之下,FPGA与深度学习和计算机视觉技术相结合,可以显著提高检测效率和准确性,减少人为干预的需要。

•实时性和准确性:fpga提供并行处理能力,实现实时数据处理和分析。这对于需要持续监测和快速响应的铁路应用至关重要。

市场潜力

广泛的市场需求:随着全球铁路网络的扩展和升级,对高效可靠的铁路轨道检测系统的需求日益增加。铁路运输的频繁使用和铁路线路的不断延长,使轨道检查成为一个迫切需要解决的问题。

•技术优势:FPGA结合深度学习技术应用于铁路轨道检测,不仅提高了检测的速度和准确性,而且减少了环境和人为因素造成的误差。这使该项目在技术上具有强大的竞争优势。

•经济效益:通过提高检查效率,减少事故的发生,铁路运营公司可以降低维修成本和事故赔偿费用。此外,尽量减少事故造成的运输中断可以提高运营效率和经济效益。

•初步探索:通过Vitis AI进行设计和部署尝试

除了传统的流程,AMD还提供了一个名为Vitis AI的强大工具。此工具链提供了优化的IP、工具、库、模型以及资源,例如在整个开发过程中帮助用户的示例设计和教程。它的设计考虑到高效率和易用性,在AMD自适应soc和Alveo数据中心加速卡上释放AI加速的全部潜力。这种方法比传统工艺简单得多。我们还尝试从AMD的模型动物园中训练Resnet18网络,优化它,并使用Vitis AI部署它。以下内容概述了总体开发过程:

搭建环境:在运行Ubuntu的主机上安装Docker: xilinx/kria developer: 2022.1。这个Docker环境对应于我们正在使用的Vitis AI v3.0版本。

量化模型:在Docker环境中,Vitis AI提供的强大工具可用于分析、量化和导出模型。S只需导入训练好的模型(.pth)文件,用很短的命令完成模型检测和量化过程。

接下来,使用vai_c_xir工具来编译模型。此时,编译后的(.xmodel)文件就可以在duczdx8g体系结构上运行了。

将Vitis AI对应的Petalinux镜像刻录到Kria KR260上,加载对应的DPU固件,导入模型和测试数据,使用Vitis AI运行时API直接运行。

然而,最终我们并没有选择这种方法来进行轨道误差识别的开发。我们需要一个更快、更轻的网络设计,以及与机器人汽车控制和ESP8266模块的集成。最后,我们决定进行全新的网络设计和部署。

贡献:

为了减小模型尺寸并在Kria KR260开发板上部署合适的钢轨缺陷检测模型,实现机器人汽车的上位机通信和部署,本项目采用五步方法:

•设计一个专门适应KR260开发板资源的神经网络模型。

•对模型参数进行训练后量化,采用混合精度量化(不同模块和精度要求的量化位宽不同)。

•使用AMD HLS工具提高编码效率。

•通过WiFi通信模块实现与上位机的通信。

•集成车载通信协议,实现KR260对机器人汽车平台的控制。

本项目中使用的神经网络架构如图所示。本设计基于ResNet网络结构,保留了基本的残块结构。输入图像大小为128x128。对数据集进行过滤,并将其分为两类:有缺陷的图像和没有缺陷的图像。数据增强技术,如模糊,噪声添加,随机翻转和旋转应用。

•模型参数:261 kb

•MAC操作:24.66M

•准确率:88.9%

参数提取和环境设置:

在确定最佳模型后,需要在FPGA上提取参数进行推理。有两种方法可以做到这一点:

使用中子网站提取模型权重和偏差。

编写Python代码来提取模型参数也是一种可靠的方法。

开发环境配置:参数提取完成后,使用Vitis HLS 2022.2进行PyTorch神经网络模型的推理过程。需要进行以下环境配置:

Vivado HLS:选择Kria KR260作为目标,流量目标设置为Vivado IP flow target。

导入源文件和测试台文件。在源中包含先前提取的权重和偏差。

在Vivado 2022.2中,为Kria KR260开发板创建一个项目,并使用PYNQ在处理系统(PS)和可编程逻辑(PL)之间进行通信。

处理系统(PS)是指通常由嵌入式处理器组成的系统。它负责执行大多数软件任务,包括操作系统、应用程序和驱动程序。PS可以处理高级计算任务,并提供广泛的外设接口,如串行通信、以太网、USB等。在PYNQ框架中,PS通常运行Python代码,管理控制和数据处理。

可编程逻辑(PL)是指系统中通常由FPGA构成的部分。PL用于实现硬件加速,并且可以根据需要动态配置为不同的硬件电路,以提高特定任务的执行效率。PL适用于并行处理、广泛的数据处理和自定义硬件功能。在PYNQ框架中,PL可以使用硬件描述语言(如VHDL或Verilog)或高级合成工具(如Vivado HLS)进行编程,允许用户通过Python接口配置和利用这些硬件加速模块。

Kria KR260开发板需要使用PYNQ环境进行闪现。

代码的解释:

HLS代码部分:

这是一个标准的卷积运算。输入图像大小为128x128,卷积核大小为5x5,输出通道号为32。

卷积层是cnn的核心构建块,也是大多数计算发生的地方。

这是一个标准的最大池化操作,用于缩小图像大小并提取特征。池化层(也称为子采样)执行下采样,减少输入中的参数数量。像卷积层一样,池化操作在整个输入上滑动一个过滤器。然而,与卷积滤波器不同的是,这个滤波器没有权重。相反,内核对其接收字段中的值应用聚合函数,填充输出数组。当过滤器移动到输入上时,最大池选择要发送到输出数组的最大值像素。

在编写了所有HLS代码之后,需要进行合成和联合仿真操作。

通过这两个步骤,我们可以检查资源使用和计时错误,从而生成综合报告。通过Co-simulation后,通过运行export RTL命令导出RTL设计,该命令将写入活动解决方案的impl文件夹。zip文件是IP及其内容的zip归档文件,可以直接添加到Vivado IP目录中。

在完成HLS部分后,我们转移到之前创建的Vivado项目,开始块设计过程。首先,找到导入hls生成的IP包的设置。

块设计是FPGA硬件系统图形化设计和管理的一种方法。它允许开发人员通过图形界面更直观地创建和配置硬件设计。块设计支持模块化设计,使开发人员能够将复杂的硬件功能划分为多个独立的模块,每个模块都可以单独设计、测试和验证。这些模块可以是预定义的IP核或自定义硬件逻辑。

设置完成后,在左侧列表中选择“创建块设计”。导入PS模块和IP模块,并进行连接。Vivado可以自动生成IP核之间的连接,减少手工布线的错误和复杂性,包括总线接口、时钟信号和复位信号。

验证连接是否正确,然后继续进行合成、实现和比特流生成。合成是将高级HDL(如VHDL或Verilog)代码转换为门级网表的过程,该网表描述了特定的逻辑门及其连接。在合成过程中,Vivado解析设计代码,执行逻辑优化,删除冗余逻辑,并将其映射到FPGA的基本逻辑单元(如查找表和触发器)。

实现过程的目标是确保设计在FPGA上正确运行,并满足所有时间和资源限制。生成比特流将实现的设计转换为可下载到FPGA的二进制文件。位流包含配置FPGA的内部逻辑和连接所需的所有信息,并在上电或重新配置时加载到FPGA中。生成比特流后,开发人员可以将其下载到FPGA中,使其根据设计逻辑和连接进行操作。

在写入比特流之后,在Vivado项目目录中找到三个重要的文件:(.tcl,。Bit和。hwh)文件。TCL脚本文件用于自动化和管理FPGA设计流程。

(.tcl)文件通常包含一系列用于设置项目、综合设计、实现设计和生成位流的命令。

(.bit)文件是由Vivado生成的二进制文件,包含配置FPGA所需的所有信息。该文件可以直接下载到FPGA芯片上,使FPGA按照设计的逻辑和连接进行工作。

(.hwh)文件是描述硬件设计的高级元数据文件,通常与PYNQ和其他嵌入式系统相关联,包含有关硬件设计的详细信息,例如IP核、总线连接和寄存器映射。

PYNQ开发和主板测试:

上电Kria KR260开发板,打开Jupyter可视化界面。

上传所需的项目文件并创建a.p ipynb文件来编写PYNQ代码。

使用overlay导入位文件的内容来调用PL端。

通过地址读取和传递图像信息和识别结果。查找地址的方法如下:在Vitis HLS中找到.h文件,然后找到输入和输出地址位置。

测试成功后,KR260可用于钢轨缺陷检测。

数据集增加:

第一步是对图像进行基本的图像增强操作,包括水平镜像和垂直镜像。

在此基础上,对所有镜像处理后的图像进行45°翻转操作。此时,一个图像已经扩展到8个图像。

最后,在之前的基本增强之后,对每个图像执行四种不同的处理:模糊,盐,亮白和暗化。

通过数据增强,每张原始图像被扩展到40张。

ESP8266的开发及与上位机的通信

使用Arduino编写和开发程序,首先将开发板接口和配置设置为“Generic ESP8266 Module”,并加载相应的工具环境包。

在开发过程中,两个库ESP8266WiFi.h和WifiLocation.h分别用于ESP8266网络和地理位置获取。

在使用ESP8266连接上位机时,由于上位机使用套接字协议,ESP8266的编程也遵循同样的设计。连接WiFi后,打开socket服务器等待连接。实现了基本的数据收发,以及接收到“sendLocation”命令后的地理位置信息传输:

地理位置信息通过谷歌API获取,需要使用谷歌API密钥进行访问和时钟信息,以便在通话过程中获取具体的位置信息。在确保代码能够正常工作后,由于本项目选择的ESP8266是DevSKit,因此可以通过microrousb进行刻录和通信,可以通过串口连接ESP8266并将上传速度设置为115200进行刻录。

最终实际运行的上位机如下所示:

机器人车的功能和使用方法:

机器人车配备了多个模块,但在本项目中主要使用的是伺服云台和四轮驱动电机。该车配备了一个定制的驱动板和一个STM32核心板进行基本控制。整个驱动板由一个PR12V锂电池组供电,通过microrousb与KR260连接,进行串行通信。

伺服转盘倾斜部分由两个伺服电机组成,控制转盘的左右旋转和上下俯仰角的调节。配备高清USB摄像头,实现精准切割、定位、采集。通过对伺服云台的精确控制,摄像机可以准确地捕捉到铁路轨道的每一个信息。

该车使用四个电机分别控制四个车轮,实现四轮驱动,使其能够快速加速和减速前进和后退。同时,由于是四轮驱动,该车的转向系统采用四轮差速转向,实现静止转向。这种灵活的机动性适合在狭窄的环境中工作,使其成为铁路轨道上工作条件的理想选择。

该车集成了一套指令操作系统,封装了各个模块的特定时钟、中断等一系列复杂的基本操作。通过串口接收指令,可以直接实现指令的相应功能,如将汽车伺服云台操作到一定角度。以下是一些基本说明:

具体来说,我们设计了一个单独的伺服云台控制指令系统。汽车的整个程序是使用Keil μVision V4.10编写和烧录的。以下是伺服框架控制协议的示例(示例命令为$4WD, PTA180, PTB90, PTC90#)

所有指令都通过串口接收,Kria KR260可以通过PYNQ终端实现对汽车的完全控制。

结论:

本项目通过在Kria KR260 FPGA平台上部署神经网络,并将整个系统集成到机器人汽车中,实现了实时准确的钢轨缺陷检测。通过WiFi通信将检测到的钢轨缺陷信息上传到上位机,实现远程监控和数据分析。这也反映了使用AMD工具实现的FPGA开发效率的显著提高。该项目实时性强、平台性能高、功耗低、集成度高、适应性强,为铁路安全检测提供了高效可靠的解决方案。未来的工作可以着重于进一步优化算法和系统架构,以提高检测效率和准确性,扩大应用范围,为铁路运输的安全高效做出贡献。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭