當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]智能型動態(tài)圖像追蹤自控車

去年十月份Toyota Lexus 的2007 年最新車款Lexus LS 460 和Lexus LS 460L 在美國市場上市,兩部車子都裝置了Toyota 最新發(fā)展的”高級停車導(dǎo)引系統(tǒng)(Advanced Parking Guidance System)”,這個(gè)系統(tǒng)是使用一個(gè)向后的攝像頭和停車聲納傳感器偵測周邊狀況,駕駛?cè)丝吭谝粋€(gè)停車位旁邊,按個(gè)按鈕,踩煞車以控制速度,系統(tǒng)便會自動接手控制電動動力方向盤,完成路邊停車的動作。除此之外,在目前最常應(yīng)用于工廠自動化系統(tǒng)之中的自動導(dǎo)引車輛(Automatic Guided Vehicle, AGV)系統(tǒng),可按照程序所下的命令及導(dǎo)引路線進(jìn)行、停止、轉(zhuǎn)彎,并能和搬運(yùn)系統(tǒng)作連結(jié);AGV是一種物料搬運(yùn)設(shè)備,能在固定位置自動進(jìn)行貨物的裝載,并自動行走到另一位置,以完成貨物的卸載的全自動運(yùn)輸設(shè)備。AGV基本功能為能自動依循固定的軌道行走,雖然說這個(gè)技術(shù)早己引用在工廠中,但是由于路線必須是規(guī)劃好并在地上畫上行走路徑,并無法應(yīng)用于較復(fù)雜的環(huán)境之中,而我們所提出來的設(shè)計(jì),是利用圖像來辨別標(biāo)志,而標(biāo)志擺放位置也可以根據(jù)實(shí)際的應(yīng)用環(huán)境來做改變,所以應(yīng)用范圍較傳統(tǒng)AGV更為廣泛。

不僅如此,本設(shè)計(jì)也具有特定標(biāo)志搜尋功能,能夠自動的分析現(xiàn)有的圖像信息,自動鎖定目標(biāo)物并進(jìn)行自動化車控的控制,故我們設(shè)計(jì)這套系統(tǒng)來協(xié)助民眾自動停車、自動倒車入庫,也可應(yīng)用于機(jī)場對飛機(jī)的管控或是任何具有動力的交通運(yùn)輸工具。本文將機(jī)械視覺算法以硬件加速的模塊實(shí)現(xiàn),結(jié)合多核的高效能的嵌入式處理器Nios,完成一個(gè)自動化汽車導(dǎo)引的平臺,未來可實(shí)現(xiàn)很多汽車駕駛安全方面的應(yīng)用,包括防撞、車道偏離警報(bào)和車道維持(可導(dǎo)引駕駛?cè)嘶氐皆嚨?、背面障礙物警報(bào)、行人監(jiān)測、車距監(jiān)測(讓駕駛?cè)撕颓败嚤3诌m當(dāng)?shù)木嚯x)、夜視、自動頭燈調(diào)節(jié)、交通/限速標(biāo)志識別和盲點(diǎn)監(jiān)測等等。

設(shè)計(jì)介紹

我們使用“軟硬件共同設(shè)計(jì) (Co-design)方法”集成圖像輸入端、車控平臺及動力控制模塊,完成自動化目標(biāo)追蹤的實(shí)驗(yàn)平臺,通過效能佳的軟核CPU來控制外圍的模塊,并利用VHDL自制圖像處理核心電路,建立智能型圖像追蹤的嵌入式系統(tǒng)平臺,如圖1所示。

圖1 智能型圖像追蹤的嵌入式系統(tǒng)平臺

系統(tǒng)核心組成器件可分成以下三類:

1. CMOS 傳感器硬件模塊:CMOS 傳感控制器 、數(shù)據(jù)簡化、SDRAM 控制器

(1) CMOS 傳感器控制器:驅(qū)動CMOS 傳感器并進(jìn)行連續(xù)圖像擷取,將動態(tài)圖像數(shù)據(jù)流傳入。

(2) 數(shù)據(jù)簡化:將CMOS 傳感器擷取的圖像數(shù)據(jù)(GB&GR)進(jìn)行壓縮,以便大幅減少計(jì)算量及分析時(shí)間。

(3) SDRAM 控制器:通過六組FIFO控制器,將SDRAM資源規(guī)劃給兩組CMOS傳感器控制器及VGA控制器來使用(三寫三讀)。

2. VGA硬件模塊:

(1) VGA 控制器:通過其器件,可以實(shí)時(shí)將圖像直接顯示在VGA上。

(2) XY Histogram:并通過XY坐標(biāo)標(biāo)示出目標(biāo)位置,并在實(shí)時(shí)圖像上進(jìn)行X軸及Y軸的圖像數(shù)據(jù)統(tǒng)計(jì)(Histogram)。

3. 動力控制:

通過第二顆軟核CPU來依序執(zhí)行外部給入的命令,CPU通過四組PIO來驅(qū)動車體前后輪的控制電路,達(dá)到車體前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的控制。

主要硬件器件

以SOPC Builder完成雙CPU核心的設(shè)定,并利用Verilog設(shè)計(jì)硬件電路器件,以waveform進(jìn)行時(shí)序仿真并驗(yàn)證,再通過PIO方式和CPU連結(jié),除了SOPC Builder所提供的外圍電路以外尚有雙CMOS 傳感器圖像擷取電路、六端口SDRAM控制器、VGA控制器(含圖像處理電路),說明如下,如圖3所示,自行開發(fā)的硬件電路已集成為一個(gè)較大的模塊(在圖2左方的方塊),而圖3右方的方塊則是利用SOPC Builder所建立的雙CPU模塊。

圖2 硬件器件

1. 雙核處理器:

在圖3中的cpu_0是用來控制CMOS 傳感器及圖像處理所用,而cpu_1是用來控制車控動力的。

圖3 雙CPU系統(tǒng)

2. 2個(gè) CMOS 傳感器擷?。?/p>

撰寫鏡頭圖像擷取的控制硬件電路,并利用DE2發(fā)展板上的雙IDE接口(Expansion Header1,2)可同時(shí)擷取到雙重鏡頭的圖像。

3. 多端口SDRAM 控制器:

利用Mega Wizard Plug-In Manager來生成三寫三讀的六接口FIFO(以內(nèi)置RAM實(shí)現(xiàn)),讓二組CMOS 傳感器擷取及一組VGA 控制器能讀寫SDRAM設(shè)備。

4. VGA 控制器 和圖像處理:

撰寫VGA輸出的硬件控制電路,并在圖像輸出的同時(shí),進(jìn)行X軸及Y軸的圖像數(shù)據(jù)統(tǒng)計(jì),并將結(jié)果存于片上內(nèi)存(On-Chip Memory)之中,以便Nios處理器來讀取。

SOPC系統(tǒng)端接口設(shè)定

圖4 系統(tǒng)端SOPC接口設(shè)定

 

由DE2發(fā)展板所提供的范例新增用戶自定腳位來控制自制的外圍電路,并通過PLL生成100MHz頻率的時(shí)鐘源供SDRAM來使用,如圖5所示。

圖5 cpu_0在SOPC(上)及在NIOS IDE(下)中的內(nèi)存配置

系統(tǒng)軟件執(zhí)行時(shí)內(nèi)存的配置

由于開發(fā)板上的SDRAM已被CMOS 傳感器擷取及VGA 控制器所使用,所以cpu_0及cpu_1的程序內(nèi)存是放于Flash上,而cpu_0執(zhí)行程序時(shí)的例外向量是放于SRAM上;而cpu_1是放于片上內(nèi)存之中,當(dāng)然在NIOS IDE開發(fā)該CPU的軟件時(shí),也必須分別要把變量堆疊區(qū)指定到相關(guān)的內(nèi)存之中,如圖5、圖6所示。[!--empirenews.page--]

圖6 cpu_1在SOPC(上)及在NIOS IDE(下)中的內(nèi)存配置效能參數(shù)

本設(shè)計(jì)主要是針對每秒10張frame,而每個(gè)frame為640×480全彩24bit的實(shí)時(shí)圖像進(jìn)行圖像辨視,每秒必須處理8.78M Byte的數(shù)據(jù)量,并進(jìn)行二值化及X軸、Y軸Histogram的圖像處理,由于必須快速處理大量圖像信息,所以采用硬件加速,軟件控制的架構(gòu)來實(shí)現(xiàn),此外,由于本設(shè)計(jì)的SDRAM資源可以切換給Nios來使用,所以亦可使用Nios來讀取SDRAM的圖像信息并進(jìn)行圖像處理,此外,在測試圖像處理算法時(shí),也利用BCB開發(fā)出PC端的仿真程序,而配備如下(Intel 1.6GHz Core Duo,1G RAM, 1.3 Mega CMOS 傳感器 ),以下就三者實(shí)驗(yàn)數(shù)據(jù)進(jìn)行比較,如表1所示。

設(shè)計(jì)架構(gòu) 

系統(tǒng)流程

圖7 系統(tǒng)流程圖

系統(tǒng)流程如圖7所示。

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

圖8 系統(tǒng)方框圖

由系統(tǒng)方框圖8可知,本設(shè)計(jì)使用雙核的系統(tǒng),其中一個(gè)CPU是用來控制CMOS 控制器模塊,而另一個(gè)CPU可以控制大部份的外圍器件,而兩個(gè)CPU之間是利用輸出及輸入PIO腳位,來達(dá)到傳遞數(shù)據(jù)的目的,這樣設(shè)計(jì)的好處是,可利用一個(gè)CPU全速處理大量圖像信息,而另一個(gè)CPU可以負(fù)責(zé)車控系統(tǒng),若從圖像中偵測到偏離或碰撞危險(xiǎn)時(shí),將能通過PIO來觸發(fā)另一個(gè)CPU的中斷,進(jìn)而實(shí)時(shí)告知車控系統(tǒng)下達(dá)較正方向或閃避的控制命令,本設(shè)計(jì)使用到許多的外圍器件包含:Flash Memory、SDRAM、SRAM、M4K RAM、LCM、JTAG-UART、RS232、GPIO、Button、Switch、Timer、LED、Segment、VGA、CMOS 傳感器等。

圖像處理方框圖

圖9圖像處理方框圖

由圖9可發(fā)現(xiàn),本設(shè)計(jì)之所以能達(dá)到實(shí)時(shí)圖像及實(shí)時(shí)動態(tài)追蹤,是因?yàn)楫?dāng)CMOS 傳感器下圖像擷取時(shí),便能通過硬件器件,將數(shù)據(jù)從RAW Data轉(zhuǎn)成RGB再進(jìn)行二值化或灰階的處理,以利進(jìn)行圖像處理,而且同時(shí)亦在VGA上立即顯示出該圖像,整個(gè)過程均是由硬件來做;在圖像追蹤時(shí),Nios可以通過X軸或Y軸的直方圖統(tǒng)計(jì)方式來進(jìn)行標(biāo)示目標(biāo)物,所以一張新的圖像進(jìn)來時(shí),Nios并不用做任何處理,即可讀出所需要的數(shù)值,這樣一來才能達(dá)到所期待的硬件加速效能。

表1 三種圖像處理平臺的效能分析

軟件流程

1.為了加速運(yùn)算,由硬件分別做了二值化和數(shù)據(jù)統(tǒng)計(jì)。

2.一開始先搜尋目標(biāo)標(biāo)線位置。

3.找到標(biāo)線后進(jìn)行動態(tài)鎖定。

4.開始判斷標(biāo)線長度,自控車是否在標(biāo)線最近距離,若否,則判斷標(biāo)線長是否大于標(biāo)框長的70%,如果大于70%則放大標(biāo)框。

5.由PIO送出前進(jìn)的控制信號給自控車。

6.若自控車在標(biāo)線最近距離則判斷是否為左右轉(zhuǎn)標(biāo)線,若是 則依標(biāo)線左(右)轉(zhuǎn),否則停止動作。

硬件電路

(1) 雙CMOS 傳感器圖像擷取器件:通過Switch開關(guān)來達(dá)到切換主畫面/子母畫面的功能,F(xiàn)rame的速度由其中一個(gè)CMOS 傳感器來主導(dǎo),每一次CMOS 傳感器所輸出的數(shù)值為10bit,并同時(shí)輸出該pixel的x,y坐標(biāo),以利讀取。

(2) 多端口 SDRAM 控制器:通過六個(gè)FIFO來提供三讀三寫的SDRAM控制器,每一個(gè)FIFO的大小為2KB,全利用M4K RAM來生成。

VGA 控制器 & 圖像處理:將SDRAM讀來的數(shù)值,配合適當(dāng)?shù)腍_sync及V_sync信號一個(gè)一個(gè)把Pixel打出去,在這同時(shí)亦順便進(jìn)行X軸或Y軸的直方圖統(tǒng)計(jì),并將結(jié)果存儲于另一個(gè)M4K RAM中,待NIOS需要時(shí)即可以馬上從此M4K RAM中讀到數(shù)值。

直流電機(jī)驅(qū)動電路

我們使用全橋電路來控制輪子的正轉(zhuǎn)及反轉(zhuǎn)、Nios通過CAR_CMD[3..0]這個(gè)PIO來控制車體的運(yùn)動,CAR_CMD[1..0]為后輪的開關(guān),而CAR_CMD[3..2]為前輪的開關(guān),在圖十五中為一可控制電流正流或逆流的全橋電路開關(guān),而前輪也相同,其中詳細(xì)的控制命令,如表2所示。

表2 金橋電路控制命令

圖10 軟件流程圖

圖11 雙CMOS 傳感器模塊

圖12 6-ports SDRAM controlle

[!--empirenews.page--]圖13 VGA controler & Image Processing模塊

圖14 后輪的全橋電路開關(guān)

實(shí)境測試

在圖15中,智能型圖像追蹤車已鎖定特定的目標(biāo)物了,并朝著目標(biāo)物前進(jìn),圖中可以清楚地看出除了自色箭頭標(biāo)志外,尚有許多其它的白色干擾物,如白色墻壁、面紙…等,而在圖16中是智能型圖像追蹤車的VGA輸出,可以清楚地看到圖中是二值化的圖像,并且已智能型圖像追蹤車已鎖定白色箭頭標(biāo)志(綠框圍住),在車體前進(jìn)時(shí),綠框會自動變大并鎖定白色箭頭。

圖15 智能型圖像追蹤車正朝著目標(biāo)物前進(jìn)

圖16 智能型圖像追蹤車前進(jìn)時(shí)鎖定的目標(biāo)

圖17 智能型圖像追蹤車

結(jié)語

本設(shè)計(jì)使用兩顆嵌入式Nios軟核,通過快速設(shè)計(jì)且高集成性的Avalon總線,將復(fù)雜的外圍電路及數(shù)種內(nèi)存模塊集成為車控平臺,通過Nios高性能的表現(xiàn),可以很輕易地實(shí)現(xiàn)實(shí)時(shí)圖像處理及高速自動控制的產(chǎn)品。圖17為最終設(shè)計(jì)成型的智能型圖像追蹤車。

 

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉