王興偉,錢 鈞
(合肥工業(yè)大學 機械工程學院,合肥 230009)
基于Kinect的臨場機器人設計與實驗研究
王興偉,錢 鈞
(合肥工業(yè)大學 機械工程學院,合肥 230009)
針對臨場機器人成本過高、不能識別追蹤特定人員的問題,搭建了一款基于Kinect的低成本臨場機器人,可識別追蹤特定人員?;赗OS搭建了機器人控制系統(tǒng),首先利用Kinect和編碼器實現(xiàn)2D-SLAM;然后利用Kinect通過人臉識別出特定人員并確定人體位置;最后進行路徑規(guī)劃追蹤特定人員。通過實驗,該款機器人可有效追蹤特定人員。
臨場機器人;Kinect;SLAM;人員識別與追蹤
目前臨場機器人的需求越來越大[1],但成本較高,難以推廣。機器人主要通過激光、聲吶、視覺等外部傳感器獲取環(huán)境信息[2]。文獻[3~5]主要通過激光雷達或者激光雷達配合視覺等其他傳感器實現(xiàn)機器人對周圍環(huán)境的感知,得到的數(shù)據(jù)精確,但成本高昂;且僅依靠激光雷達難以完成人員識別等任務。視覺傳感器成本低、數(shù)據(jù)豐富,基于視覺傳感器的機器人環(huán)境感知技術已日趨成熟。文獻[6~9]主要使用視覺傳感器實現(xiàn)了機器人的環(huán)境信息獲取。
綜上,機器人利用視覺傳感器可以更低成本的獲取更豐富的外界信息。本文設計的臨場機器人使用分布廣泛的無線網(wǎng)絡、低成本開源控制器、Kinect視覺傳感器、Ubuntu操作系統(tǒng)和ROS(機器人操作系統(tǒng)),構造簡單、經(jīng)濟性強、易于功能拓展。機器人平臺實現(xiàn)了SLAM(同時定位與制圖)、人臉識別與人員追蹤,可應用于遠程臨場任務。
本文所設計的機器人實體如圖1所示。
機器人為雙輪驅(qū)動,電機經(jīng)過諧波減速器后再通過同步帶將動力傳遞給驅(qū)動輪。機器人主要傳感器為Kinect視覺傳感器和編碼器。下位機是安裝有Debian操作系統(tǒng)的BeagleboneBlack開源控制器。上位機為安裝有Ubuntu和ROS的筆記本電腦。遠程控制平臺可為任意一臺接入網(wǎng)絡的計算機??刂破脚_可通過遠程控制機器人上位機,進而控制機器人。
圖1 機器人實體
Kinect的RGB攝像頭和紅外攝像頭標定使用MATLAB的Toolbox_calib工具箱完成。標定完成可得到兩個攝像頭的內(nèi)參分別為Hrgb和Hir,然后進行配準。
設空間某點P在深度攝像頭坐標系和RGB攝像頭坐標系下的坐標分別為Pir和Prgb,則有:
設R、T分別為紅外攝像頭坐標系到RGB攝像頭坐標系的旋轉(zhuǎn)矩陣和平移向量。則有:
根據(jù)式(1)~式(3)可求得:
2.1 機器人控制系統(tǒng)總體設計
機器人使用人員識別與定位程序得到的位置數(shù)據(jù)和2D-SLAM程序得到的地圖,通過ROS導航功能包完成實時路徑規(guī)劃。上位機通過網(wǎng)絡通信將運動指令傳遞給下位機控制機器人動作。機器人控制系統(tǒng)的各程序使用ROS完成整合,總的程序流程為:
1)利用2D-SLAM程序構建環(huán)境地圖。
2)人員識別與定位程序識別出特定人員后,實時追蹤該人員并確定其與機器人的相對位置。
3)坐標轉(zhuǎn)換確定要追蹤的人體在環(huán)境地圖中的位置。
4)使用ROS導航功能包規(guī)劃出機器人運動路徑。
5)上位機將運動指令傳給下位機控制機器人運動。
2.2 機器人運動學分析
本文所設計的機器人可以實現(xiàn)原地轉(zhuǎn)向、直行和圓弧轉(zhuǎn)彎等運動。在此僅分析圓弧轉(zhuǎn)彎模式,則直線運動轉(zhuǎn)彎半徑為無窮大,原地轉(zhuǎn)向轉(zhuǎn)彎半徑為零。
其中,V和R分別為機器人的運動速度與轉(zhuǎn)彎半徑,ω1和ω2為兩驅(qū)動輪的角速度,r為驅(qū)動輪半徑,d為兩驅(qū)動輪間距。
2.3 2D-SLAM程序設計
本文主要使用Kinect和編碼器的數(shù)據(jù)完成臨場機器人2D-SLAM。使用擴展卡爾曼濾波算法(EKF)對基于編碼器的里程計數(shù)據(jù)和視覺里程計數(shù)據(jù)進行融合提高機器人定位精度。機器人圓弧轉(zhuǎn)彎運動模型如圖2所示。
圖2 機器人圓弧轉(zhuǎn)彎運動模型
利用Kinect傳感器,根據(jù)特征提取與匹配算法提取相鄰兩幀圖像的特征點并結合深度圖像得到特征點三維坐標。根據(jù)特征點的三維坐標變換得到剛體的旋轉(zhuǎn)矩陣和平移向量,進而得到機器人的位姿變化。機器人基于視覺里程計的位姿測量模型為:
2D-SLAM程序流程圖如圖3所示。
圖3 2D-SLAM程序流程圖
2.4 人員識別與定位程序設計
本文設計的人員識別與跟蹤程序,首先進行人臉識別以此選定跟蹤區(qū)域,并不斷判斷跟蹤區(qū)域周圍是否可檢測出人體,如果檢測出人體,即將人體更新為跟蹤目標。然后使用Camshift算法結合卡爾曼濾波算法對目標進行跟蹤,并實時計算出目標中心與機器人的相對位置。其中Camshift算法是對每一幀圖像進行Meanshift算法處理,把前一幀的結果當作后一幀Meanshift算法的初始值,依次迭代[10]。程序流程圖如圖4所示。
在Kinect配準完成以后,兩個攝像頭采集圖像的像素點有對應關系。設RGB圖像中離跟蹤區(qū)域中心點最近的深度值不為零的點為C,點C相對于機器人的位置為(X,Y,Z),則有:
圖4 人員識別與定位程序流程圖
其中,(m,n)代表C在深度圖像對應點的像素坐標。z表示(m,n)點的深度值,(Cx,Cy)表示深度攝像頭的主點,fx、fy表示深度攝像頭的焦距。
根據(jù)以上分析將實驗分為三部分。首先進行Kinect聯(lián)合標定實驗,配準深度圖像和RGB圖像;其次進行2D-SLAM實驗生成環(huán)境地圖;最后進行人員識別與追蹤實驗,驗證整個方案的可行性。
3.1 Kinect聯(lián)合標定實驗
本文采用MATLAB Toolbox_calib工具箱完成對Kinect的標定,得到紅外攝像頭和RGB攝像頭的內(nèi)參矩陣Hir和Hrgb。兩個攝像頭分別對同一位姿的標定板求外參數(shù)得到Rir、Tir和Rrgb和Trgb。
根據(jù)標定結果和式(4)、式(5)得:
根據(jù)R和T對同時獲取的RGB圖像與深度圖像進行處理生成一幀點云數(shù)據(jù),顯示如圖5所示。
圖5 生成的點云圖
點云圖證明兩個攝像頭圖像的配準比較精確。
3.2 2D-SLAM實驗
選擇環(huán)境較為復雜的實驗室作為實驗場景。實驗室中間放置桌子和宣傳板等物品,圍繞實驗室中間的物品劃定長方形作為參考運動軌跡。控制機器人沿參考軌跡運動一周得到圖6,圖中紅色方塊表示機器人。根據(jù)參考運動軌跡與SLAM得到的定位數(shù)據(jù)得到圖7。
圖6 2D-SLAM結果圖
圖7 機器人運動軌跡
分析圖7,考慮到機器人的中心很難完全沿參考運動軌跡運動,比較兩條軌跡各取值點間的Δx和Δy近乎相等。因此,機器人的定位是比較精確的。
3.3 人員識別與追蹤實驗
以Kinect的RGB攝像頭中心位置為坐標原點,實測Kinect對人體的檢測范圍得到圖8。Kinect可檢測到人體的范圍是圖8中以三角形為節(jié)點的折線所夾的區(qū)域,可精確檢測人體位置的范圍為以圓圈為節(jié)點的折線所圍成的扇形區(qū)域。
圖8 Kinect可檢測人體位置的范圍
根據(jù)Kinect參數(shù)和實驗數(shù)據(jù),本文設定機器人有效檢測區(qū)域為圖8灰色扇形區(qū)域。該區(qū)域是在Y大于零時由以下四個方程所圍成。
在機器人追蹤特定人員過程中要保證人體處于機器人的有效檢測區(qū)域內(nèi)。使用人員識別與定位程序識別出需要追蹤的人員,并且得到人體與機器人的相對位置,如圖9所示。
圖9 人員識別與位置檢測圖
在得到要追蹤的人員相對于機器人的位置后,通過坐標系轉(zhuǎn)換,確定該人員在地圖中的位置,使用ROS導航功能包完成機器人導航,結果如圖10所示。
圖10 機器人導航結果
本文設計了一款雙輪臨場機器人,采用Kinect視覺傳感器、開源控制器等低成本設備和開源的操作系統(tǒng),成本低廉,擴展性好。機器人可以實現(xiàn)2D-SLAM和對特定人員的識別與追蹤。通過實驗證明了本文方案的可行性。
Kinect傳感器對光線變化敏感,因此本文設計的機器人僅可在室內(nèi)使用。以后考慮結合其他傳感器擴展其可用范圍。單個Kinect探測范圍較窄,以后考慮使用多個Kinect傳感器擴大機器人探測范圍。
[1] 杜廣龍.面向多自由度機器人的非受限智能人機交互的研究[D].華南理工大學,2013.
[2] 卜范騫,田國會,李曉磊.家庭服務機器人SLAM[A].中國自動化學會華東六省一市學術年會[C],2007.
[3] 周波,戴先中,韓建達.基于激光掃描的移動機器人3D室外環(huán)境實時建模[J].機器人,2012,34(3):321-328,336.
[4] 苑晶,劉鋼墩,孫沁璇.激光與單目視覺融合的移動機器人運動目標跟蹤[J].控制理論與應用,2016,33(2):196-204.
[5] 莊嚴,盧希彬,李云輝,等.移動機器人基于三維激光測距的室內(nèi)場景認知[J].Acta Automatica Sinica,2011,37(10):1232-1240.
[6] 王興偉,錢鈞.基于ROS的全方位移動機器人SLAM實驗研究[J/ OL].中國科技論文在線,2016-5-25.
[7] Raúl Mur-Artal. ORB-SLAM: A Versatile and Accurate Monocular SLAM System[J].IEEE Transactions on Robotics, 2015,31(5):1147-1163.
[8] Engel J,Stückler J,Cremers D. Large-scale direct SLAM with stereo cameras[C].IEEE/RSJ International Conference on Intelligent Robots and Systems.IEEE,2015:1935-1942.
[9] 王曉華,傅衛(wèi)平.零件的雙目視覺識別定位與抓取系統(tǒng)研究[J].制造業(yè)自動化,2010,32(11):129-132.
[10] 張潤澤.基于OpenCV的視覺跟蹤平臺設計與實現(xiàn)[D].吉林:吉林大學,2015.
Design and experimental research of telepresence robot based on kinect
WANG Xing-wei, QIAN Jun
TP242
A
1009-0134(2017)04-0004-04
2017-01-16
國家自然科學基金(51205104);中央高?;究蒲袠I(yè)務費專項資金(2014HGCH0015)
王興偉(1988 -),男,山東濰坊人,碩士研究生,研究方向為輪式移動機器人定位與導航。