0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AGV小車自主視覺避障專用SOC設(shè)計方案

安芯教育科技 ? 來源:安芯教育科技 ? 作者:安芯教育科技 ? 2022-04-22 09:16 ? 次閱讀

新一年的集創(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é)處理器。

daba98a0-bed4-11ec-9e50-dac502259ad0.png

設(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核,使之具備二維碼檢測能力。

db10e1f6-bed4-11ec-9e50-dac502259ad0.png

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é)果控制小車。

db41ec06-bed4-11ec-9e50-dac502259ad0.png

3.系統(tǒng)架構(gòu)

3.1 架構(gòu)簡介

系統(tǒng)主要由視頻采集、圖像處理、實時顯示和運動控制四個模塊組成。

db5ecba0-bed4-11ec-9e50-dac502259ad0.png

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ì)框圖如下圖所示。

db8afe00-bed4-11ec-9e50-dac502259ad0.png

4.模塊及系統(tǒng)功能仿真與測試

4.1 相機測試仿真

OV5640攝像頭的寄存器配置由M3軟核控制GPIO模擬SCCB實現(xiàn),使用DSLogic邏輯分析儀捕獲引腳電平,其配套軟件DSView可以解析與SCCB兼容的IIC協(xié)議,顯示不同電平組合對應(yīng)的命令和數(shù)據(jù)。

db9f68c2-bed4-11ec-9e50-dac502259ad0.png

4.2 加速模塊仿真

dbccb246-bed4-11ec-9e50-dac502259ad0.png

dbeb29b0-bed4-11ec-9e50-dac502259ad0.png

4.3 CNN二維碼檢測

二維碼的圖案相較于自然場景具有更簡單的結(jié)構(gòu)和紋理,本設(shè)計針對二維碼圖像的這一特點,構(gòu)建了一個簡單的CNN網(wǎng)絡(luò),該CNN網(wǎng)絡(luò)包括三個卷積層、三個池化層和兩個全連接層。

dc05147e-bed4-11ec-9e50-dac502259ad0.jpg

輸入的圖像通過不同的卷積核產(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á)到避障的效果。

dc297aa8-bed4-11ec-9e50-dac502259ad0.png

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)載請注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • soc
    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)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    急求!!!小車方案與器件清單

    求教小車,我在寫創(chuàng)新設(shè)計申請報告,但設(shè)計方案和元器件方面遇到些困難,求幫助!!!時間緊迫!!!
    發(fā)表于 03-27 00:48

    關(guān)于 小車設(shè)計方案

    請教下 小車設(shè)計方案 有幾種選擇? 超聲波 如何?有沒有其它
    發(fā)表于 08-31 11:54

    求一種基于stm32的機械臂循跡小車設(shè)計方案

    我目前正在做stm32小車,功能呢,比較一般,巡線,,使用ps2手柄控制小車,使用機械臂抓取小球。設(shè)計方案
    發(fā)表于 01-05 06:30

    紅外小車設(shè)計論文

    紅外小車設(shè)計論文紅外小車設(shè)計論文紅外
    發(fā)表于 11-13 15:57 ?0次下載

    尋跡一體小車

    尋跡一體小車尋跡一體小車尋跡
    發(fā)表于 11-13 15:53 ?0次下載

    arduino版的自動小車程序

    自動小車 arduino版的自動小車,自己寫的程序
    發(fā)表于 11-24 15:24 ?0次下載

    循跡小車(尋跡程序+程序)

    循跡小車(尋跡程序+程序),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-23 15:45 ?456次下載

    基于紅外的智能小車的設(shè)計_強彥

    基于紅外的智能小車的設(shè)計_強彥
    發(fā)表于 01-21 12:16 ?28次下載

    智能循跡小車設(shè)計與實現(xiàn)

    智能循跡小車設(shè)計與實現(xiàn)
    發(fā)表于 06-06 08:48 ?306次下載

    紅外小車原理介紹及制作

    紅外小車原理介紹及制作
    發(fā)表于 07-18 09:39 ?53次下載

    紅外壁模塊小車傳感器黑白線識別距離可調(diào)

    紅外壁模塊小車傳感器黑白線識別距離可調(diào)
    發(fā)表于 07-18 09:44 ?27次下載

    基于DSP的自動小車設(shè)計方案

    外界環(huán)境,在復(fù)雜環(huán)境中自主移動并完成,一般采用超聲波、紅外、激光、CCD等傳感器設(shè)計。由于紅外傳感器探測視角小。方向性強,測量精度高,價格便宜,而且可在夜間工作,因此紅外傳感器作為視覺
    發(fā)表于 11-02 11:00 ?7次下載
    基于DSP的自動<b class='flag-5'>避</b><b class='flag-5'>障</b><b class='flag-5'>小車</b>的<b class='flag-5'>設(shè)計方案</b>

    尋跡一體小車

    尋跡一體小車
    發(fā)表于 01-30 16:48 ?27次下載

    怎樣制作小車

    本項目是在 PVCBOT-A型 基礎(chǔ)平臺車——BEAM小車的基礎(chǔ)上,加裝了傳感器以及控制電路,組成了一臺具體有功能的
    的頭像 發(fā)表于 09-18 09:35 ?1.9w次閱讀

    AGV小車使用雷達(dá)

    AGV(自動導(dǎo)引車)小車使用雷達(dá)是為了確保其在運行過程中的安全性和穩(wěn)定性。雷達(dá),如激光雷
    的頭像 發(fā)表于 05-20 10:48 ?548次閱讀