黃東棟 程 莉
(武漢工程大學(xué)電氣信息學(xué)院 武漢 430205)
隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)以及現(xiàn)代控制技術(shù)的高速發(fā)展,機(jī)器人的種類變得越來越豐富,功能也越來越齊全,并逐步從傳統(tǒng)的工業(yè)領(lǐng)域走進(jìn)人們的日常生活。
現(xiàn)今,服務(wù)業(yè)的發(fā)展越發(fā)受到人們的重視,在近十年里,餐飲業(yè)發(fā)展速度遠(yuǎn)遠(yuǎn)超過GDP的發(fā)展度。隨著國(guó)民經(jīng)濟(jì)的不斷增長(zhǎng),餐飲業(yè)也有著很大的增長(zhǎng)空間,依我國(guó)餐飲業(yè)持續(xù)增長(zhǎng)的態(tài)勢(shì),餐飲業(yè)將跨入新的發(fā)展階段。于是,將智能機(jī)器人應(yīng)用于餐飲業(yè)顯得新穎且非常有必要。但目前,餐廳服務(wù)機(jī)器人在國(guó)內(nèi)外基本處于空白,且非常不成熟。
1999年,第一臺(tái)餐廳服務(wù)機(jī)器人Alfred在加拿大誕生[1],該機(jī)器人僅僅只有簡(jiǎn)單的語(yǔ)音迎客功能;2008年北京一家餐廳服務(wù)機(jī)器人,具有簡(jiǎn)單的點(diǎn)菜功能;2015年山東科技大學(xué)某實(shí)驗(yàn)室設(shè)計(jì)了一款基于STC89C52的智能餐廳服務(wù)機(jī)器人,具有自動(dòng)送餐、循跡功能,但也存在著依賴軌跡、無路徑規(guī)劃等缺點(diǎn)?,F(xiàn)如今,餐廳服務(wù)機(jī)器人變得日趨智能,但仍存在著需依賴軌跡、無路徑規(guī)劃、無法自主定位、無自動(dòng)避障等方面的問題。本文結(jié)合之前的研究及缺點(diǎn),提出了一套完善的視覺定位和自動(dòng)避障算法,以達(dá)到全智能的準(zhǔn)確快速送餐服務(wù)。
機(jī)器人大小:40*40*50cm。
機(jī)器人結(jié)構(gòu):前輪控制轉(zhuǎn)向,后輪由雙直流減速電機(jī)提供動(dòng)力。
機(jī)器人功能:在無軌的情況下自主有效地完成傳菜功能。
顧客來到餐廳,前臺(tái)服務(wù)員安排就坐。顧客通過餐桌上二維碼掃描點(diǎn)餐并提交,廚房準(zhǔn)備好餐飲后通過2.4G[2~4]通信模塊向機(jī)器人下達(dá)送餐指令。
機(jī)器人拿到餐后由 EXP-LM3S811 ARM[5-6]微控制器計(jì)算出最佳路徑并自主駛向顧客所在的餐桌。
通過DSP[7-9]視覺識(shí)別模塊識(shí)別桌子特定色標(biāo)實(shí)現(xiàn)其在餐廳中的自我定位,并根據(jù)當(dāng)前位置實(shí)時(shí)更新路徑。
通過EXP-LM3S811 ARM微控制器輸出PWM[10]波驅(qū)動(dòng)雙直流減速電機(jī)并給電機(jī)調(diào)速。在每個(gè)雙直流減速電機(jī)的輸出軸尾端安裝一個(gè)光耦模塊,用來檢測(cè)機(jī)器人的行進(jìn)速度。
通過紅外傳感器[11]和超聲波測(cè)距傳感器[12]模塊檢測(cè)機(jī)器人與周圍障礙物的距離,達(dá)到自主避障。
通過三軸磁場(chǎng)傳感器[13~14]和傾斜傳感器[15]模塊,用來檢測(cè)機(jī)器人是否傾斜。
餐廳服務(wù)機(jī)器人系統(tǒng)硬件設(shè)計(jì)核心包括動(dòng)力轉(zhuǎn)向部分、定位部分、避障部分、無線通信部分。
餐廳服務(wù)機(jī)器人模型較重,一般小型馬達(dá)難以提供足夠的后輪動(dòng)力,本文系統(tǒng)選擇了型號(hào)為25GA98-280的直流電機(jī),為餐廳服務(wù)機(jī)器人提供充足動(dòng)力,25GA98-280直流電機(jī)參數(shù)如表1所示。通過L6203芯片直流電機(jī)控制板驅(qū)動(dòng)器驅(qū)動(dòng)電機(jī),驅(qū)動(dòng)電路如圖1所示。
表1 直流減速電機(jī)參數(shù)
圖1 L6203芯片直流電機(jī)控制板驅(qū)動(dòng)器電路圖
為了精確控制轉(zhuǎn)向角度,系統(tǒng)前輪轉(zhuǎn)向由舵機(jī)完成,舵機(jī)型號(hào)為輝盛MG-996R,驅(qū)動(dòng)電路如圖2所示。
圖2 舵機(jī)驅(qū)動(dòng)電路圖
機(jī)器人通過紅外傳感器和超聲波測(cè)距傳感器模塊檢測(cè)機(jī)器人與周圍障礙物的距離,達(dá)到自主避障。
機(jī)器人通過DSP視覺識(shí)別模塊識(shí)別桌子特定色標(biāo)實(shí)現(xiàn)其在餐廳中的自我定位,并根據(jù)當(dāng)前位置實(shí)時(shí)更新路徑。
本文選用TMS320DM642 DSP芯片,在600MHz的時(shí)鐘頻率下峰值處理速度達(dá)到4800MI/s,具有豐富的片上接口,非常適合于視頻/圖像處理。
攝像頭作為視頻傳感器輸出的模擬視頻信號(hào)不能直接被DSP處理,需要利用視頻解碼芯片完成圖像的數(shù)字化。本文采用視頻解碼器TVP5150。數(shù)字化過程后,將視頻數(shù)據(jù)存儲(chǔ)到視頻接口內(nèi)的FIFO中,當(dāng)FIFO的數(shù)據(jù)量達(dá)到預(yù)定閾值時(shí),EDMA將把數(shù)據(jù)從FIFO中送入到DSP的內(nèi)存里,這樣DSP就可以完成圖像處理。
TMS320DM642 DSP處理器集成了3個(gè)功能豐富的視頻口VP0、VP1、VP2,每個(gè)視頻口包括20個(gè)數(shù)據(jù)信號(hào)、2個(gè)時(shí)鐘信號(hào)、3個(gè)控制信號(hào)。基于TMS320DN642的數(shù)字視頻處理系統(tǒng)如圖3所示。
圖3 基于TMS320DN642的數(shù)字視頻處理系統(tǒng)
本文選用NRF24L01無線模塊作為機(jī)器人的通信模塊,NRF24L01工作在全球免申請(qǐng)的ISM頻道2400M-2483M范圍內(nèi),模塊開機(jī)后能自動(dòng)掃頻,有125個(gè)可選工作頻道,可以同時(shí)供6個(gè)用戶在同一場(chǎng)合同時(shí)工作。NRF24L01模塊的基本參數(shù)表如表2所示,工作電路圖如圖4所示。
圖4 工作電路圖設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)核心部分包括機(jī)器人視覺定位、自動(dòng)避障算法。
機(jī)器人通過DSP視覺識(shí)別模塊識(shí)別桌子特定色標(biāo)實(shí)現(xiàn)其在餐廳中的自我定位,并根據(jù)當(dāng)前位置實(shí)時(shí)更新路徑。
攝像頭捕捉到桌上特定色標(biāo)即視頻模擬信號(hào),并將模擬信號(hào)傳輸給視頻解碼芯片TVP5150進(jìn)行數(shù)字化,然后將數(shù)字化后的的數(shù)據(jù)存儲(chǔ)到視頻接口內(nèi)的FIFO中。當(dāng)FIFO的數(shù)據(jù)量達(dá)到閾值時(shí),EDMA將把數(shù)據(jù)從FIFO中送入到DSP的內(nèi)存里。TVP5150芯片進(jìn)行模擬信號(hào)的數(shù)字化過程如下。
視頻模擬信號(hào)進(jìn)入TVP5150芯片后,先由芯片中的自動(dòng)檢測(cè)模塊確認(rèn)輸入的模擬視頻信號(hào)的制式,然后通過內(nèi)部鉗位、濾波、模數(shù)轉(zhuǎn)換后形成亮度和色度信號(hào);亮度和色度信號(hào)經(jīng)過相應(yīng)的處理模塊轉(zhuǎn)換成Y、Cb、Cr數(shù)字信號(hào);Y、Cb、Cr數(shù)字信號(hào)在輸出控制模塊的作用下形成YCbCr視頻數(shù)據(jù)流。視頻信號(hào)AD轉(zhuǎn)換過程如圖5所示。RGB色彩空間轉(zhuǎn)換為YCrCb色彩空間算法如下:
圖5 視頻信號(hào)的A/D轉(zhuǎn)換
其中,Y表示亮度,也就是灰階值。Cr、Cb表示表示色度,用來描述圖像的色彩及飽和度,用于指定像素的顏色。把RGB信號(hào)按式(1)計(jì)算,得到“亮度”值。對(duì)式(2)和(3)分析得:Cr描述了RGB信號(hào)中的紅色信號(hào)值與RGB信號(hào)亮度值之間的差異。而Cb反映的是RGB信號(hào)中的藍(lán)色信號(hào)值與RGB信號(hào)亮度值之間的差異。
雖然一般的圖像都是基于RGB空間的,但在RGB空間里顏色受亮度影響相當(dāng)大,這為顏色準(zhǔn)確識(shí)別帶來了麻煩。但是把RGB色彩空間轉(zhuǎn)為YCrCb色彩空間的話,可以忽略Y即亮度的影響,這樣就把三維的色彩空間降為二維的CrCb矩陣,可以像處理灰度圖像一樣進(jìn)行色彩判決。通過對(duì)比Cr、Cb的值來判斷不同的顏色。因此本系統(tǒng)選用YCrCb空間。顏色標(biāo)記示意圖如圖6所示,中間一行為桌子標(biāo)識(shí)色,其他為背景色(為矯正白平衡用),為了提高RGB轉(zhuǎn)YCrCb精度,本文采取提高顏色采集塊的顏色純度,對(duì)區(qū)域內(nèi)方差計(jì)算篩選,顏色越純方差值越小至趨近于0(顏色越趨近于黑)。Matlab仿真核心代碼如下:
%獲取方差計(jì)算函數(shù)的函數(shù)句柄
fun1=@(block_struct)std2(block_struct.data(:,:,1));%RGB色彩空間中的--R
fun2=@(block_struct)std2(block_struct.data(:,:,2));%RGB色彩空間中的--G
fun3=@(block_struct)std2(block_struct.data(:,:,3));%RGB色彩空間中的--B
I1=blockproc(I,[32 32],fun1); %以32*32的塊為操作單元
I2=blockproc(I,[32 32],fun2);
I3=blockproc(I,[32 32],fun3);
圖6 顏色標(biāo)記示意圖
效果圖如圖7所示,圖像區(qū)域中黑色方塊部分即為采樣點(diǎn)區(qū)域,在此區(qū)域可以得到單色的RGB色塊,轉(zhuǎn)換為YCrCb后計(jì)算CrCb的閾值即可判斷不同的顏色。
圖7 色塊采樣區(qū)域
餐廳地圖可以看成一個(gè)N*N的平面,模擬場(chǎng)景如圖8所示。
圖8 靜態(tài)障礙物模擬餐廳示意圖
在N*N的平面中,假設(shè)一點(diǎn)為機(jī)器人要到達(dá)的終點(diǎn),經(jīng)過EXP-LM3S811 ARM微控制器的計(jì)算后規(guī)劃出一條時(shí)間最短送餐路徑,機(jī)器人在送餐路上通過超聲波測(cè)距模塊掃描前方障礙物,如果前方存在障礙物則舵機(jī)轉(zhuǎn)動(dòng)超聲波測(cè)距模塊,檢測(cè)其他方向是否有障礙物,若沒有則選擇一個(gè)最接近原始路徑的路口,調(diào)用視覺系統(tǒng)定位自己在電子地圖中的位置,并更新電子地圖,重新規(guī)劃最短時(shí)間路徑,若都有障礙物則調(diào)用機(jī)器視覺系統(tǒng),選擇動(dòng)態(tài)障礙物較少的路口,并語(yǔ)音提示讓路,待障礙物消失后繼續(xù)前進(jìn)。具體流程圖如圖9所示。
圖9 廳服務(wù)機(jī)器人行徑流程圖
超聲波檢測(cè)障礙物算法如圖10所示,障礙物與機(jī)器人間的距離y,如式(4)所示:
障礙物與機(jī)器人兩邊的距離x1,x2,如式(5)、(6)所示:
圖10 超聲波檢測(cè)障礙物算法輔助圖
為了提高測(cè)量精度和反應(yīng)速度,本文采用了雙超聲波測(cè)距模塊,由兩個(gè)舵機(jī)分別控制超聲波模塊的測(cè)量方位角度并擁有不同的掃描方式。超聲波模塊測(cè)量方位角度如圖11所示。
當(dāng)某個(gè)超聲波測(cè)距模塊檢測(cè)到障礙物時(shí),會(huì)使機(jī)器人減速停止前進(jìn),并將自己的角度參數(shù)a傳給另一個(gè)超聲波測(cè)距模塊,使其轉(zhuǎn)動(dòng)120-a,將兩個(gè)超聲波模塊的測(cè)量結(jié)果進(jìn)行對(duì)比,可得到更加精確的結(jié)果。同時(shí)也使測(cè)距避障模塊的穩(wěn)定性得到了極大的提升。測(cè)量方位角關(guān)系如表3所示。
圖11 超聲波模塊的測(cè)量方位角度示意圖
表3 方位角關(guān)系
為了保持機(jī)器人與桌椅墻壁的安全距離,將機(jī)器人的側(cè)邊安裝了紅外測(cè)距模塊,同時(shí)也能以桌子、墻壁為參照物來判斷機(jī)器人是否走斜。當(dāng)前方有動(dòng)態(tài)障礙物時(shí),機(jī)器人會(huì)語(yǔ)音提示對(duì)方避讓,同時(shí)定位其避讓后的方位,然后從障礙物身邊走過,示意圖如圖12所示。
圖12 餐廳服務(wù)員避動(dòng)態(tài)障礙物路線示意圖
通過模擬場(chǎng)景對(duì)系統(tǒng)進(jìn)行一系列測(cè)試。
自動(dòng)避障測(cè)試,通過指令告知機(jī)器人給指定位置送餐,并讓若干人站在道路上,發(fā)現(xiàn)機(jī)器人能很好地避開行人順利送餐到達(dá)目的地。
視覺定位測(cè)試,在送餐過程中,將機(jī)器人從中途搬到另一地點(diǎn),發(fā)現(xiàn),機(jī)器人能很好地通過DSP視覺識(shí)別模塊識(shí)別桌子特定色標(biāo)實(shí)現(xiàn)其在餐廳中的自我定位,并根據(jù)當(dāng)前位置實(shí)時(shí)更新路徑,最后將餐正確送到目的地。
另外,在上面的測(cè)試過程中機(jī)器人都是按最佳路徑行駛,即最佳路徑規(guī)劃成功。因此,本文描述的以EXP-LM3S811 ARM微控制器為核心的控制系統(tǒng)設(shè)計(jì)方案很好地達(dá)到了防傾斜、自主行駛、自主避讓、自我定位、最短路徑規(guī)劃的效果。該方案具有很好的推廣價(jià)值。