新一年的集創(chuàng)賽已如火如荼的展開~
為了讓大家更多的了解該賽事,小編整理了2021年的優(yōu)秀作品供學(xué)習(xí)分享
在每周一為大家分享獲獎作品,記得來看連載喲 ~
團(tuán)隊介紹
參賽單位:上海電力大學(xué)
隊伍名稱:駭行隊
總決賽獎項:二等獎
1.摘要
隨著信息技術(shù)的發(fā)展,AGV(Automated Guided Vehicle,AGV)無人自動導(dǎo)航小車已被廣泛應(yīng)用于智能制造、智慧物流等場景。AGV搬運車的導(dǎo)航系統(tǒng)主要利用視覺、激光雷達(dá)等傳感器,其主控系統(tǒng)大多使用多個芯片及其復(fù)雜嵌入式系統(tǒng)實現(xiàn),成本高、功耗大、實時性差。為了解決這一問題,本設(shè)計在Xilinx FPGA平臺上構(gòu)建了ARM-M3軟核,設(shè)計了加速雙目視差圖像計算的SOC及相關(guān)控制外設(shè),驗證了單個芯片引導(dǎo)AGV小車的基本功能。本設(shè)計主要工作體現(xiàn)在如下幾個方面。
1) 在Xilinx Artix XC7A200T平臺上構(gòu)建了ARM-M3微處理器及相關(guān)外設(shè)。通過OV5640雙目相機進(jìn)行圖像采集,經(jīng)協(xié)處理器加速,ARM-M3微處理器分析周圍的環(huán)境進(jìn)行路徑規(guī)劃最終產(chǎn)生PWM信號驅(qū)動小車進(jìn)行運動。
2)在硬件方面,本設(shè)計自制了OV5640雙目相機及SiC780碳化硅電機驅(qū)動板。通過對雙目視覺的原理進(jìn)行分析,自制的雙目相機選用了平行式雙目立體視覺模式作為設(shè)計方案。得益于小車使用的麥克納姆輪全向移動平臺及自制的大電流碳化硅驅(qū)動板,小車可以自由靈活地進(jìn)行各種運動。
3)在算法方面,本設(shè)計對傳統(tǒng)的立體匹配算法進(jìn)行了并行優(yōu)化,使得算法的運行速度得到了極大地提升,最終實現(xiàn)了資源消耗、功耗、運行速度三者較好的平衡。為了消除圖像的徑向畸變、傾斜畸變及切向畸變,本設(shè)計采用了張正友標(biāo)定法對雙目相機進(jìn)行標(biāo)定和校正。利用Matlab的自動標(biāo)定工具Stereo Camera Calibrator App得到了相機的內(nèi)外參數(shù)并代入校正算法最終實現(xiàn)了圖像的校正。
4)在測試方面,本文分析了傳統(tǒng)立體匹配算法中存在的特征匹配耗時過長、匹配錯誤較多的問題,并在樹莓派3B以及PC機進(jìn)行了相關(guān)的對比實驗。
5)在應(yīng)用場景方面,采集視頻數(shù)據(jù)自行構(gòu)建二維碼數(shù)據(jù)集,使用TensorFlow訓(xùn)練定點卷積神經(jīng)網(wǎng)絡(luò),利用HLS構(gòu)建CNN IP核,使之具備二維碼檢測能力。
2.系統(tǒng)功能介紹
2.1 總體介紹
本作品的目標(biāo)是在ARM公司提供的ARM CortexM3 DesignStart RTL Eval處理器IP的基礎(chǔ)上,設(shè)計AGV小車自主視覺避障專用SOC,開發(fā)出能夠感知障礙物的雙目深度視覺協(xié)處理器。
設(shè)計內(nèi)容包括:
開發(fā)了基于BM(Block Maching)算法的雙目立體匹配智能協(xié)處理器;
設(shè)計并制作了OV5640雙目立體相機電路板 ,及雙目相機視頻采集Verilog驅(qū)動IP;
設(shè)計了用于顯示參數(shù)和圖像的LCD 驅(qū)動;
設(shè)計制作了運動控制模塊驅(qū)動板,及相關(guān)PWM驅(qū)動;
控制具備全位移動能力的麥克納姆車進(jìn)行避障演示。
構(gòu)建CNN IP核,使之具備二維碼檢測能力。
2.2 系統(tǒng)流程
本系統(tǒng)在Xilinx FPGA Artix XC7A200T上構(gòu)建ARM Cortex-M3處理器,搭配自行設(shè)計的OV5640雙目相機采集視頻并利用VDMA存入DDR中。深度加速模塊根據(jù)相機標(biāo)定參數(shù)進(jìn)行畸變矯正和立體匹配,并將所得的視差圖進(jìn)行緩存。M3軟核從DDR中讀取視差圖,計算與前方障礙的相對距離并進(jìn)行路徑規(guī)劃。最后讀取幀率數(shù)據(jù),將相機圖像,視差結(jié)果,運動方向和圖像幀率在LCD上顯示,并根據(jù)規(guī)劃結(jié)果控制小車。
3.系統(tǒng)架構(gòu)
3.1 架構(gòu)簡介
系統(tǒng)主要由視頻采集、圖像處理、實時顯示和運動控制四個模塊組成。
A、視頻采集模塊由相機采集、寄存器配置、視頻流轉(zhuǎn)換三個子模塊構(gòu)成,實現(xiàn)對自行設(shè)計的雙目相機分辨率和成像參數(shù)配置,并將采集數(shù)據(jù)傳輸?shù)綀D像處理模塊。
B、圖像處理模塊由配置為高性能模式的AXI連接器將VDMA、幀率計數(shù)器、深度加速核以及OSD結(jié)果呈現(xiàn)四個子模塊互相連接,實現(xiàn)視差圖計算和幀率計數(shù)功能,最后由結(jié)果呈現(xiàn)模塊進(jìn)行匯總傳遞給顯示模塊進(jìn)行顯示。
C、顯示模塊由視頻流轉(zhuǎn)換、視頻時序控制器、動態(tài)時鐘、和VGA顯示四個子模塊構(gòu)成。根據(jù)高性能視頻系統(tǒng)參考設(shè)計搭建視頻顯示模塊的結(jié)構(gòu)和參數(shù)配置。視頻時序控制器產(chǎn)生1080p對應(yīng)的行場同步信號交由視頻流轉(zhuǎn)換子模塊輸出到VGA顯示模塊,動態(tài)時鐘可由用戶自行配置來驅(qū)動VGA顯示模塊以適配不同的屏幕分辨率。在上述幾個模塊的協(xié)作下實現(xiàn)分辨率為1080p刷新率為60Hz的圖像和運行參數(shù)顯示。
D、運動控制模塊主要由ARM-M3核、UART、GPIO、PWM子模塊等模塊構(gòu)成。M3核讀取DDR中深度加速模塊的結(jié)果進(jìn)行簡單計算,實現(xiàn)對前方障礙物距離的估計,從而進(jìn)行路徑規(guī)劃。最后讀取視頻采集模塊和深度輸出模塊的幀率數(shù)據(jù)同小車運行方向一起輸出到結(jié)果呈現(xiàn)模塊和UART串口 ,實現(xiàn)實時運行參數(shù)的呈現(xiàn)。
3.2 軟硬功能劃分
相較于傳統(tǒng)單片機串行采集相機數(shù)據(jù),傳輸單個像素進(jìn)行顯示,根據(jù)定時器中斷產(chǎn)生PWM,以及在PC機上都難以實現(xiàn)的穩(wěn)定視差圖計算輸出在本系統(tǒng)中都由硬件實現(xiàn),極大減輕了CPU負(fù)擔(dān)。
軟件部分主要在Keil中由C語言實現(xiàn),主要用于初始化各個外設(shè),配置相機寄存器。初始化完成后讀取幀率計數(shù)模塊數(shù)據(jù)和深度加速模塊的結(jié)果,根據(jù)公式進(jìn)行簡單的四則運算完成對距離的估計。根據(jù)估計結(jié)果配置PWM模塊和顯示模塊的寄存器實現(xiàn)運動控制和實時顯示。
3.3 外設(shè)掛載
本系統(tǒng)的中央處理單元是由ARM公司提供的ARM CortexM3 DesignStart RTL Eval,整個系統(tǒng)及外設(shè)部署在Xilinx xc7a200tfbg484 FPGA平臺上。本系統(tǒng)的主要由Cortex-M3軟核,OV5640雙目攝像頭模塊,深度加速模塊,DDR3內(nèi)存控制器,VGA顯示器,AHB總線矩陣、AXI總線及APB低速外設(shè)等相關(guān)模塊組成,詳細(xì)框圖如下圖所示。
4.模塊及系統(tǒng)功能仿真與測試
4.1 相機測試仿真
OV5640攝像頭的寄存器配置由M3軟核控制GPIO模擬SCCB實現(xiàn),使用DSLogic邏輯分析儀捕獲引腳電平,其配套軟件DSView可以解析與SCCB兼容的IIC協(xié)議,顯示不同電平組合對應(yīng)的命令和數(shù)據(jù)。
4.2 加速模塊仿真
4.3 CNN二維碼檢測
二維碼的圖案相較于自然場景具有更簡單的結(jié)構(gòu)和紋理,本設(shè)計針對二維碼圖像的這一特點,構(gòu)建了一個簡單的CNN網(wǎng)絡(luò),該CNN網(wǎng)絡(luò)包括三個卷積層、三個池化層和兩個全連接層。
輸入的圖像通過不同的卷積核產(chǎn)生不同的特征圖像用于提取目標(biāo)不同的特征值。經(jīng)過卷積操作,可以完成對輸入圖像的降維和特征提取。為了進(jìn)一步降低特征圖的維度并減少FPGA資源消耗,每一個卷積層后還需要加上一個池化層來減少數(shù)據(jù)的空間大小并控制過擬合。
全連接層是一個矩陣乘法,相當(dāng)于一個特征空間變換,可以把有用的信息提取并整合。全連接的主要目標(biāo)是維度變換,將高維的數(shù)據(jù)變成低維的數(shù)據(jù)。
經(jīng)過上述運算之后,可以得到輸入圖像中含有二維碼的概率。
4.4 模塊和系統(tǒng)的整體測試結(jié)果
在室外放置兩個紙箱作為路徑障礙來進(jìn)行系統(tǒng)的整體測試。下圖節(jié)選自視頻中小車對第二個障礙物進(jìn)行避障操作參考圖中兩個障礙物的位置可知,在前進(jìn)過程中前方物體距離太近時進(jìn)行避障操作。當(dāng)障礙物不再位于小車正前方時繼續(xù)前進(jìn),達(dá)到避障的效果。
5.參賽體會
通過本次比賽我們對基于ARM核的SOC設(shè)計有了一個初步的認(rèn)識。通過ARM核+協(xié)處理器的方式使得整個系統(tǒng)在計算深度圖像時的圖像采集性能、功耗、成本優(yōu)于常見的嵌入式系統(tǒng)及一般性能的PC機。相較于傳統(tǒng)單片機串行采集相機數(shù)據(jù),傳輸單個像素進(jìn)行顯示,根據(jù)定時器中斷產(chǎn)生PWM,以及在PC機上都難以實現(xiàn)的穩(wěn)定視差圖計算輸出在本系統(tǒng)中都由硬件實現(xiàn),極大減輕了CPU負(fù)擔(dān)。
本設(shè)計使用的FPGA芯片是Xilinx FPGA Artix XC7A200T。在參賽的過程中我們發(fā)現(xiàn),當(dāng)LUT的消耗大于10W,用量大于70%時,布線所用時長將成倍的增加,時序也將很難收斂。
關(guān)于安芯教育
安芯教育是聚焦AIoT(人工智能+物聯(lián)網(wǎng))的創(chuàng)新教育平臺,提供從中小學(xué)到高等院校的貫通式AIoT教育解決方案。
安芯教育依托Arm技術(shù),開發(fā)了ASC(Arm智能互聯(lián))課程及人才培養(yǎng)體系。已廣泛應(yīng)用于高等院校產(chǎn)學(xué)研合作及中小學(xué)STEM教育,致力于為學(xué)校和企業(yè)培養(yǎng)適應(yīng)時代需求的智能互聯(lián)領(lǐng)域人才。
原文標(biāo)題:【2021集創(chuàng)賽作品分享】第五期 | 基于ARM-M3的雙目立體視覺避障系統(tǒng) SOC設(shè)計
文章出處:【微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
審核編輯:湯梓紅
-
soc
+關(guān)注
關(guān)注
38文章
4099瀏覽量
217769 -
Xilinx
+關(guān)注
關(guān)注
71文章
2155瀏覽量
120850 -
AGV小車
+關(guān)注
關(guān)注
4文章
153瀏覽量
11079
原文標(biāo)題:【2021集創(chuàng)賽作品分享】第五期 | 基于ARM-M3的雙目立體視覺避障系統(tǒng) SOC設(shè)計
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論