基于顏色識別的智能小車(chē)集群控制
引言
本文引用地址:http://dyxdggzs.com/article/201610/309878.htm隨著(zhù)嵌入式技術(shù)的發(fā)展,基于小型便攜式識別和集群控制技術(shù)較傳統計算機技術(shù)具有更廣闊的應用?;跀z像頭的顏色識別技術(shù)較一般傳感器定位和采集技術(shù)具有穩定性和可移動(dòng)等方面的優(yōu)勢,在生產(chǎn)車(chē)間自動(dòng)物料配送車(chē)的循跡以及基于顏色的物料提取中具有廣泛的應用前景。而集群控制作為一種新生的控制方式,在大范圍、多控制對象的控制方面具有舉足輕重的作用,如太陽(yáng)能發(fā)電板的集群控制、風(fēng)力發(fā)電機的集群控制以及大型舞臺劇中的燈光集群控制。而本文中的小車(chē)集群控制是將顏色識別與集群控制的較好方式。小車(chē)位置及方向信息通過(guò)攝像頭的顏色識別技術(shù)獲取,處理之后傳送到STM32進(jìn)行校驗,并通過(guò)無(wú)線(xiàn)模塊發(fā)送出去,驅動(dòng)多輛小車(chē)按指定的路線(xiàn)行走,從而實(shí)現集群控制。
1 系統整體構架
本文中的設計系統由智能小車(chē)和攝像頭控制模塊兩部分組成,為滿(mǎn)足集群控制的需要選用3輛小車(chē),小車(chē)由兩輪驅動(dòng),便于在行走過(guò)程中調節方向。每輛小車(chē)搭載NRF無(wú)線(xiàn)模塊和測速模塊,可以實(shí)現小車(chē)的旋轉角度測量以及速度調整。跑道的正上方是USB攝像頭,通過(guò)5m長(cháng)的延長(cháng)線(xiàn)與地面的主控板相連接。為滿(mǎn)足數據的實(shí)時(shí)處理及多任務(wù)控制的需要,主控板采用Tiny2440四核Cortex—A9核處理器,搭載Linux系統,通過(guò)QT的設計使得操作界面美觀(guān)易操作。為減輕處理器內核的負擔以及確保傳送指令的準確性,指令的校驗工作由外圍的STM32芯片處理,并通過(guò)nRF模塊與小車(chē)通信。系統整體結構圖如圖1所示。

2 硬件結構
2.1 主控制器硬件結構
Exynos 4412采用哈佛結構設計,使得數據和代碼的讀取速率較高,而其特有的四核處理器具有1.5 GHz的主頻,使得對攝像頭采集數據的處理更加實(shí)時(shí),并流暢支持1280× 800高清屏,可通過(guò)LCD屏指定小車(chē)路線(xiàn)范圍,實(shí)施控制??刂破鲀炔拷Y構圖如圖2所示。

2.2 智能控制結構
智能小車(chē)對于接收指令的實(shí)時(shí)響應決定了最終的控制效果,本文中的智能小車(chē)采用意法半導體公司的STM32F103C8T6作為控制芯片,通過(guò)產(chǎn)生的PWM信號來(lái)控制直流電機的轉速。在實(shí)際控制過(guò)程中需要涉及到小車(chē)的定向旋轉,以及直線(xiàn)行駛的問(wèn)題,于是在小車(chē)中引入了光電紅外對射管作為小車(chē)的測速模塊。
當直線(xiàn)行駛時(shí),小車(chē)將通過(guò)測速碼盤(pán)的脈沖輸出來(lái)判斷轉速的大小,從而作出左右輪轉速的調整。同時(shí)小車(chē)會(huì )將調整的結果存入到內部Flash中作為下一次啟動(dòng)時(shí)的調整數據,這樣只要在實(shí)際運行前做測試調整,小車(chē)就會(huì )在直線(xiàn)行駛時(shí),實(shí)現不同場(chǎng)地的阻力誤差記憶。小車(chē)控制板結構圖如圖3所示。

2.3 小車(chē)定位方式
小車(chē)的頂部色盤(pán)必須同時(shí)具備小車(chē)位置定位和方向定位功能。由于通過(guò)形狀定位的傳統方式對攝像頭要求過(guò)高且識別精度有較大誤差,本設計采用兩個(gè)圓盤(pán)的顏色識別方式來(lái)實(shí)現這一功能。小車(chē)頂部色盤(pán)如圖4所示。
2.4 小車(chē)的控制指令
小車(chē)的控制數據由8個(gè)字節組成,如下所示:
其中,1、2、3、8為指令校驗碼,4~7為指令內容。第1個(gè)字節到第3個(gè)字節表示數據頭,都是0x80。第8個(gè)字節表示數據尾,是0x81。這樣只有出現數據頭的字節,其后面的內容才被小車(chē)識別為有用的數據,使得小車(chē)正確運轉。數據尾的出現代表對小車(chē)的控制結束。
數據內容為發(fā)送控制指令的具體形式。小車(chē)有以下幾個(gè)命令。


2.5 小車(chē)搭載色盤(pán)顏色的確定
由于USB攝像頭采集到的顏色數據為YUV格式,需要將其轉換成RGB格式來(lái)顯示。所以在確定小車(chē)搭載定位色盤(pán)的顏色時(shí)需要選定特殊的顏色,以使得采集到的數據容易被分辨。本設計在原色選擇時(shí)采用Y、U、V為三維坐標軸使得色盤(pán)的YUV分量之間存在一定差距,再通過(guò)公式將其轉換成RGB基色值。
3 軟件實(shí)現
3.1 主控軟件系統
軟件平臺為L(cháng)inux Kemel 3.5、Qtopia-2.2.0;交叉編譯環(huán)境為嵌入式QT、arm-linux-gcc;開(kāi)發(fā)語(yǔ)言為C++。
3.2 顏色識別算法
此模塊在一個(gè)線(xiàn)程中,先讀取配置文件,得到各個(gè)顏色的Y、U、V平均值,然后從攝像頭取得一幀的圖像,按行掃描每個(gè)像素,根據Y、U、V平均值確定Y、U、V的閥值對像素的Y、U、V值進(jìn)行匹配,從而確定像素的顏色。程序把各個(gè)顏色的像素點(diǎn)分類(lèi),同一顏色的像素點(diǎn)坐標放在一起,然后算出同一顏色像素點(diǎn)的中心坐標。然后通過(guò)表1對應到小車(chē)的坐標。

得到3輛小車(chē)的中心點(diǎn)坐標和方向點(diǎn)坐標后,存放在內存中,供其他模塊調用。攝像頭采集數據流程圖如圖5所示。

3.3 集群防碰撞控制算法
集群小車(chē)在行走的過(guò)程中為了防止相互之間的碰撞,必須采用相應的防碰撞措施。在本設計中采用角度與距離來(lái)實(shí)現防碰撞控制,當小車(chē)1和2之間的距離L

評論