任金波,張 翔,施火結(jié)
(1.福建農(nóng)林大學(xué) 機(jī)電工程學(xué)院,福州 350002;2.重慶大學(xué) 機(jī)械工程學(xué)院,重慶 400044)
近年來(lái),隨著經(jīng)濟(jì)的發(fā)展和生活水平的提高,人們對(duì)路面的鋪裝要求越來(lái)越高,尤其是廣場(chǎng)、公園、庭院、小區(qū)等道路,廣泛使用大理石、花崗巖、砂石、混凝土磚及其他材料鋪裝路面,沿路面兩側(cè)邊緣常設(shè)有排水槽,因排水槽寬度和高度較小,受落葉、石粒、雜草等影響經(jīng)常容易堵塞,給排水帶來(lái)嚴(yán)重影響,而清理時(shí)又極為困難,目前主要靠人工手工清理作業(yè),勞動(dòng)強(qiáng)度大,如能以自動(dòng)清掃設(shè)備進(jìn)行作業(yè),將能顯著提高清理效率,降低勞動(dòng)強(qiáng)度。本文提出一種基于STM32和ARM Cortex-A8平臺(tái)的自清掃智能小車,能在以大理石、花崗巖、混凝土磚等進(jìn)行鋪裝的路面對(duì)邊緣排水槽進(jìn)行清掃,清掃時(shí)可對(duì)路面和排水槽進(jìn)行精確定位,自動(dòng)控制毛刷盤位置來(lái)配合小車的行走動(dòng)作,沿排水槽自動(dòng)完成清掃作業(yè)。
路面邊緣排水槽如圖1所示,寬度約42mm,高度約16mm,常有落葉、淤泥、石粒等落入其中造成堵塞,基于STM32和ARM Cortex-A8的自清掃智能小車,通過(guò)安裝于底盤前后端的攝像頭采集路面圖像,并進(jìn)行路徑檢測(cè)以指導(dǎo)行走機(jī)構(gòu)運(yùn)動(dòng),左右端的攝像頭采集排水槽圖像,在控制模塊作用下,清掃小車在尺寸較規(guī)整的路面上對(duì)邊緣排水槽進(jìn)行清掃??刂颇K內(nèi)置包括STM32單片機(jī)在內(nèi)的計(jì)算芯片,當(dāng)小車工作時(shí),計(jì)算芯片以小車初始位置為原點(diǎn),以收到的ARM Cortex-A8平臺(tái)傳送的路面圖像為刻度,記錄小車的行走軌跡,并在轉(zhuǎn)彎處或交叉處判斷轉(zhuǎn)向以免重復(fù)之前的路徑;行走機(jī)構(gòu)根據(jù)路面圖像信息處理結(jié)果實(shí)時(shí)調(diào)整行進(jìn)路線,以使毛刷盤對(duì)準(zhǔn)排水槽進(jìn)行清掃,當(dāng)行走機(jī)構(gòu)轉(zhuǎn)彎、倒退或暫停時(shí),升降單元提升毛刷盤使之離開(kāi)縫隙以免受損。
圖1 路面邊緣排水槽
自清掃智能小車的結(jié)構(gòu)如圖2所示。包括圖像識(shí)別與路徑檢測(cè)裝置、清掃裝置、回收裝置、控制模塊、行走機(jī)構(gòu)、狀態(tài)顯示屏等??刂颇K與行走機(jī)構(gòu)、圖像識(shí)別與路徑檢測(cè)裝置、清掃機(jī)構(gòu)等相連并加以控制;圖像識(shí)別與路徑檢測(cè)裝置包括位于前后、左右的攝像頭和圖像處理單元;清掃機(jī)構(gòu)包括升降單元和豎向設(shè)置的毛刷盤;行走機(jī)構(gòu)以兩個(gè)獨(dú)立的驅(qū)動(dòng)電機(jī)驅(qū)動(dòng)后輪行走,當(dāng)控制模塊改變電機(jī)的轉(zhuǎn)速、轉(zhuǎn)向時(shí),小車轉(zhuǎn)彎、倒退,并根據(jù)圖像識(shí)別與路徑檢測(cè)裝置檢測(cè)的路徑走向調(diào)整行進(jìn)路線,以使毛刷盤對(duì)準(zhǔn)排水槽進(jìn)行清掃;回收裝置包括進(jìn)風(fēng)口、風(fēng)葉、濾塵裝置和出風(fēng)口,風(fēng)葉設(shè)于進(jìn)風(fēng)口處,進(jìn)風(fēng)口的進(jìn)風(fēng)面朝向毛刷盤,濾塵裝置設(shè)于出風(fēng)口處;小車前方還設(shè)有狀態(tài)顯示屏和USB接口,以便于讀取、提取工作數(shù)據(jù)。
圖2 自清掃智能小車
圖3所示為系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì),含有處理器、ARM Cortex-A8處理單元、圖像采集單元、顯示模塊等。其中ARM Cortex-A8圖像處理單元是自清掃小車的核心裝置,通過(guò)處理平臺(tái)i.MX6完成,該處理平臺(tái)結(jié)構(gòu)緊湊,裝置輕便,易嵌入到小車結(jié)構(gòu)中,可替代傳統(tǒng)PC處理機(jī),并具有實(shí)時(shí)顯示的功能,得到圖像處理的參數(shù)傳給微控制單元,從而控制小車運(yùn)動(dòng)。
微處理單元使用STM32F100R8單片機(jī),用于控制ARM Cortex-A8圖像處理單元通過(guò)外圍電路傳輸?shù)膮?shù),從而實(shí)時(shí)控制小車的行走路徑;并通過(guò)驅(qū)動(dòng)電路、清掃控制電路、集塵裝置電路等控制小車的行走、清掃和集塵功能。
ARM Cortex-A8處理單元對(duì)路面和邊緣排水槽圖像進(jìn)行運(yùn)算、分析,獲得對(duì)目標(biāo)路徑的方位信息,提取出路徑的擬合點(diǎn),導(dǎo)航線信息,并進(jìn)行導(dǎo)航偏角和偏移量的參數(shù)計(jì)算,為自動(dòng)行走導(dǎo)航和自清掃提供信息。
圖像采集單元通過(guò)CMOS圖像傳感器將光信號(hào)轉(zhuǎn)成電信號(hào)后,再經(jīng)視頻轉(zhuǎn)換芯片TVP5150AM1將圖片的模擬信號(hào)轉(zhuǎn)成數(shù)字信號(hào),最后將經(jīng)信號(hào)處理后的數(shù)據(jù)傳出。
圖像顯示單元由TFT-LCD液晶顯示屏組成,TFTLCD是一種常用的液晶屏種類,具有較高的液晶顯示成像質(zhì)量,可實(shí)時(shí)顯示由圖像處理單元獲取的圖像路徑信息。
程序編譯主要是在PC機(jī)上完成程序編寫(xiě)并進(jìn)行程序到開(kāi)發(fā)板的移植。在Visual Studio 2010平臺(tái)進(jìn)行程序的開(kāi)發(fā),通過(guò)Arm-linux-gcc完成程序的交叉編譯,并進(jìn)行移植。
控制系統(tǒng)程序流程如圖4所示,系統(tǒng)初始化后進(jìn)行控制模式選擇,以確定是自動(dòng)還是手動(dòng)模式;如自動(dòng)清掃,首先確定工作起始位,并以此作為坐標(biāo)原點(diǎn),把小車移至坐標(biāo)原點(diǎn)處,攝像頭開(kāi)始采集圖像信號(hào)并進(jìn)行分析和路徑識(shí)別,小車啟動(dòng)后毛刷開(kāi)始對(duì)排水槽進(jìn)行清掃,并將垃圾收集到回收裝置中。前進(jìn)過(guò)程中,發(fā)現(xiàn)偏航時(shí)向控制模塊發(fā)送偏航感知信息,從而控制行走機(jī)構(gòu)使小車恢復(fù)正確行進(jìn)路線;當(dāng)小車運(yùn)行路徑前方有墻體或障礙物時(shí),前部的障礙物傳感器向控制模塊發(fā)送碰撞告警,使控制模塊控制行走機(jī)構(gòu)停止或轉(zhuǎn)向;計(jì)算芯片以清理裝置初始位置為原點(diǎn),以收到的圖像感知信息為刻度,記錄清理裝置的行走軌跡,并在路面交叉處判斷轉(zhuǎn)向以免重復(fù)之前的路徑。
圖3 自清掃智能小車總體設(shè)計(jì)框圖
4.1.1 路面圖像采集
圖像采集即自清掃智能小車在路面上拍攝圖像的過(guò)程,圖像采集應(yīng)盡可能豐富,采集到平整、交織、阻礙等各因素干擾下的多幅圖像。
4.1.2 圖像灰度化
計(jì)算機(jī)圖像處理常采用RGB和HSV兩種模型。RGB模型是基于人類視覺(jué)的三原色——紅(R)、綠(G)、藍(lán)(B)理論建立的色彩空[1];HSV(Hue, Saturation,Value)是根據(jù)顏色的直觀特性由A. R. Smith在1978年創(chuàng)建的一種均勻顏色空間,反映了人的視覺(jué)對(duì)顏色的感覺(jué)[2]。RGB圖像不利于系統(tǒng)的實(shí)時(shí)采集,一般對(duì)顏色空間的圖像進(jìn)行有效處理都是在HSV空間進(jìn)行的,因此,需要將采集到的路面RGB模型圖像轉(zhuǎn)換為HSV顏色模型,然后通過(guò)調(diào)節(jié)HSV空間的S分量實(shí)現(xiàn)圖像的灰度化[3,4]。
4.1.3 圖像二值化分割不同特征
圖像二值化閾值選取通常采用雙峰法、P參數(shù)法、Otsu算法、最大熵閾值法、迭代法(最佳閾值法)、均勻性度量算法、聚類法等[5]。其中,Otsu算法由于在圖像處理過(guò)程中計(jì)算簡(jiǎn)單,且不受色調(diào)等其他因素影響,在圖像處理中經(jīng)常采用。因此,對(duì)路面灰度化操作完成的圖像使用Otsu算法進(jìn)行二值化處理。
4.1.4 濾波(突出路面特征)
路面圖像二值化處理后,會(huì)出現(xiàn)許多噪聲成分,影響后續(xù)特征點(diǎn)的提取,需對(duì)圖像進(jìn)行濾波操作,圖像有很多濾波方法,如非線性濾波、中值濾波、形態(tài)學(xué)濾波等[6]。形態(tài)學(xué)濾波器是近年廣泛采用的一類重要非線性濾波器,一般使用二值圖像進(jìn)行邊界提取、骨架提取、孔洞填充、角點(diǎn)提取、圖像重建;主要依靠膨脹腐蝕,開(kāi)啟操作,閉合操作等幾種算法進(jìn)行組合來(lái)實(shí)現(xiàn)一些非常復(fù)雜的功能。綜合考慮后,本文采用面積法結(jié)合形態(tài)學(xué)濾波對(duì)二值化后的路面圖像進(jìn)行濾波操作。
圖4 控制系統(tǒng)程序流程圖
4.1.5 提取擬合點(diǎn)
路面結(jié)構(gòu)錯(cuò)綜復(fù)雜,受落葉、石粒、雜草等其他因素干擾較多,圖像處理中提取路面特征算法也較為繁瑣,本文提出一種簡(jiǎn)單有效的算法,具體過(guò)程為:構(gòu)造出一空表矩陣,分成四行,從矩陣的1/4、2/4、3/4、4/4行依次掃描圖像,以0、1表示像素的圖像位置,左右分別記錄,最后找到突變點(diǎn)坐標(biāo)中間值,該值即為所需的路面路徑中間擬合點(diǎn)。
4.1.6 提取路面上的導(dǎo)航路徑
霍夫變換于(Hough Transform)1962年由Paul Hough次提出[7],后于1972年由Richard Duda和Peter Hart推廣使用[8],是圖像處理中的較為廣泛應(yīng)用的一種特征提取技術(shù),將經(jīng)過(guò)算法提取到的系列特征點(diǎn)經(jīng)霍夫變換后,可得自清掃小車在路面上自主行走清掃時(shí)的導(dǎo)航路徑。
為驗(yàn)證自清掃智能小車能否實(shí)現(xiàn)在路面上自動(dòng)導(dǎo)航行走,選取了圖5所示的兩幅路面圖像進(jìn)行仿真處理,圖5(a)為彎曲路面,圖5(b)為直線路面。圖6為兩幅圖像處理完成后的特征點(diǎn)和路徑檢測(cè)圖像,圖中較細(xì)曲線為提取的系列特征點(diǎn),粗線條為特征點(diǎn)經(jīng)霍夫變換后得到的自主行走導(dǎo)航路徑。從仿真圖可以看出,路面較平直時(shí),特征點(diǎn)和導(dǎo)航路徑吻合性較高,基本保持重合;路面有彎道時(shí),特征點(diǎn)和導(dǎo)航路勁不重合,需實(shí)時(shí)調(diào)整導(dǎo)航路徑,以滿足自清掃小車沿路面行走作業(yè),毛刷盤根據(jù)左右端攝像頭采集的排水槽圖像實(shí)時(shí)調(diào)整動(dòng)作,以完成清掃作業(yè)。圖像識(shí)別與路徑檢測(cè)裝置處理兩幅像素500×360的圖像分別耗時(shí)為0.085s、0.079s,平均耗時(shí)0.082s,表明圖像處理速度快,可滿足路徑導(dǎo)航實(shí)時(shí)性要求。
圖5 路面圖像
圖6 特征點(diǎn)與路徑檢測(cè)圖像
自清掃智能小車行走作業(yè)時(shí),質(zhì)心的變化能夠反映出其在運(yùn)行中的穩(wěn)定性問(wèn)題,如質(zhì)心波動(dòng)比較大,則穩(wěn)定性較差。為驗(yàn)證自清掃小車的穩(wěn)定性,選取波浪紋防滑型混凝土地磚路面作為仿真行走基體,路面上波浪紋的最大圓弧半徑為4mm,仿真得到小車質(zhì)心運(yùn)動(dòng)參數(shù)隨時(shí)間變化曲線如圖7所示,(a)~(c)分別為質(zhì)心位移、速度、加速度隨時(shí)間變化曲線(注:X軸指向前進(jìn)方向,Y軸指向高度方向,Z軸指向?qū)挾确较颍P≤囋诼访媲斑M(jìn)過(guò)程中,由于Z軸方向上的運(yùn)動(dòng)學(xué)參數(shù)變化很小,幾乎呈直線狀,圖中予以忽略。從圖7中可以看出,小車在運(yùn)動(dòng)至第9s左右時(shí)前輪開(kāi)始越過(guò)波浪紋圓弧,此時(shí)X、Y方向上的速度和加速度曲線會(huì)發(fā)生較大的波動(dòng),且出現(xiàn)峰值,但X、Y方向上質(zhì)心位移的變化仍然相對(duì)平緩,沒(méi)有出現(xiàn)各種突變現(xiàn)象,可知小車在越過(guò)波浪紋路面時(shí),仍能保持運(yùn)動(dòng)穩(wěn)定,從而正常作業(yè)。
圖7 穩(wěn)定性仿真曲線
本文設(shè)計(jì)了一種基于STM32和ARM Cortex-A8平臺(tái)的自清掃智能小車,并對(duì)其機(jī)械結(jié)構(gòu)、控制系統(tǒng)硬軟件進(jìn)行了詳細(xì)論述,最后進(jìn)行了小車行走作業(yè)時(shí)的圖像處理和運(yùn)動(dòng)穩(wěn)定性仿真實(shí)驗(yàn),路面圖像經(jīng)攝像頭采集、灰度化、二值化、濾波、提取路徑特征點(diǎn)和霍夫變換后,可成功得到路徑導(dǎo)航線,算法快速準(zhǔn)確,能在有障礙物或偏航時(shí)實(shí)時(shí)導(dǎo)航從而自動(dòng)恢復(fù)正確行走路線,并能在較復(fù)雜路面運(yùn)行時(shí)保持運(yùn)動(dòng)平穩(wěn),毛刷盤根據(jù)采集到的排水槽圖像信息實(shí)時(shí)調(diào)整清掃動(dòng)作,從而完成清掃作業(yè),可以減輕路面兩側(cè)邊緣排水槽清掃時(shí)的工作強(qiáng)度,提升工作效率,具有較好的應(yīng)用前景。