羅金龍,李仁軍,任 亮,朱群峰,汪惟文
(中國(guó)電子科技集團(tuán)公司第二十一研究所,上海 200233)
隨著服務(wù)機(jī)器人研究浪潮的興起,嵌入式控制系統(tǒng)[1],視覺(jué)測(cè)量和視覺(jué)SLAM技術(shù)得到了快速發(fā)展,服務(wù)機(jī)器人的制造成本比以前低得多,這使得機(jī)器人對(duì)消費(fèi)者和企業(yè)家越來(lái)越有吸引力。研究人員正在努力尋求新的技術(shù)方法,避免僅關(guān)注算法的最新創(chuàng)新,使機(jī)器人的制造成本接近于普通消費(fèi)電子產(chǎn)品的成本。例如,院子割草機(jī)器人使用由DC線環(huán)產(chǎn)生的磁場(chǎng)來(lái)感測(cè)邊界并返回到充電樁[2];掃地機(jī)器人通常采用的是紅外光信號(hào)進(jìn)行對(duì)接;窗戶清潔機(jī)器人則是由一對(duì)內(nèi)部單元和外部單元組成的磁鐵粘附在窗戶玻璃上,同時(shí)利用重力計(jì)和編碼器進(jìn)行自定位導(dǎo)航[3]。它們都是基于低成本的嵌入式控制系統(tǒng)。
本文介紹了引導(dǎo)機(jī)器人的嵌入式電子系統(tǒng)框架,提出了一種將霍爾編碼器、慣性測(cè)量單元(以下簡(jiǎn)稱IMU)和攝像頭的多傳感器融合方法,完成了室內(nèi)自定位的核心功能,利用所開(kāi)發(fā)的機(jī)器人樣機(jī)進(jìn)行室內(nèi)導(dǎo)引服務(wù)實(shí)例。
圖1定為室內(nèi)物品引導(dǎo)機(jī)器人設(shè)計(jì)的嵌入式控制系統(tǒng)框架,該系統(tǒng)由五部分組成:自定位傳感器,多媒體交互模塊,避障傳感器,差分驅(qū)動(dòng)機(jī)構(gòu),嵌入式控制單元。
圖1嵌入式控制系統(tǒng)的框架
自定位傳感器模塊包括:一個(gè)用于測(cè)量機(jī)器人航向過(guò)程的車載IMU;一對(duì)霍爾編碼器,其可以進(jìn)行距離估算;一個(gè)攝像頭用來(lái)捕捉坐標(biāo)和修復(fù)航位推算的誤差,實(shí)現(xiàn)準(zhǔn)確自定位。需要指出的是,攝像頭有獨(dú)立的CPU用來(lái)提取圖像特征[4],有助于嵌入式控制單元將所有運(yùn)算能力集中作用到實(shí)時(shí)信息采集和決策中。
多媒體交互模塊是由觸摸屏,揚(yáng)聲器和板載藍(lán)牙三部分組成。觸摸屏加載有UI按鈕和有關(guān)目標(biāo)引導(dǎo)站點(diǎn)的媒體文件。通過(guò)串行端口,嵌入式控制板讀取觸摸屏UI按鈕的ID,并傳送命令,使屏幕播放相關(guān)的媒體文件。用戶手機(jī)可以通過(guò)藍(lán)牙模塊連接嵌入式控制板,取代觸摸屏,從而降低機(jī)器人的成本。
避障傳感器模塊包含紅外(避障)傳感器和超聲波探頭,它們克服了彼此的缺陷。例如,紅外傳感器可以檢測(cè)超聲波探頭無(wú)法感應(yīng)的吸音障礙物[5],超聲波探頭可以發(fā)現(xiàn)不能觸發(fā)紅外傳感器的透明玻璃。
差分驅(qū)動(dòng)機(jī)構(gòu)由2個(gè)輪轂電機(jī)、與之對(duì)應(yīng)的霍爾編碼器以及電機(jī)驅(qū)動(dòng)器組成。受益于輪轂電機(jī),機(jī)器人可以在沒(méi)有復(fù)雜傳動(dòng)機(jī)構(gòu)的情況下制造。需要指出的是,霍爾編碼器的電子狀態(tài)可以同時(shí)被嵌入式控制系統(tǒng)檢測(cè)和解碼[5],節(jié)省了這兩步所需時(shí)間,使得運(yùn)算速率更快。
嵌入式控制單元使用的電源是來(lái)自于24V鋰電池,并轉(zhuǎn)換為3.3V、5V、12V供其它部件使用。嵌入式控制板各部分詳見(jiàn)如圖2所示。它由一個(gè)配置有STM32 CPU,4G閃存,256字節(jié)EEPROM和32M SDRAM的核心MCU擴(kuò)展而來(lái)。板載IMU和藍(lán)牙電子芯片,MCU通過(guò)IIC或TTL的板載總線與它們交換數(shù)據(jù)。SP3232和SP485芯片的作用是將MCU的TTL串口轉(zhuǎn)換為RS232 / 485串口。TLP521光電耦合器芯片用于完成紅外傳感器與MCU的GPIO之間的信號(hào)耦合。采用DC-DC芯片將24 V和20 A·h容量的鋰電池轉(zhuǎn)換成每個(gè)部件所需的電壓。
圖2中樞控制器的設(shè)計(jì)框圖
室內(nèi)機(jī)器人的自定位方法是基于車載IMU、霍爾編碼器和攝像頭的多傳感器融合[6]。圖3示出了多傳感器的融合模型,嵌入式控制板的MCU對(duì)霍爾編碼器進(jìn)行解碼,從IMU獲得機(jī)器人的距離增量和讀取航向角,進(jìn)行航位推算(無(wú)需視覺(jué)測(cè)量即可推算出機(jī)器人的位置坐標(biāo))。同時(shí),如果攝像頭捕獲到位置坐標(biāo)特征,則將執(zhí)行視覺(jué)測(cè)量,包括像素坐標(biāo)、機(jī)器人的航向角和航位推算結(jié)果,以估算位置坐標(biāo)[7],測(cè)量結(jié)果將與數(shù)據(jù)庫(kù)中已采集的坐標(biāo)進(jìn)行比照,用于檢測(cè)是否已記錄在數(shù)據(jù)庫(kù)中。如果已記錄,則該坐標(biāo)的記錄位置將用于計(jì)算航位推算的漂移誤差。否則,數(shù)據(jù)庫(kù)將記錄估算出的位置新坐標(biāo)。
圖3用于自定位的傳感器融合模型
圖4說(shuō)明了航位推算過(guò)程。每個(gè)輪轂電機(jī)配備一個(gè)霍爾編碼器,有3個(gè)IO口輸出電子信號(hào)。在理論上,這些信號(hào)線可以形成23=8個(gè)狀態(tài),但是在實(shí)踐中僅輸出6個(gè)狀態(tài)。一旦嵌入式控制板檢測(cè)到狀態(tài)被切換,它就意味著輪轂電機(jī)向前或向后移動(dòng)了N個(gè)Δd距離,并且Δd等于輪子圓周的值除以編碼器在一個(gè)完整圓周內(nèi)的總狀態(tài)切換次數(shù)[8]。航位推算坐標(biāo)(Dxt,Dyt) 如下:
圖4通過(guò)編碼器和車載IMU進(jìn)行航位推算
(1)
式中:(Dxt1,Dyt1)表示機(jī)器人的最后航位推算位置坐標(biāo);Lλi和Rλi表示左輪轂電機(jī)和右輪轂電機(jī)霍爾編碼器的開(kāi)關(guān)狀態(tài),1,-1,0分別表示正向、反向或無(wú)開(kāi)關(guān)狀態(tài);Dθ是IMU提供的航向角[9]。
當(dāng)攝像頭捕獲位置坐標(biāo)時(shí),它將目標(biāo)物的中心像素坐標(biāo)(uL,vL)發(fā)送到嵌入式控制板[10]。在坐標(biāo)系{R}中的機(jī)器人平面坐標(biāo)RPL(RxL,RyL)是由映射矩陣計(jì)算而來(lái),該映射矩陣可以根據(jù)攝像頭模型和標(biāo)定的內(nèi)外參數(shù)推導(dǎo)出來(lái)[3],但攝像頭的標(biāo)定通常是非常繁瑣的,考慮到攝像頭的畸變,這里引入二階泰勒模型來(lái)計(jì)算RPL坐標(biāo),如下:
(2)
用最小二乘法計(jì)算二階泰勒模型[8],得到六對(duì)像素坐標(biāo)和坐標(biāo)系{R}中相關(guān)的平面坐標(biāo)。
然后航位推算坐標(biāo)(DxL,DyL)由式(3)計(jì)算:
(3)
根據(jù)坐標(biāo)系{W}中的坐標(biāo)數(shù)據(jù)庫(kù),查詢其記錄坐標(biāo)值WPL(WxL,WyL)。計(jì)算出航跡推算定位值的漂移矢量[11],并利用多傳感器融合值進(jìn)行自定位,用式(4)計(jì)算出機(jī)器人在{W}中的坐標(biāo)(Wxt,Wyt):
(4)
根據(jù)上述設(shè)計(jì),開(kāi)發(fā)了機(jī)器人原型及其嵌入式控制板,如圖5(a)和圖5(b)所示。串口觸摸屏和揚(yáng)聲器安裝在機(jī)器人的頂部,機(jī)器人中間預(yù)留空間部分可以用來(lái)裝載物品,下方以及底部組成智能移動(dòng)控制系統(tǒng),由一對(duì)無(wú)刷直流輪轂電動(dòng)機(jī)驅(qū)動(dòng)。平臺(tái)的嵌入式控制板位于內(nèi)部中心,其相機(jī)面向地面??刂瓢宓撞渴强涨唤Y(jié)構(gòu),利用該空腔結(jié)構(gòu),外部自然光或室內(nèi)光被屏蔽,相機(jī)可以更快、更穩(wěn)定地利用內(nèi)置LED捕獲和提取路標(biāo)的像素特征[12]。圖5(c)顯示了由照相機(jī)拍攝的圖像,其中坐標(biāo)被標(biāo)記為白色矩形,圖像中心的另一個(gè)圓形光斑是發(fā)光LED在地板上的反射。在這些硬件基礎(chǔ)上,機(jī)器人實(shí)現(xiàn)了前面提出的自定位功能。屏幕UI按鈕設(shè)計(jì)成如圖6所示的屏幕界面,每個(gè)按鈕都與室內(nèi)位置坐標(biāo)、介紹圖片和音頻文件有關(guān)。圖6示出了機(jī)器人的執(zhí)行服務(wù)實(shí)例,以證明設(shè)計(jì)的合理性。當(dāng)訪問(wèn)者有行李需要搬運(yùn)時(shí),可以觸摸屏幕中央的UI按鈕“服務(wù)機(jī)器人實(shí)驗(yàn)室”,機(jī)器人根據(jù)所試教的歷史位置找到導(dǎo)航線,引導(dǎo)訪問(wèn)者,并運(yùn)載訪問(wèn)者的物品到達(dá)指定的目的地[13]。
(a) 機(jī)器人原型
(b) 嵌入式控制板
(c) 由相機(jī)捕獲的坐標(biāo)
圖5機(jī)器人樣機(jī)及其嵌入式控制板
圖6屏幕界面的原型
本文設(shè)計(jì)了一個(gè)基于嵌入式控制系統(tǒng)的低成本室內(nèi)物品引導(dǎo)車,訪問(wèn)者可以將隨身攜帶的物品放入引導(dǎo)車,引導(dǎo)車會(huì)根據(jù)訪問(wèn)者輸入的目的地自動(dòng)進(jìn)行路徑規(guī)劃,將物品運(yùn)送到指定的地點(diǎn)。同時(shí),訪問(wèn)者可以跟隨引導(dǎo)車,引導(dǎo)車也可以通過(guò)播放音頻文件,介紹沿途經(jīng)過(guò)的地點(diǎn)和需要注意的事項(xiàng)等。