以下文章來源于OpenFPGA,作者碎碎思
之前已經介紹過《FPGA在汽車電子中應用-ADAS》,但是很多人留言說是沒有相關例程,應用不夠直觀,所以,今天他來了-使用FPGA制作一個便攜式 ADAS 系統(源碼開源)。
ADAS 到底是什么?
ADAS 是車輛中的電子系統,使用先進技術來協助駕駛員。它們提供重要信息,自動執行困難任務并提高整體安全性。功能包括:
車道偏離警告 (Lane Departure Warning,LDW):當車輛開始偏離車道時,系統會向駕駛員發出警報。顯然,我們都需要一位數字伴侶陪伴在身邊。
自適應巡航控制 (Adaptive Cruise Control ,ACC):自動調整車速,與前車保持安全距離。
防撞系統(Collision Avoidance Systems):警告駕駛員可能發生的碰撞,甚至可以自動剎車。
盲點檢測(Blind Spot Detection):通知駕駛員可能看不到的盲點中的車輛。換句話說,它可以防止因空間意識差而導致駕駛失誤。
有了這些功能,計劃創建一個可以讓每個人的駕駛都更安全的系統。
軟件
1、Vivado 設計套件
DPU IP
這里真正的主角是DPU(深度處理單元)IP 。這項神奇的技術直接在 FPGA 上運行 AI 模型,使一切變得更快、更高效。可以將其視為系統實時處理數據所需的腎上腺素。
在 DPU 中運行模型:
在 FPGA 的可編程邏輯 (PL) 中的 DPU 上運行 AI 模型。這是 ADAS 系統的核心,處理所有密集的 AI 計算,例如車道檢測和物體識別。
面臨的挑戰:
安裝難題:Vivado在發行版系統(例如Ubuntu 或者 Centos)里安裝會相對簡單,但是也很容易出現問題。
解決方案:在 Linux 中先安裝libcurse Vivado 是解決問題的靈丹妙藥。
2、CARLA 模擬器
CARLA 是一款開源自動駕駛模擬器,旨在支持 ADAS 和自動駕駛系統的開發、訓練和驗證。換句話說,這是一款為想要假裝自己在工作的成年人準備的電子游戲。
為什么要使用 CARLA?
模擬真實駕駛場景對于測試和改進 ADAS 應用至關重要。CARLA 為實驗提供了安全且可控的環境,而沒有實際道路測試的風險。
面臨的挑戰:
XServer 錯誤:如何修復?
exportVK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
如果電腦配置比較低,需要執行下面語句:
./CarlaUE4.sh-quality-level=Low
3. Vitis AI
Vitis AI 是 Xilinx 推出的一款開發平臺,用于在 AMD 和 Xilinx 硬件上進行 AI 推理,可以在 FPGA 和 ACAP 上部署 AI 模型。
為什么要使用 Vitis AI?
Vitis AI 對于開發和優化 ADAS 系統的 AI 模型至關重要。它提供了量化和編譯模型的工具,以便在 DPU 上高效運行。
面臨的挑戰:
模型優化:要使 AI 模型在 DPU 上高效運行,需要了解量化和編譯技術。這就像將方形釘子裝入圓孔中,只不過釘子是神經網絡。
工具鏈復雜性:使用 Vitis AI 工具鏈是另一個陡峭的學習曲線。這就像解決魔方一樣,只不過每次眨眼時它都會改變顏色。
4.PetaLinux
PetaLinux 是 Xilinx 硬件平臺的嵌入式 Linux 發行版。它允許開發自定義應用程序并直接在 FPGA 上運行它們。
為何使用 PetaLinux?
PetaLinux 為在 KR260 上運行應用程序提供了一個強大而靈活的環境。它是將所有東西粘合在一起的粘合劑,確保軟件和硬件和諧地工作。就像花生醬和果凍一樣,只是有更多的命令行界面。
使用和配置PetaLinux可以自行查找資料,按照官方資料很容易構建PetaLinux系統。
構建ADAS系統簡易過程
步驟 1:從 CARLA 收集數據
用它來收集數據以訓練和測試 ADAS 模型。
面臨的挑戰:
數據管理:收集和整理數據是一個耗時的過程。必須確保數據干凈且標簽正確。
第 2 步:車道和物體檢測
面臨的挑戰:
AI 模型訓練:訓練 AI 模型以準確檢測車道和物體需要嘗試不同的架構和技術。
性能調優:優化模型以使其在 DPU 上高效運行涉及量化和微調。
步驟 3:在 FPGA 上啟動 PetaLinux
第四步:系統聯調
集成所有組件并確保它們有效通信就像是編排一曲復雜的交響樂。確保傳感器、FPGA、AI 模型和 CARLA 模擬器無縫協作。
面臨的挑戰:
通信協議:了解并實施組件之間的正確通信協議至關重要。這涉及學習 I2C、SPI 和以太網等接口。
同步:確保系統同步并協調運行是一項挑戰。它需要精確的時間和協調。
下一步計劃
自動駕駛:實現自主導航、決策和控制算法。這需要集成更多傳感器并優化 AI 模型。
提高性能:增強系統的性能和可擴展性,可能升級硬件并優化軟件組件。
在真實場景中測試:在真實場景中進行更廣泛的測試,確保穩健性和可靠性。下一輪測試中,我可能需要更多的虛擬消防栓。
總結
這是一個偏AI應用的開源項目,適合想用FPGA進行AI研究人群研究。
-
FPGA
+關注
關注
1629文章
21750瀏覽量
604107 -
汽車電子
+關注
關注
3027文章
7975瀏覽量
167212 -
adas
+關注
關注
309文章
2185瀏覽量
208697
原文標題:使用FPGA制作一個便攜式 ADAS 系統
文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論