吳若鴻,吳懷宇,鐘 銳
(武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢430081)
基于機(jī)器人自主開門技術(shù),可以拓展機(jī)器人的工作環(huán)境,對(duì)于機(jī)器人技術(shù)的發(fā)展具有重要的研究意義[1]。Chung等通過單目攝像機(jī),識(shí)別球狀門把手的大概位置,然后利用末端執(zhí)行器對(duì)門把手進(jìn)行重復(fù)觸碰[2]。Klingbeil等在機(jī)器人位于門前位置的前提下,采用學(xué)習(xí)算法對(duì)所有可能的門把手候選對(duì)象進(jìn)行定位[3]。Rusu等將一臺(tái)激光測(cè)距儀安裝于同門把手相同高度的位置,對(duì)門把手進(jìn)行室內(nèi)定位[4]。Ott等給靈巧關(guān)節(jié)機(jī)器人安裝了力傳感器,用以操作一臺(tái)機(jī)械臂完成開門操作[5]。Petrovskaya等基于力測(cè)量基礎(chǔ)的貝葉斯后驗(yàn)估計(jì)對(duì)門把手的位置和方向進(jìn)行確定[6]。Schmid等在假設(shè)把手不需要扭動(dòng),并且把手的3D 模型已知的前提下,設(shè)計(jì)了一種靜態(tài)的機(jī)械臂用來打開柜門和抽屜[7]。Jain等通過預(yù)先定位門把手范圍 (20cm)后,設(shè)置一系列行為模式來保證機(jī)械臂能執(zhí)行開門動(dòng)作[8]。
上述這些方法一般都是在機(jī)器人已位于門前或者不需要對(duì)門把手進(jìn)行操作的情況下完成的,本文主要研究運(yùn)動(dòng)中的門把手定位以及開門策略,設(shè)計(jì)了一種基于移動(dòng)機(jī)械臂平臺(tái)的開門策略,并將這種策略運(yùn)用到機(jī)器人的開門過程中。
本文所使用的移動(dòng)機(jī)械臂平臺(tái)為MT-A,如圖1所示。MT-A 包括一個(gè)可移動(dòng)平臺(tái),在該平臺(tái)前方下部安裝有一臺(tái)激光傳感器、平臺(tái)上方安裝有一個(gè)五自由度機(jī)械臂,一臺(tái)Kinect傳感器。Kinect是微軟產(chǎn)品xbox360 的外設(shè),如圖2所示,它具有一個(gè)紅外線發(fā)射器,一個(gè)RGB 攝像頭,一個(gè)紅外線接收器,結(jié)合SDK (software development kits)可以獲得深度圖像[9]。
圖1 可移動(dòng)機(jī)械臂平臺(tái)MT-A
圖2 Kinect
實(shí)驗(yàn)采用標(biāo)準(zhǔn)門的各項(xiàng)尺寸參數(shù)如圖3 所示,由于MT-A 所配備的五自由度機(jī)械臂無法對(duì)球形門把手進(jìn)行操作,因此本文的實(shí)驗(yàn)對(duì)象采用水平門把手,如圖3所示。
圖3 安裝有水平門把手的標(biāo)準(zhǔn)門
開門策略流程如圖4所示。開門策略的具體流程主要包括圖像處理和移動(dòng)機(jī)械臂平臺(tái)運(yùn)動(dòng)控制2部分。下面針對(duì)這2部分進(jìn)行具體說明。
圖4 開門實(shí)驗(yàn)控制策略流程
本文將顏色空間的概念引入到門把手定位中,常用的顏色空間包括RGB,HSI等。它們各自都有不同的特點(diǎn)。RGB顏色空間通過將R (紅色)、G (綠色)、B (藍(lán)色)進(jìn)行不同程度的迭加來產(chǎn)生各種各樣的不同顏色,一般應(yīng)用在計(jì)算機(jī)圖形顯示領(lǐng)域,即通過發(fā)射出3種不同強(qiáng)度的電子束,使屏幕內(nèi)側(cè)覆蓋的紅、綠、藍(lán)磷光材料發(fā)光而產(chǎn)生色彩。RGB顏色空間也廣泛應(yīng)用在計(jì)算機(jī)多媒體技術(shù)中。根據(jù)三基色原理,任意色光F 均可以通過將R、G、B 分別配以不同的權(quán)重a、b、c后再相加而得出。F 值可由式(1)表示
HSI顏色空間是從色調(diào) (H )、飽和度 (S)和強(qiáng)度(I)這3個(gè)方面描述圖像。其中色調(diào) (H )表示人眼所能獲取的不同顏色,如紅、黃、藍(lán)等;飽和度 (S)表示顏色的深淺程度,該值越大,則人眼所感受到的顏色越深;強(qiáng)度 (I)表示顏色的明暗程度,該值越大,則人眼所感受到的顏色越明亮。HSI顏色空間如圖5所示[9]。
圖5 HSI顏色空間模型
如圖5所示,H 的取值范圍是0°~360°,S 的取值范圍是0% (灰色)到100% (完全飽和),I 的取值范圍是0%(黑色)到100% (白色)。這種描述HSI色彩空間的圓錐模型較為復(fù)雜,但卻能把色調(diào)、亮度和色飽和度的變化情形表現(xiàn)得很清楚。人的視覺對(duì)亮度的敏感程度遠(yuǎn)強(qiáng)于對(duì)顏色濃淡的敏感程度,因此這種描述比較直觀而且符合人的視覺特性,并考慮到對(duì)RGB空間進(jìn)行處理會(huì)造成色差和顏色失真的情況,故在本文中采用HSI顏色空間對(duì)獲取圖像進(jìn)行處理。從RGB顏色空間向HSI顏色空間轉(zhuǎn)換的轉(zhuǎn)換公式可由式 (2)表示[10]
式中:如果S =0(對(duì)應(yīng)圖5中無色的中心點(diǎn)),則H 無意義,此時(shí)定義H =0。
由于本文采用Kinect來獲取圖像信息,因此將門把手的顏色特征作為主要研究對(duì)象。該部分流程如圖4中圖像處理虛線框中所示。具體步驟說明如下:
步驟1 獲取圖像
本文采用Kinect來獲取圖像,通過RGB 攝像頭獲取RGB圖像,通過深度傳感器獲取深度圖像。獲取RGB圖像后,下一步為將圖像由RGB 顏色空間轉(zhuǎn)換到HSI顏色空間。
步驟2 RGB顏色空間到HSI顏色空間的轉(zhuǎn)換
獲取RGB原始圖像后,R、G、B 這3色的值可由圖像數(shù)據(jù)得出。該圖像數(shù)據(jù)為24位,3種基色各占8位。根據(jù)式 (2)可以求出H 、S、I的值。
步驟3 閾值分割
將RGB原始圖像轉(zhuǎn)換到HSI顏色空間后,得到了H 、S、I的值。由于這3個(gè)變量的范圍各不相同,因此H 、S、I的閾值分割需要分別進(jìn)行。閾值分割步驟由手動(dòng)設(shè)定,通過拖動(dòng)軟件界面上 (如圖9所示)H 、S、I所對(duì)應(yīng)的拉條,可以對(duì)圖像中H 、S、I的閾值范圍進(jìn)行設(shè)定,從而將門把手圖像從原始圖像中分割出來。
步驟4 標(biāo)記門把手
Kinect可以同時(shí)捕獲RGB圖像和深度圖像,為給機(jī)械臂后續(xù)開門操作提供門把手位置信息,因此在RGB圖像中對(duì)分割出來的門把手進(jìn)行標(biāo)記,同時(shí)在深度圖像中的相同位置也進(jìn)行標(biāo)記。
步驟5 獲取門把手的距離信息
通過使用Kinect相配套的SDK (software development kits),可以在深度圖上讀取到所標(biāo)記位置的深度信息。因此被標(biāo)記的門把手的距離信息就可以從深度圖數(shù)據(jù)中獲取。
如圖4中移動(dòng)機(jī)械臂平臺(tái)運(yùn)動(dòng)控制框架部分所示,通過實(shí)時(shí)獲取門把手的距離信息,判斷移動(dòng)機(jī)械臂平臺(tái)是否進(jìn)入到門前一定距離范圍內(nèi)。若未達(dá)到設(shè)定的距離值,則移動(dòng)機(jī)械臂平臺(tái)繼續(xù)前進(jìn)。當(dāng)檢測(cè)到移動(dòng)機(jī)械臂平臺(tái)位于該距離范圍內(nèi)時(shí),移動(dòng)機(jī)械臂平臺(tái)停止前進(jìn),機(jī)械臂開始進(jìn)行開門動(dòng)作。在本文中,通過設(shè)置3個(gè)控制狀態(tài)位 (移動(dòng)平臺(tái)到達(dá)狀態(tài)位、開門準(zhǔn)備狀態(tài)位、開門完成狀態(tài)位)控制開門操作,具體使用方法在實(shí)驗(yàn)部分中給出。由于門把手的高度已確定 (0.92m),因此機(jī)械臂3個(gè)關(guān)節(jié)的轉(zhuǎn)動(dòng)角度可根據(jù)此高度值進(jìn)行確定。
開門實(shí)驗(yàn)主要包括3個(gè)部分:①定位門把手;②獲取門把手距離信息;③機(jī)械臂進(jìn)行開門操作。下面分別對(duì)3個(gè)實(shí)驗(yàn)部分進(jìn)行詳細(xì)說明。
為了驗(yàn)證本文所提出的開門控制策略的有效性,本團(tuán)隊(duì)專門搭建了一個(gè)配有標(biāo)準(zhǔn)門的實(shí)驗(yàn)環(huán)境,如圖6 所示。Kinect的水平方向可視角度和垂直方向可視角度分別為57°和43°,d 為Kinect與門把手之間的距離值。Kinect的俯仰角被設(shè)定為-25°,從而可以保證Kinect可以在0.4 m~3.5 m 的范圍內(nèi)均可以獲取門把手的圖像,該范圍也是Kinect的有效視距[11]。
圖6 開門實(shí)驗(yàn)環(huán)境
本文所應(yīng)用的開發(fā)環(huán)境是Microsoft Visual Studio 2008。門把手圖像處理過程如圖7所示。原始圖像如圖9 (a)中所示,H 、S、I的閾值設(shè)定位于圖像顯示區(qū)域的下方,門把手上附有黃色標(biāo)示。由于H 、S、I的變化會(huì)引起圖像的顯著改變,如圖7 (b)所示,因此選取H 、S、I范圍閾值的2個(gè)原則是最大化保存門把手圖像數(shù)據(jù),最大化去除其余背景圖像數(shù)據(jù)?;谶@2個(gè)原則,通過依次改變H 、S、I的最大值和最小值,門把手就可以從HSI顏色空間中分割出來,如圖7 (c)所示。
圖9 (c)所對(duì)應(yīng)的H 、S、I的閾值范圍見表1。
圖7 門把手圖像處理
表1 H、S、I的閾值范圍
根據(jù)設(shè)定的H、S、I的閾值范圍,可以同時(shí)在原始圖像和深度圖像中對(duì)門把手進(jìn)行實(shí)時(shí)定位,并用矩形方框?qū)ζ溥M(jìn)行標(biāo)記,如圖8所示。該矩形方框表示了對(duì)門把手的成功定位。
圖8 門把手定位
由于門把手與Kinect之間的距離信息是開門實(shí)驗(yàn)中重要的參數(shù),本文所采用方法也在MT-A運(yùn)動(dòng)過程中進(jìn)行了測(cè)試。圖9中顯示了MT-A朝向門運(yùn)動(dòng)過程中4個(gè)不同的時(shí)間點(diǎn)的門把手定位結(jié)果,MT-A的運(yùn)動(dòng)速度設(shè)定為0.1m/s。
如圖9所示,MT-A 運(yùn)動(dòng)過程中,門把手被實(shí)時(shí)定位并被方框標(biāo)記,通過讀取深度圖中同一位置處的深度信息,就可以獲取門把手與Kinect之間的距離值。該距離值的測(cè)量誤差定義為
式中,err——距離值的測(cè)量誤差,d1——由Kinect獲取的距離值,d2——由卷尺 (bouncing rabbit,50 m/165ft)實(shí)際測(cè)量的距離值。圖9中MT-A 運(yùn)動(dòng)過程中門把手與Kinect之間的距離值見表2。
測(cè)量誤差的產(chǎn)生有3個(gè)部分:
(1)H 、S、I的范圍閾值由人工設(shè)定,因此主觀因素將會(huì)對(duì)門把手定位過程產(chǎn)生影響。
(2)本文所采用的算法仍存在待改進(jìn)之處。
(3)Kinect的感應(yīng)精度也會(huì)不可避免的產(chǎn)生測(cè)量誤差。由于移動(dòng)平臺(tái)驅(qū)動(dòng)系統(tǒng)的響應(yīng)時(shí)間為秒級(jí),而本文中圖像處理的時(shí)間為毫秒級(jí),因此MT-A 的運(yùn)動(dòng)速度不能太快以免發(fā)生碰撞。本文中,MT-A 的速度設(shè)定為0.1m/s。獲取門把手與Kinect的距離值后,移動(dòng)機(jī)械臂平臺(tái)的運(yùn)動(dòng)控制將是開門實(shí)驗(yàn)的下一步操作。
圖9 MT-A 運(yùn)動(dòng)過程中的門把手定位
表2 門把手與Kinect之間的距離值
通過檢測(cè)門把手與Kinect之間的距離值來判斷機(jī)械臂移動(dòng)平臺(tái)是否到達(dá)可操作區(qū)域。因機(jī)械臂本身末端執(zhí)行器的夾取力度不足以對(duì)門把手進(jìn)行夾取動(dòng)作,因此本文實(shí)驗(yàn)采用末端執(zhí)行器下壓開門方式。程序初始化中設(shè)置3個(gè)狀態(tài)判斷位,分別為移動(dòng)平臺(tái)到達(dá)狀態(tài)位 (bPosition)、開門準(zhǔn)備狀態(tài)位 (bReady)和開門完成狀態(tài)位 (bPushdown),初始值均為0。這3個(gè)狀態(tài)必須依次滿足并設(shè)置為1,當(dāng)機(jī)械臂移動(dòng)平臺(tái)到達(dá)設(shè)定距離后,在程序中設(shè)置bPosition=1,同時(shí)機(jī)械臂進(jìn)行開門動(dòng)作,機(jī)械臂的開門操作分為3個(gè)部分:
(1)機(jī)械臂各關(guān)節(jié)進(jìn)行轉(zhuǎn)動(dòng),末端執(zhí)行器水平置于門把手上方,此時(shí)在程序中設(shè)置bReady=1。
(2)檢測(cè)到bReady=1后,機(jī)械臂各關(guān)節(jié)進(jìn)行下壓動(dòng)作,下壓動(dòng)作完成后,門被打開,并在程序中設(shè)置bPushdown=1。
(3)檢測(cè)到bPushdown=1 后,移動(dòng)機(jī)械臂平臺(tái)執(zhí)行后退動(dòng)作,并將各關(guān)節(jié)進(jìn)行復(fù)位,3個(gè)狀態(tài)位均置為0。開門實(shí)驗(yàn)結(jié)束。
實(shí)驗(yàn)過程如圖10所示。
圖10 移動(dòng)機(jī)械臂平臺(tái)MT-A 開門實(shí)驗(yàn)過程
圖10 (a)顯示了MT-A 的起始狀態(tài),此時(shí)3個(gè)狀態(tài)位bPosition,bReady,bPushdown均設(shè)為0;圖10 (b)顯示了MT-A 到達(dá)門前可操作區(qū)域,此時(shí)bPositon=1;圖10(c)顯示了機(jī)械臂末端執(zhí)行器已經(jīng)水平置于門把手上方,此時(shí)bReady=1;圖10 (d)顯示了機(jī)械臂執(zhí)行下壓指令,此時(shí)bPushdown=1;圖10 (e)顯示了MT-A 執(zhí)行完開門操作后返回,程序結(jié)束。
本文分別在5種不同距離內(nèi)各進(jìn)行了10次實(shí)驗(yàn),分別從不同的起始距離進(jìn)行開門,實(shí)驗(yàn)結(jié)果見表3。
由表3可知,隨著初始距離的增加,開門的成功率有所降低,主要是因?yàn)殡S著前向運(yùn)動(dòng)距離的增加,MT-A 到達(dá)可操作區(qū)域后朝向的精準(zhǔn)性有所降低。而門把手的可操作部分較短,本文所用的門把手長度為0.12m。經(jīng)實(shí)驗(yàn)得出,門把手上的下壓有效區(qū)域大約為0.05m,考慮到下壓過程中門把手的旋轉(zhuǎn)情況,可以保證開門成功的門把手上的轉(zhuǎn)動(dòng)有效區(qū)域大約為0.03m。因此開門實(shí)驗(yàn)中,需要操控機(jī)械手對(duì)這0.03 m 的部分執(zhí)行下壓動(dòng)作。本文僅使用Kinect對(duì)距離信息d 進(jìn)行了檢測(cè),而沒有對(duì)移動(dòng)平臺(tái)的方位信息進(jìn)行實(shí)時(shí)檢測(cè),因此初始距離的增加將會(huì)降低移動(dòng)平臺(tái)的朝向精準(zhǔn)性。
本文目前對(duì)開門實(shí)驗(yàn)的研究仍處于初期階段,因此所設(shè)計(jì)實(shí)驗(yàn)對(duì)于初始位置有一定的要求,如何實(shí)現(xiàn)移動(dòng)機(jī)械臂平臺(tái)在任意初始位置的開門操作將是下一步的研究重點(diǎn)??煽紤]將室內(nèi)激光導(dǎo)航加入到開門實(shí)驗(yàn)中,使得機(jī)器人可以由激光輔助預(yù)先到達(dá)一個(gè)距離門前較小的范圍內(nèi),或采用羅盤等方位檢測(cè)裝置將方位信息的獲取引入到開門策略中來提高開門的成功率。
表3 開門實(shí)驗(yàn)結(jié)果
本文設(shè)計(jì)了一種基于Kinect的移動(dòng)機(jī)械臂平臺(tái)開門策略,通過Kinect獲取外界圖像,通過將其從RGB顏色空間轉(zhuǎn)換至HSI顏色空間并進(jìn)行閾值分割,得到門把手的二值化圖像。并在機(jī)器人運(yùn)行過程中實(shí)時(shí)檢測(cè)出門把手與Kinect之間的距離d,用以控制機(jī)械臂完成開門操作。實(shí)驗(yàn)結(jié)果驗(yàn)證了本文所提出開門策略的有效性。目前,本文只是重點(diǎn)研究了將圖像信息與運(yùn)動(dòng)控制相結(jié)合的開門策略,通過探索新的圖像閾值分割方法,以及引入激光、羅盤傳感器到機(jī)器人運(yùn)動(dòng)控制中,將可以使開門實(shí)驗(yàn)的成功率得到進(jìn)一步提高,這將是下一步的主要研究工作。
[1]Xiong GL,Chen HC,Zhang RH,et al.Control of human-robot interaction flexible joint lightweight manipulator based joint torque sensors[J].Advanced Materials Research,2012:403-408.
[2]Chung W,Rhee C,Shim Y,et al.Door-opening control of a service robot using the multifingered robot hand [J].IEEE Transactions on Industrial Electronics,2009,56 (10):3975-3984.
[3]Klingbeil E,Saxena A,Ng AY.Learning to open new doors[C]//Stanford,USA:Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems,2010:2751-2757.
[4]Rusu RB,Meeussen W,Chitta S,et al.Laser-based perception for door and handle identification [C]//Willow Garage,USA:Proceedings of the International Conference on Advanced Robotics,2009:1-8.
[5]Ott C,Baeuml B,Borst C,et al.Autonomous opening of a door with a mobile manipulator:A case study [C]//Toulouse,F(xiàn)rance:Proceedings of the IFAC Symposium on Intelligent Autonomous Vehicles,2007:349-354.
[6]Petrovskaya A,Khatib O,Thrun S,et al.Touch based perception for object manipulation [C]//Stanford,USA:Robotics Science and Systems,Robot Manipulation Workshop,2007.
[7]Schmid A,Gorges N,Goger D,et al.Opening a door with a humanoid robot using multi-sensory tactile feedback [C]//Karlsruhe,Germany:Proceedings of the IEEE International Conference on Robotics and Automation,2008:285-291.
[8]Jain A,Kemp CC.Behavior-based door opening with equilibrium point control[C]//Georgia,USA:RSS Workshop on Mobile Manipulation,2009.
[9]ZHANG Zhensheng,ZHU Mingri.Image segmentation method for sucrose-crystallizing based on HSI color space [J].Computer Engineering and Applications,2011,47 (11):190-192 (in Chinese).[張振升,朱名日.基于HSI顏色空間的蔗糖結(jié)晶圖像分割方法 [J].計(jì)算機(jī)工程與應(yīng)用,2011,47(11):190-192.]
[10]GAO Wei,WANG Zhiheng,ZHAO Xunbo,et al.Robust and efficient cotton contamination detection method based on HSI color space[J].Acta Automatic Sinica,2008,34 (7):729-735 (in Chinese). [高偉,王志衡,趙訓(xùn)波,等.基于HSI顏色空間的棉花雜質(zhì)高速實(shí)時(shí)檢測(cè)方法 [J].自動(dòng)化學(xué)報(bào),2008,34 (7):729-735.]
[11]YU Tao.Kinect in action [M].Beijing:China Machine Press,2013:32-36 (in Chinese). [余濤.Kinect應(yīng)用開發(fā)實(shí)戰(zhàn) [M].北京:機(jī)械工業(yè)出版社,2013:32-36.]