羅金龍,李仁軍,任 亮,朱群峰,汪惟文
(中國電子科技集團公司第二十一研究所,上海 200233)
隨著服務機器人研究浪潮的興起,嵌入式控制系統[1],視覺測量和視覺SLAM技術得到了快速發展,服務機器人的制造成本比以前低得多,這使得機器人對消費者和企業家越來越有吸引力。研究人員正在努力尋求新的技術方法,避免僅關注算法的最新創新,使機器人的制造成本接近于普通消費電子產品的成本。例如,院子割草機器人使用由DC線環產生的磁場來感測邊界并返回到充電樁[2];掃地機器人通常采用的是紅外光信號進行對接;窗戶清潔機器人則是由一對內部單元和外部單元組成的磁鐵粘附在窗戶玻璃上,同時利用重力計和編碼器進行自定位導航[3]。它們都是基于低成本的嵌入式控制系統。
本文介紹了引導機器人的嵌入式電子系統框架,提出了一種將霍爾編碼器、慣性測量單元(以下簡稱IMU)和攝像頭的多傳感器融合方法,完成了室內自定位的核心功能,利用所開發的機器人樣機進行室內導引服務實例。
圖1定為室內物品引導機器人設計的嵌入式控制系統框架,該系統由五部分組成:自定位傳感器,多媒體交互模塊,避障傳感器,差分驅動機構,嵌入式控制單元。

圖1嵌入式控制系統的框架
自定位傳感器模塊包括:一個用于測量機器人航向過程的車載IMU;一對霍爾編碼器,其可以進行距離估算;一個攝像頭用來捕捉坐標和修復航位推算的誤差,實現準確自定位。需要指出的是,攝像頭有獨立的CPU用來提取圖像特征[4],有助于嵌入式控制單元將所有運算能力集中作用到實時信息采集和決策中。
多媒體交互模塊是由觸摸屏,揚聲器和板載藍牙三部分組成。觸摸屏加載有UI按鈕和有關目標引導站點的媒體文件。通過串行端口,嵌入式控制板讀取觸摸屏UI按鈕的ID,并傳送命令,使屏幕播放相關的媒體文件。用戶手機可以通過藍牙模塊連接嵌入式控制板,取代觸摸屏,從而降低機器人的成本。
避障傳感器模塊包含紅外(避障)傳感器和超聲波探頭,它們克服了彼此的缺陷。例如,紅外傳感器可以檢測超聲波探頭無法感應的吸音障礙物[5],超聲波探頭可以發現不能觸發紅外傳感器的透明玻璃。
差分驅動機構由2個輪轂電機、與之對應的霍爾編碼器以及電機驅動器組成。受益于輪轂電機,機器人可以在沒有復雜傳動機構的情況下制造。需要指出的是,霍爾編碼器的電子狀態可以同時被嵌入式控制系統檢測和解碼[5],節省了這兩步所需時間,使得運算速率更快。
嵌入式控制單元使用的電源是來自于24V鋰電池,并轉換為3.3V、5V、12V供其它部件使用。嵌入式控制板各部分詳見如圖2所示。它由一個配置有STM32 CPU,4G閃存,256字節EEPROM和32M SDRAM的核心MCU擴展而來。板載IMU和藍牙電子芯片,MCU通過IIC或TTL的板載總線與它們交換數據。SP3232和SP485芯片的作用是將MCU的TTL串口轉換為RS232 / 485串口。TLP521光電耦合器芯片用于完成紅外傳感器與MCU的GPIO之間的信號耦合。采用DC-DC芯片將24 V和20 A·h容量的鋰電池轉換成每個部件所需的電壓。

圖2中樞控制器的設計框圖
室內機器人的自定位方法是基于車載IMU、霍爾編碼器和攝像頭的多傳感器融合[6]。圖3示出了多傳感器的融合模型,嵌入式控制板的MCU對霍爾編碼器進行解碼,從IMU獲得機器人的距離增量和讀取航向角,進行航位推算(無需視覺測量即可推算出機器人的位置坐標)。同時,如果攝像頭捕獲到位置坐標特征,則將執行視覺測量,包括像素坐標、機器人的航向角和航位推算結果,以估算位置坐標[7],測量結果將與數據庫中已采集的坐標進行比照,用于檢測是否已記錄在數據庫中。如果已記錄,則該坐標的記錄位置將用于計算航位推算的漂移誤差。否則,數據庫將記錄估算出的位置新坐標。

圖3用于自定位的傳感器融合模型
圖4說明了航位推算過程。每個輪轂電機配備一個霍爾編碼器,有3個IO口輸出電子信號。在理論上,這些信號線可以形成23=8個狀態,但是在實踐中僅輸出6個狀態。一旦嵌入式控制板檢測到狀態被切換,它就意味著輪轂電機向前或向后移動了N個Δd距離,并且Δd等于輪子圓周的值除以編碼器在一個完整圓周內的總狀態切換次數[8]。航位推算坐標(Dxt,Dyt) 如下:

圖4通過編碼器和車載IMU進行航位推算
(1)
式中:(Dxt1,Dyt1)表示機器人的最后航位推算位置坐標;Lλi和Rλi表示左輪轂電機和右輪轂電機霍爾編碼器的開關狀態,1,-1,0分別表示正向、反向或無開關狀態;Dθ是IMU提供的航向角[9]。
當攝像頭捕獲位置坐標時,它將目標物的中心像素坐標(uL,vL)發送到嵌入式控制板[10]。在坐標系{R}中的機器人平面坐標RPL(RxL,RyL)是由映射矩陣計算而來,該映射矩陣可以根據攝像頭模型和標定的內外參數推導出來[3],但攝像頭的標定通常是非常繁瑣的,考慮到攝像頭的畸變,這里引入二階泰勒模型來計算RPL坐標,如下:
(2)
用最小二乘法計算二階泰勒模型[8],得到六對像素坐標和坐標系{R}中相關的平面坐標。
然后航位推算坐標(DxL,DyL)由式(3)計算:
(3)
根據坐標系{W}中的坐標數據庫,查詢其記錄坐標值WPL(WxL,WyL)。計算出航跡推算定位值的漂移矢量[11],并利用多傳感器融合值進行自定位,用式(4)計算出機器人在{W}中的坐標(Wxt,Wyt):
(4)
根據上述設計,開發了機器人原型及其嵌入式控制板,如圖5(a)和圖5(b)所示。串口觸摸屏和揚聲器安裝在機器人的頂部,機器人中間預留空間部分可以用來裝載物品,下方以及底部組成智能移動控制系統,由一對無刷直流輪轂電動機驅動。平臺的嵌入式控制板位于內部中心,其相機面向地面。控制板底部是空腔結構,利用該空腔結構,外部自然光或室內光被屏蔽,相機可以更快、更穩定地利用內置LED捕獲和提取路標的像素特征[12]。圖5(c)顯示了由照相機拍攝的圖像,其中坐標被標記為白色矩形,圖像中心的另一個圓形光斑是發光LED在地板上的反射。在這些硬件基礎上,機器人實現了前面提出的自定位功能。屏幕UI按鈕設計成如圖6所示的屏幕界面,每個按鈕都與室內位置坐標、介紹圖片和音頻文件有關。圖6示出了機器人的執行服務實例,以證明設計的合理性。當訪問者有行李需要搬運時,可以觸摸屏幕中央的UI按鈕“服務機器人實驗室”,機器人根據所試教的歷史位置找到導航線,引導訪問者,并運載訪問者的物品到達指定的目的地[13]。

(a) 機器人原型

(b) 嵌入式控制板

(c) 由相機捕獲的坐標
圖5機器人樣機及其嵌入式控制板

圖6屏幕界面的原型
本文設計了一個基于嵌入式控制系統的低成本室內物品引導車,訪問者可以將隨身攜帶的物品放入引導車,引導車會根據訪問者輸入的目的地自動進行路徑規劃,將物品運送到指定的地點。同時,訪問者可以跟隨引導車,引導車也可以通過播放音頻文件,介紹沿途經過的地點和需要注意的事項等。