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

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

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

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


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

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

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

評論