日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 工業(yè)控制 > 電路設計項目集錦
[導讀]背景:隨著人們對鐵路運輸安全的要求越來越高,傳統(tǒng)的軌道檢測方法需要工人定期沿著軌道行走,觀察軌道的磨損、變形和裂縫。該方法雖然可以直觀地檢測到一些明顯的故障,但耗時、費力、效率低。這種方法已不能滿足現(xiàn)代鐵路系統(tǒng)的需要。為了解決鐵路故障檢測的自動化和高效性問題,本課題開發(fā)了一種基于FPGA的鐵路故障檢測系統(tǒng)。該邊緣人工智能系統(tǒng)通過攝像頭捕捉軌道圖像,利用卷積神經(jīng)網(wǎng)絡(CNN)實時檢測軌道缺陷,并自動報告故障信息。

利用AMD現(xiàn)場可編程門陣列(FPGA)硬件部署量化和改進的神經(jīng)網(wǎng)絡用于軌道故障檢測,解決了在資源受限的邊緣設備上實現(xiàn)自動軌道缺陷檢測的挑戰(zhàn)。

背景:隨著人們對鐵路運輸安全的要求越來越高,傳統(tǒng)的軌道檢測方法需要工人定期沿著軌道行走,觀察軌道的磨損、變形和裂縫。該方法雖然可以直觀地檢測到一些明顯的故障,但耗時、費力、效率低。這種方法已不能滿足現(xiàn)代鐵路系統(tǒng)的需要。為了解決鐵路故障檢測的自動化和高效性問題,本課題開發(fā)了一種基于FPGA的鐵路故障檢測系統(tǒng)。該邊緣人工智能系統(tǒng)通過攝像頭捕捉軌道圖像,利用卷積神經(jīng)網(wǎng)絡(CNN)實時檢測軌道缺陷,并自動報告故障信息。

項目市場價值分析

利用FPGA進行鐵路軌道檢測可以解決幾個關鍵問題,包括:

?事故預防:鐵路軌道上的缺陷,如裂縫、磨損和腐蝕,是火車出軌的主要原因。如果不及時發(fā)現(xiàn)和修復這些缺陷,將對乘客和貨物的安全構成嚴重威脅。自動檢查系統(tǒng)可以及早發(fā)現(xiàn)這些問題,從而防止事故的發(fā)生。

?提高效率:傳統(tǒng)的人工檢測方法效率低,容易出錯。相比之下,F(xiàn)PGA與深度學習和計算機視覺技術相結合,可以顯著提高檢測效率和準確性,減少人為干預的需要。

?實時性和準確性:fpga提供并行處理能力,實現(xiàn)實時數(shù)據(jù)處理和分析。這對于需要持續(xù)監(jiān)測和快速響應的鐵路應用至關重要。

市場潛力

廣泛的市場需求:隨著全球鐵路網(wǎng)絡的擴展和升級,對高效可靠的鐵路軌道檢測系統(tǒng)的需求日益增加。鐵路運輸?shù)念l繁使用和鐵路線路的不斷延長,使軌道檢查成為一個迫切需要解決的問題。

?技術優(yōu)勢:FPGA結合深度學習技術應用于鐵路軌道檢測,不僅提高了檢測的速度和準確性,而且減少了環(huán)境和人為因素造成的誤差。這使該項目在技術上具有強大的競爭優(yōu)勢。

?經(jīng)濟效益:通過提高檢查效率,減少事故的發(fā)生,鐵路運營公司可以降低維修成本和事故賠償費用。此外,盡量減少事故造成的運輸中斷可以提高運營效率和經(jīng)濟效益。

?初步探索:通過Vitis AI進行設計和部署嘗試

除了傳統(tǒng)的流程,AMD還提供了一個名為Vitis AI的強大工具。此工具鏈提供了優(yōu)化的IP、工具、庫、模型以及資源,例如在整個開發(fā)過程中幫助用戶的示例設計和教程。它的設計考慮到高效率和易用性,在AMD自適應soc和Alveo數(shù)據(jù)中心加速卡上釋放AI加速的全部潛力。這種方法比傳統(tǒng)工藝簡單得多。我們還嘗試從AMD的模型動物園中訓練Resnet18網(wǎng)絡,優(yōu)化它,并使用Vitis AI部署它。以下內容概述了總體開發(fā)過程:

搭建環(huán)境:在運行Ubuntu的主機上安裝Docker: xilinx/kria developer: 2022.1。這個Docker環(huán)境對應于我們正在使用的Vitis AI v3.0版本。

量化模型:在Docker環(huán)境中,Vitis AI提供的強大工具可用于分析、量化和導出模型。S只需導入訓練好的模型(.pth)文件,用很短的命令完成模型檢測和量化過程。

接下來,使用vai_c_xir工具來編譯模型。此時,編譯后的(.xmodel)文件就可以在duczdx8g體系結構上運行了。

將Vitis AI對應的Petalinux鏡像刻錄到Kria KR260上,加載對應的DPU固件,導入模型和測試數(shù)據(jù),使用Vitis AI運行時API直接運行。

然而,最終我們并沒有選擇這種方法來進行軌道誤差識別的開發(fā)。我們需要一個更快、更輕的網(wǎng)絡設計,以及與機器人汽車控制和ESP8266模塊的集成。最后,我們決定進行全新的網(wǎng)絡設計和部署。

貢獻:

為了減小模型尺寸并在Kria KR260開發(fā)板上部署合適的鋼軌缺陷檢測模型,實現(xiàn)機器人汽車的上位機通信和部署,本項目采用五步方法:

?設計一個專門適應KR260開發(fā)板資源的神經(jīng)網(wǎng)絡模型。

?對模型參數(shù)進行訓練后量化,采用混合精度量化(不同模塊和精度要求的量化位寬不同)。

?使用AMD HLS工具提高編碼效率。

?通過WiFi通信模塊實現(xiàn)與上位機的通信。

?集成車載通信協(xié)議,實現(xiàn)KR260對機器人汽車平臺的控制。

本項目中使用的神經(jīng)網(wǎng)絡架構如圖所示。本設計基于ResNet網(wǎng)絡結構,保留了基本的殘塊結構。輸入圖像大小為128x128。對數(shù)據(jù)集進行過濾,并將其分為兩類:有缺陷的圖像和沒有缺陷的圖像。數(shù)據(jù)增強技術,如模糊,噪聲添加,隨機翻轉和旋轉應用。

?模型參數(shù):261 kb

?MAC操作:24.66M

?準確率:88.9%

參數(shù)提取和環(huán)境設置:

在確定最佳模型后,需要在FPGA上提取參數(shù)進行推理。有兩種方法可以做到這一點:

使用中子網(wǎng)站提取模型權重和偏差。

編寫Python代碼來提取模型參數(shù)也是一種可靠的方法。

開發(fā)環(huán)境配置:參數(shù)提取完成后,使用Vitis HLS 2022.2進行PyTorch神經(jīng)網(wǎng)絡模型的推理過程。需要進行以下環(huán)境配置:

Vivado HLS:選擇Kria KR260作為目標,流量目標設置為Vivado IP flow target。

導入源文件和測試臺文件。在源中包含先前提取的權重和偏差。

在Vivado 2022.2中,為Kria KR260開發(fā)板創(chuàng)建一個項目,并使用PYNQ在處理系統(tǒng)(PS)和可編程邏輯(PL)之間進行通信。

處理系統(tǒng)(PS)是指通常由嵌入式處理器組成的系統(tǒng)。它負責執(zhí)行大多數(shù)軟件任務,包括操作系統(tǒng)、應用程序和驅動程序。PS可以處理高級計算任務,并提供廣泛的外設接口,如串行通信、以太網(wǎng)、USB等。在PYNQ框架中,PS通常運行Python代碼,管理控制和數(shù)據(jù)處理。

可編程邏輯(PL)是指系統(tǒng)中通常由FPGA構成的部分。PL用于實現(xiàn)硬件加速,并且可以根據(jù)需要動態(tài)配置為不同的硬件電路,以提高特定任務的執(zhí)行效率。PL適用于并行處理、廣泛的數(shù)據(jù)處理和自定義硬件功能。在PYNQ框架中,PL可以使用硬件描述語言(如VHDL或Verilog)或高級合成工具(如Vivado HLS)進行編程,允許用戶通過Python接口配置和利用這些硬件加速模塊。

Kria KR260開發(fā)板需要使用PYNQ環(huán)境進行閃現(xiàn)。

代碼的解釋:

HLS代碼部分:

這是一個標準的卷積運算。輸入圖像大小為128x128,卷積核大小為5x5,輸出通道號為32。

卷積層是cnn的核心構建塊,也是大多數(shù)計算發(fā)生的地方。

這是一個標準的最大池化操作,用于縮小圖像大小并提取特征。池化層(也稱為子采樣)執(zhí)行下采樣,減少輸入中的參數(shù)數(shù)量。像卷積層一樣,池化操作在整個輸入上滑動一個過濾器。然而,與卷積濾波器不同的是,這個濾波器沒有權重。相反,內核對其接收字段中的值應用聚合函數(shù),填充輸出數(shù)組。當過濾器移動到輸入上時,最大池選擇要發(fā)送到輸出數(shù)組的最大值像素。

在編寫了所有HLS代碼之后,需要進行合成和聯(lián)合仿真操作。

通過這兩個步驟,我們可以檢查資源使用和計時錯誤,從而生成綜合報告。通過Co-simulation后,通過運行export RTL命令導出RTL設計,該命令將寫入活動解決方案的impl文件夾。zip文件是IP及其內容的zip歸檔文件,可以直接添加到Vivado IP目錄中。

在完成HLS部分后,我們轉移到之前創(chuàng)建的Vivado項目,開始塊設計過程。首先,找到導入hls生成的IP包的設置。

塊設計是FPGA硬件系統(tǒng)圖形化設計和管理的一種方法。它允許開發(fā)人員通過圖形界面更直觀地創(chuàng)建和配置硬件設計。塊設計支持模塊化設計,使開發(fā)人員能夠將復雜的硬件功能劃分為多個獨立的模塊,每個模塊都可以單獨設計、測試和驗證。這些模塊可以是預定義的IP核或自定義硬件邏輯。

設置完成后,在左側列表中選擇“創(chuàng)建塊設計”。導入PS模塊和IP模塊,并進行連接。Vivado可以自動生成IP核之間的連接,減少手工布線的錯誤和復雜性,包括總線接口、時鐘信號和復位信號。

驗證連接是否正確,然后繼續(xù)進行合成、實現(xiàn)和比特流生成。合成是將高級HDL(如VHDL或Verilog)代碼轉換為門級網(wǎng)表的過程,該網(wǎng)表描述了特定的邏輯門及其連接。在合成過程中,Vivado解析設計代碼,執(zhí)行邏輯優(yōu)化,刪除冗余邏輯,并將其映射到FPGA的基本邏輯單元(如查找表和觸發(fā)器)。

實現(xiàn)過程的目標是確保設計在FPGA上正確運行,并滿足所有時間和資源限制。生成比特流將實現(xiàn)的設計轉換為可下載到FPGA的二進制文件。位流包含配置FPGA的內部邏輯和連接所需的所有信息,并在上電或重新配置時加載到FPGA中。生成比特流后,開發(fā)人員可以將其下載到FPGA中,使其根據(jù)設計邏輯和連接進行操作。

在寫入比特流之后,在Vivado項目目錄中找到三個重要的文件:(.tcl,。Bit和。hwh)文件。TCL腳本文件用于自動化和管理FPGA設計流程。

(.tcl)文件通常包含一系列用于設置項目、綜合設計、實現(xiàn)設計和生成位流的命令。

(.bit)文件是由Vivado生成的二進制文件,包含配置FPGA所需的所有信息。該文件可以直接下載到FPGA芯片上,使FPGA按照設計的邏輯和連接進行工作。

(.hwh)文件是描述硬件設計的高級元數(shù)據(jù)文件,通常與PYNQ和其他嵌入式系統(tǒng)相關聯(lián),包含有關硬件設計的詳細信息,例如IP核、總線連接和寄存器映射。

PYNQ開發(fā)和主板測試:

上電Kria KR260開發(fā)板,打開Jupyter可視化界面。

上傳所需的項目文件并創(chuàng)建a.p ipynb文件來編寫PYNQ代碼。

使用overlay導入位文件的內容來調用PL端。

通過地址讀取和傳遞圖像信息和識別結果。查找地址的方法如下:在Vitis HLS中找到.h文件,然后找到輸入和輸出地址位置。

測試成功后,KR260可用于鋼軌缺陷檢測。

數(shù)據(jù)集增加:

第一步是對圖像進行基本的圖像增強操作,包括水平鏡像和垂直鏡像。

在此基礎上,對所有鏡像處理后的圖像進行45°翻轉操作。此時,一個圖像已經(jīng)擴展到8個圖像。

最后,在之前的基本增強之后,對每個圖像執(zhí)行四種不同的處理:模糊,鹽,亮白和暗化。

通過數(shù)據(jù)增強,每張原始圖像被擴展到40張。

ESP8266的開發(fā)及與上位機的通信

使用Arduino編寫和開發(fā)程序,首先將開發(fā)板接口和配置設置為“Generic ESP8266 Module”,并加載相應的工具環(huán)境包。

在開發(fā)過程中,兩個庫ESP8266WiFi.h和WifiLocation.h分別用于ESP8266網(wǎng)絡和地理位置獲取。

在使用ESP8266連接上位機時,由于上位機使用套接字協(xié)議,ESP8266的編程也遵循同樣的設計。連接WiFi后,打開socket服務器等待連接。實現(xiàn)了基本的數(shù)據(jù)收發(fā),以及接收到“sendLocation”命令后的地理位置信息傳輸:

地理位置信息通過谷歌API獲取,需要使用谷歌API密鑰進行訪問和時鐘信息,以便在通話過程中獲取具體的位置信息。在確保代碼能夠正常工作后,由于本項目選擇的ESP8266是DevSKit,因此可以通過microrousb進行刻錄和通信,可以通過串口連接ESP8266并將上傳速度設置為115200進行刻錄。

最終實際運行的上位機如下所示:

機器人車的功能和使用方法:

機器人車配備了多個模塊,但在本項目中主要使用的是伺服云臺和四輪驅動電機。該車配備了一個定制的驅動板和一個STM32核心板進行基本控制。整個驅動板由一個PR12V鋰電池組供電,通過microrousb與KR260連接,進行串行通信。

伺服轉盤傾斜部分由兩個伺服電機組成,控制轉盤的左右旋轉和上下俯仰角的調節(jié)。配備高清USB攝像頭,實現(xiàn)精準切割、定位、采集。通過對伺服云臺的精確控制,攝像機可以準確地捕捉到鐵路軌道的每一個信息。

該車使用四個電機分別控制四個車輪,實現(xiàn)四輪驅動,使其能夠快速加速和減速前進和后退。同時,由于是四輪驅動,該車的轉向系統(tǒng)采用四輪差速轉向,實現(xiàn)靜止轉向。這種靈活的機動性適合在狹窄的環(huán)境中工作,使其成為鐵路軌道上工作條件的理想選擇。

該車集成了一套指令操作系統(tǒng),封裝了各個模塊的特定時鐘、中斷等一系列復雜的基本操作。通過串口接收指令,可以直接實現(xiàn)指令的相應功能,如將汽車伺服云臺操作到一定角度。以下是一些基本說明:

具體來說,我們設計了一個單獨的伺服云臺控制指令系統(tǒng)。汽車的整個程序是使用Keil μVision V4.10編寫和燒錄的。以下是伺服框架控制協(xié)議的示例(示例命令為$4WD, PTA180, PTB90, PTC90#)

所有指令都通過串口接收,Kria KR260可以通過PYNQ終端實現(xiàn)對汽車的完全控制。

結論:

本項目通過在Kria KR260 FPGA平臺上部署神經(jīng)網(wǎng)絡,并將整個系統(tǒng)集成到機器人汽車中,實現(xiàn)了實時準確的鋼軌缺陷檢測。通過WiFi通信將檢測到的鋼軌缺陷信息上傳到上位機,實現(xiàn)遠程監(jiān)控和數(shù)據(jù)分析。這也反映了使用AMD工具實現(xiàn)的FPGA開發(fā)效率的顯著提高。該項目實時性強、平臺性能高、功耗低、集成度高、適應性強,為鐵路安全檢測提供了高效可靠的解決方案。未來的工作可以著重于進一步優(yōu)化算法和系統(tǒng)架構,以提高檢測效率和準確性,擴大應用范圍,為鐵路運輸?shù)陌踩咝ё龀鲐暙I。

本文編譯自hackster.io

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉