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