一種基于多Kinect協同的移動機器人室內全視角識別裝置及其控制系統和方法
【專利摘要】本發明提供了一種基于多Kinect協同的移動機器人室內全視角識別裝置及其控制系統和方法,全視角識別裝置采用了一種基于多Kinect協同的圓盤陣列裝置,該圓盤陣列裝置設計巧妙,現了移動機器人對運動周圍環境的360°全視角測量,做到對室內環境無死角的測量;并具有冗余式設計,具有價格便宜、安裝維修方便等優點。在控制系統中,通過引入多Kinect分組切換模塊,實現對多個kinect的同時開啟或任意kinect的控制,使得機器人可以根據需要任何開啟某個方向或是某幾個方向的kinect實現對人、物等對象的測量與識別。利用該控制方法對識別裝置進行控制時,控制過程簡單,操作方便且準確度高。
【專利說明】
一種基于多K i nect協同的移動機器人室內全視角識別裝置及 其控制系統和方法
技術領域
[0001] 本發明屬于機器人控制領域,特別涉及一種基于多Kinect協同的移動機器人室內 全視角識別裝置及其控制系統和方法。
【背景技術】
[0002] 近年來,移動機器人被大量地應用于各類室內環境用于實現室內運輸任務,比如 制造工廠內搬運各種制造零件、在現代實驗室內運輸各類試驗原料等。在室內環境中,機器 人需要對室內的環境(包括建筑環境、障礙物和人)全視角測量才能進行有效的機器人室內 退避、人機互動等高級功能。然而,單個Kinect的測量范圍不是全視角的,如第一代Kinect 的水平測量范圍為57°,垂直測量范圍為70°。即使是2014年微軟發布的第二代Kinect的水 平測量范圍也僅僅為70°,垂直測量范圍為60°。由于角度量程限制的原因,如果采用單個 Kinect,機器人無法自動對周圍360°方向內的全視角測量與識別。
[0003] 發明專利《仿人機器人自碰撞監控系統及監控方法》(專利號:201410032110.6)實 現了仿人移動機器人對前面障礙物的防碰撞退避功能,但不能實現對機器人運用室內環境 在360°方向內的全視角檢測,這樣該機器人即使擁有強大的退避算法也無法根據機器人周 邊的實時環境實現不同角度的靈活性的高質量防碰撞退避功能。發明專利《掃地機器人新 型碰撞避障結構》(專利號:201410266629.0)提出了 一種用于掃地移動機器人的碰撞壁障 機構,并利用傳感器能夠檢測前面180°范圍內的障礙物。同樣地,該專利提出的結構無法實 現360°全視角范圍內的碰撞壁障。由于該掃地機器人不能對360°全視角的周邊環境(包括 人和物)進行同步檢測,那么機器人為了安全地避開自己身邊的各類障礙物,就必須采取非 直線的旋轉運動來工作,這不僅直接影響了機器人的運動控制靈活性,也降低了機器人掃 地的效率。
[0004] 學術論文《多Kinect實時室內動態場景三維重建》提出了運用三臺Kinect朝內對 某個人體頭型模型實現三維重構。該技術側重于計算機圖形學的領域,重點在于如何運用 Kinect提高對三維模型的重構精度。而在機器人的室內運用場合中,機器人不需要對某個 人體障礙物進行準確的三維重構與描述,重點在于要實現對整個三維室內環境的測量與辨 識。如果利用該論文所提出的三維模型重構方法對機器人室內全視角環境進行重構與識 另IJ,那么所消耗的時間是不允許的。因此,該方法無法用于實際機器人系統中。
[0005] 學術論文《基于多Kinect的三維人體重建系統》提出了運用兩臺Kienct上下安裝 實現對某個人體整身模型的三維重構。與前面提到那篇學術論文相似,雖然該論文提出了 運用兩臺Kinect對人體整身模型進行有效重構,但所提出的方法無法滿足機器人室內運輸 的實時性要求。此外,在機器人運輸環境中,不僅有人,而且有其他類型的障礙物,比如其他 類型的移動機器人、桌子等。
[0006] 綜上所述,在現有技術中機器人的識別角度無法達到360°全方位覆蓋以及機器人 應用多個Kinect時控制靈活性不夠和控制實時性不足。
【發明內容】
[0007] 針對上述技術或方法的不足,為滿足移動機器人對室內環境全視角識別的迫切需 要,本發明提供了一種基于多Kinect協同的移動機器人室內全視角識別裝置及其控制系統 和方法。
[0008] 一種基于多Kinect協同的圓盤陣列裝置,包括第一基準圓盤和第二基準圓盤,以 及至少六個Kinect;
[0009] 第一基準圓盤半徑大于第二基準圓盤,第二基準圓盤安裝在第一基準圓盤上,且 兩個基準圓盤的圓心位置相同;
[0010] 以第一基準圓盤外周與XY坐標軸的四個交點作為Kinect安裝點;
[0011 ]以第一基準圓盤外周上兩相鄰Kinect安裝點的連線中點和圓心之間的連線與第 二基準圓盤外周的四個交點作為Kinect安裝點;
[0012] 每個Kinect安裝在一個Kinect安裝點上,且安裝在第一基準圓盤和第二基準圓盤 上的Kinect分別與第一基準圓盤外周和第二基準圓盤外周相切。
[00?3]包括八個Kinect,安裝在各Kinect安裝點。
[0014] 為了讓各個Kinect之間有冗余覆蓋,圓盤陣列裝置安裝有8個Kinect。兩個基準安 裝圓盤的半徑可以跟根據移動機器人的實際物理尺寸靈活選擇。
[0015] 一種基于多Kinect協同的移動機器人室內全視角識別裝置,包括電源插頭、USB擴 展器以及上述的基于多Kinect協同的圓盤陣列裝置;
[0016] 所述基于多Kinect協同的圓盤陣列裝置固定在移動機器人上,且圓盤陣列裝置上 的Kinect通過電源插頭由移動機器人上的車載電源模塊供電,圓盤陣列裝置上的Kinect通 過USB擴展器與移動機器人上的車載筆記本進行通信連接。
[0017] 在移動機器人不需要進行室內環境的360°全視角測量與識別時,陣列裝置上面的 Kinect個數也可以靈活減少。
[0018] 一種基于多Kinect協同的移動機器人室內全視角識別裝置的控制系統,用于對上 述的基于多Kinect協同的移動機器人室內全視角識別裝置進行控制,包括多Kinect分組切 換模塊、Kinect for Windows SDK類庫軟件模塊、Kinect深度測量控制模塊、Kinect圖像采 集控制模塊以及Kinect人體骨架追蹤控制模塊;
[0019] 每個Kinect上均設置有Kinect深度測量控制模塊、Kinect圖像采集控制模塊以及 Kinect人體骨架追蹤控制模塊;
[0020]所述Kinect深度測量控制模塊、Kinect圖像采集控制模塊以及Kinect人體骨架追 蹤控制模塊均與所述Kinect for Windows SDK類庫軟件模塊相連;
[0021] 所述多Kinect傳感器分組切換模塊與所述Kinect for Windows SDK類庫軟件模 塊相連;
[0022]其中,所述多Kinect傳感器分組切換模塊用于實現對整個圓盤陣列裝置上面全部 Kinect的切換控制;
[0023] 所述Kinect for Windows SDK類庫軟件模塊用于引用和控制所安裝的全部 Kinect的類庫文件Microsoft .Kinect .dll,并調取Kinect的全部內置功能函數;
[0024] 所述Kinect深度測量控制模塊用于控制圓盤陣列裝置中各Kinect對室內環境的 深度采集,通過調用KinectSensor對象的DepthStream類實現;
[0025]所述Kinect圖像采集控制模塊用于控制圓盤陣列裝置中各Kinect對室內環境的 圖像采集,通過調用KinectSensor對象的ColorStream類實現;
[0026]所述Kinect人體骨架追蹤控制模塊用于控制圓盤陣列裝置中各Kinect對室內環 境中人的識別和跟蹤,通過調用KinectSensor對象的Skeleton類實現。
[0027]還包括與所述Kinect傳感器圖像采集控制模塊相連的Emgu CV/0pen CV類庫軟件 模塊;
[0028] 所述Emgu CV/Open CV類庫軟件模塊用于引用和控制Emgu CV的類庫文件 Emgu.CV.dll和Open CV的類庫文件Open.CV.dll。
[0029] Emgu CV/0pen CV類庫軟件模塊用于補充Kinect for Windows SDK類庫軟件模塊 中除了Kinect SDK自身包括以外的其他最新圖像處理函數,為將來升級圓盤陣列裝置的功 能提供軟件支撐類庫。
[0030] 一種基于多Kinect協同的移動機器人室內全視角識別裝置的控制方法,利用上述 的控制系統,對上述的識別裝置進行控制,具體過程如下:
[0031] 開啟移動機器人,利用多Kinect分組切換模塊啟動相應的Kinect;
[0032] 通過Kinect深度測量控制模塊控制Kinect對360°全視角內的物體障礙物進行掃 描,測量獲得距離機器人最近的物體障礙物離機器人的深度尺寸;
[0033] Kinect人體骨架追蹤控制模塊控制Kinect對360°全視角內的全部人進行掃描,測 量獲得距離機器人最近的人離機器人的距離;
[0034] Kinect圖像采集控制模塊控制Kinect對360°全視角內的室內環境進行圖像捕捉。 [0035]有益效果
[0036]本發明提供了一種基于多Kinect協同的移動機器人室內全視角識別裝置及其控 制系統和方法,巧妙性地設計了一種基于多Kinect協同的圓盤陣列裝置,采用兩個圓盤疊 加設計,并提出了冗余式設計,將該裝置應用到移動機器人上時構建的識別裝置,實現了移 動機器人對運動周圍環境的360°全視角測量,做到對室內環境無死角的測量,并且使得圓 盤陣列裝置對人或物體的有效測量距離從第二代Kinect自身的4.5米提高到了 5.49米;當 裝有該陣列裝置的移動機器人在室內環境與多個人進行交互控制的時候,機器人就可以靈 活地通過本裝置判斷來人的方向和來人的行為;當識別裝置在室內環境進行智能退避運動 時,可以對機器人周圍的任何方向進行障礙物測量與識別;相對于其他360°全視角室內測 量系統或裝置而言,如室內雷達定位裝置,本發明所設計的裝置具有價格便宜、安裝維修方 便等優點。在控制系統中,通過引入多Kinect分組切換模塊,實現對多個kinect的同時開啟 或任意kinect的控制,使得機器人可以根據需要任何開啟某個方向或是某幾個方向的 kinect實現對人、物等對象的測量與識別。利用該控制方法對識別裝置進行控制時,控制過 程簡單,操作方便且準確度高。
【附圖說明】
[0037] 圖1為本發明所述的裝有多個Kinect的圓盤陣列裝置結構示意圖;
[0038] 圖2為本發明所述的識別裝置的結構示意圖;
[0039] 圖3為本發明所述的控制系統結構示意圖。
【具體實施方式】
[0040] 下面將結合附圖和實施例對本發明做進一步的說明。
[0041] -種基于多Kinect協同的圓盤陣列裝置,包括第一基準圓盤和第二基準圓盤,以 及至少六個Kinect;
[0042] 第一基準圓盤半徑大于第二基準圓盤,第二基準圓盤安裝在第一基準圓盤上,且 兩個基準圓盤的圓心位置相同;
[0043] 以第一基準圓盤外周與XY坐標軸的四個交點作為Kinect安裝點;
[0044] 以第一基準圓盤外周上兩相鄰Kinect安裝點的連線中點和圓心之間的連線與第 二基準圓盤外周的四個交點作為Kinect安裝點;
[0045] 每個Kinect安裝在一個Kinect安裝點上,且安裝在第一基準圓盤和第二基準圓盤 上的Kinect分別與第一基準圓盤外周和第二基準圓盤外周相切。
[0046]如圖1所示:單個第二代Kinect的水平最大量程AC長為4.5米,可計算出本陣列裝 置的水平最大量程長為:^ = 4.5 / cos35u = 5.49。
[0047]對比于超聲波傳感器所擁有的厘米級別的測量距離,圓盤陣列裝置中所采用的 Kinect傳感器可以通過機器視覺的工作方式實現最長達5.49米的、更長距離的識別。此外, 超聲波傳感器無法區分檢測對象是移動的人還是移動的物體,而通過采用Kinect傳感器內 嵌的人體骨骼追蹤模塊可以方便地識別出檢測到的移動對象是人還是物。再者,現有的超 聲波傳感器技術還無法同步地對機器人周圍360°全視角內的檢測與識別。在移動機器人室 內導航與智能退避方面,現有的紅外線傳感器也具有跟超聲波傳感器相類似的技術缺陷, 即檢測量程小、無法區分移動的人和物體、無法對機器人周圍360°全視角內的檢測。本發明 所設計的圓盤陣列裝置克服了上述超聲波傳感器和紅外線傳感器在這方面的全部技術不 足。
[0048]雖然近年來發展起來的室內雷達模塊通過對周邊環境的旋轉掃描能夠實現360° 全視角內的檢測與識別,但其安裝復雜和造價昂貴的缺點限制了它的推廣和發展。此外,對 比室內雷達模塊,本發明所提出的圓盤陣列裝置除了能夠對360°全視角內的人和物體實現 檢測和識別,還可以根據現場的情況通過控制跟圓盤陣列裝置相連的控制系統靈活地開啟 或關閉圓盤陣列裝置上的一個或多個Kinect,從而開啟或關閉360°全視角內的某些角度。 將該圓盤陣列裝置應用到機器人上時,可以讓移動機器人更加靈活地按照需要對某個角度 內的人或物體進行識別和檢測。
[0049] -種基于多Kinect協同的移動機器人室內全視角識別裝置的硬件連接結構如圖2 所示,包括電源插頭、USB擴展器以及上述的基于多Kinect協同的圓盤陣列裝置;圓盤陣列 裝置通過安裝底座固定在移動機器人上,由于通常移動機器人的車載筆記本沒有8個 usb3.0接口,因此本裝置需要外置一個多口的usb3.0擴展器。此外,需要一個外置電源插頭 從機器人的車載電源模塊給全部的Kinect供電。外置電源插頭呈并聯結構。
[0050] 如圖3所示,一種基于多Kinect協同的移動機器人室內全視角識別裝置的控制系 統,用于對上述的基于多Kinect協同的移動機器人室內全視角識別裝置進行控制,包括多 Kinect分組切換模塊、Kinect for Windows SDK類庫軟件模塊、Kinect深度測量控制模塊、 Kinect圖像采集控制模塊以及Kinect人體骨架追蹤控制模塊;
[0051 ]每個Kinect上均設置有Kinect深度測量控制模塊、Kinect圖像采集控制模塊以及 Kinect人體骨架追蹤控制模塊;
[0052]所述Kinect深度測量控制模塊、Kinect圖像采集控制模塊以及Kinect人體骨架追 蹤控制模塊均與所述Kinect for Windows SDK類庫軟件模塊相連;
[0053] 所述多Kinect傳感器分組切換模塊與所述Kinect for Windows SDK類庫軟件模 塊相連;
[0054]其中,所述多Kinect傳感器分組切換模塊用于實現對整個圓盤陣列裝置上面全部 Kinect的切換控制;
[0055] 所述Kinect for Windows SDK類庫軟件模塊用于引用和控制所安裝的全部 Kinect的類庫文件Microsoft .Kinect .dll,并調取Kinect的全部內置功能函數;
[0056] 所述Kinect深度測量控制模塊用于控制圓盤陣列裝置中各Kinect對室內環境的 深度采集,通過調用KinectSensor對象的DepthStream類實現;
[0057]所述Kinect圖像采集控制模塊用于控制圓盤陣列裝置中各Kinect對室內環境的 圖像采集,通過調用KinectSensor對象的ColorStream類實現;
[0058]所述Kinect人體骨架追蹤控制模塊用于控制圓盤陣列裝置中各Kinect對室內環 境中人的識別和跟蹤,通過調用KinectSensor對象的Skeleton類實現。
[0059]還包括與所述Kinect傳感器圖像采集控制模塊相連的Emgu CV/0pen CV類庫軟件 模塊;
[0060] 所述Emgu CV/Open CV類庫軟件模塊用于引用和控制Emgu CV的類庫文件 Emgu.CV.dll和Open CV的類庫文件Open.CV.dll。
[0061 ]上述控制系統的控制方法過程如下:
[0062] (1)當移動機器人上點開機后,上述的圓盤陣列裝置將自動啟動。圓盤陣列裝置中 的"多Kinect分組切換模塊"將按照操作認定的定義選擇開啟全部或是某個或是某個 Kinect。在默認情況下,圓盤基座上的8個Kinect將全部開啟。
[0063] (2)移動機器人在室內的運動過程中,圓盤陣列裝置將實時對室內環境的各類物 體和人障礙物進行檢測。具體為:
[0064] Kinect深度測量控制模塊控制Kinect對360°全視角內的物體障礙物進行掃描,測 量獲得距離機器人最近的物體障礙物離機器人的深度尺寸;單個Kinect的水平最大測量視 角為70°,由于本實例中圓盤陣列裝置擁有8個Kinect,因此本裝置實現了360°全視角內的、 任何障礙物的深度尺寸測量。對于移動機器人實現對靜動態物體障礙物的高質量退避非常 有利。
[0065] Kinect人體骨架追蹤控制模塊控制Kinect對360°全視角內的全部人進行掃描,測 量獲得距離機器人最近的人離機器人的距離。單個Kinect最多可以同時追蹤6個人并計算 出他們的骨骼中心距離機器人的實時距離。由于本實例中圓盤陣列裝置擁有8個Kinect,因 此本裝置最多可以同時處理6X8 = 48個人。對于移動機器人實現對人的人機互動和對人的 智能退避非常有利。
[0066] Kinect圖像采集控制模塊控制Kinect對360°全視角內的室內環境進行圖像捕捉。 如需要對所采集到圖像進行處理,該模塊可以靈活地讀取Emgu CV/Open CV類庫軟件模塊 中的圖像處理函數。比如進行人臉的邊緣檢測等。
[0067]當機器人發現360°全視角范圍內出現某個物體障礙物或是人和機器人的距離超 過機器人的安全運行距離,則機器人可以停止運行并開展退避運動。
[0068] (3)基于本發明所述的多Kinect圓盤陣列裝置,機器人還可以根據需要在任何時 亥IJ、任何地點對某個Kinect進行獨立的開啟或關閉操作。比如,當機器人不需要對背面障礙 物的檢測,就可以關閉裝置中后面位置的3個Kinect傳感器,使得同樣的機器人電源儲備量 可以用的時間更長。
【主權項】
1. 一種基于多Kinect協同的圓盤陣列裝置,其特征在于,包括第一基準圓盤和第二基 準圓盤,以及至少六個Kinect; 第一基準圓盤半徑大于第二基準圓盤,第二基準圓盤安裝在第一基準圓盤上,且兩個 基準圓盤的圓心位置相同; 以第一基準圓盤外周與XY坐標軸的四個交點作為Kinect安裝點; 以第一基準圓盤外周上兩相鄰Kinect安裝點的連線中點和圓心之間的連線與第二基 準圓盤外周的四個交點作為Kinect安裝點; 每個Kinect安裝在一個Kinect安裝點上,且安裝在第一基準圓盤和第二基準圓盤上的 Kinect分別與第一基準圓盤外周和第二基準圓盤外周相切。2. 根據權利要求1所述的圓盤陣列裝置,其特征在于,包括八個Kinect,安裝在各 Kinect安裝點。3. -種基于多Kinect協同的移動機器人室內全視角識別裝置,其特征在于,包括電源 插頭、USB擴展器以及權利要求1或2所述的基于多Kinect協同的圓盤陣列裝置; 所述基于多Kinect協同的圓盤陣列裝置固定在移動機器人上,且圓盤陣列裝置上的 Kinect通過電源插頭由移動機器人上的車載電源模塊供電,圓盤陣列裝置上的Kinect通過 USB擴展器與移動機器人上的車載筆記本進行通信連接。4. 一種基于多Kinect協同的移動機器人室內全視角識別裝置的控制系統,其特征在 于,用于對權利要求3所述的基于多Kinect協同的移動機器人室內全視角識別裝置進行控 制,包括多Kinect分組切換模塊、Kinect for Windows SDK類庫軟件模塊、Kinect深度測量 控制模塊、Kinect圖像采集控制模塊以及Kinect人體骨架追蹤控制模塊; 每個Kinect上均設置有Kinect深度測量控制模塊、Kinect圖像采集控制模塊以及 Kinect人體骨架追蹤控制模塊; 所述Kinect深度測量控制模塊、Kinect圖像采集控制模塊以及Kinect人體骨架追蹤控 制模塊均與所述Kinect for Windows SDK類庫軟件模塊相連; 所述多Kinect傳感器分組切換模塊與所述Kinect for Windows SDK類庫軟件模塊相 連; 其中,所述多Kinect傳感器分組切換模塊用于實現對整個圓盤陣列裝置上面全部 Kinect的切換控制; 所述Kinect for Windows SDK類庫軟件模塊用于引用和控制所安裝的全部Kinect的 類庫文件Microsoft.Kinect.dll,并調取Kinect的全部內置功能函數; 所述Kinect深度測量控制模塊用于控制圓盤陣列裝置中各Kinect對室內環境的深度 采集,通過調用KinectSensor對象的DepthStream類實現; 所述Kinect圖像采集控制模塊用于控制圓盤陣列裝置中各Kinect對室內環境的圖像 采集,通過調用KinectSensor對象的ColorStream類實現; 所述Kinect人體骨架追蹤控制模塊用于控制圓盤陣列裝置中各Kinect對室內環境中 人的識別和跟蹤,通過調用KinectSensor對象的Skeleton類實現。5. 根據權利要求4所述的控制系統,其特征在于,還包括與所述Kinect傳感器圖像采集 控制模塊相連的Emgu CV/Open CV類庫軟件模塊; 所述Emgu CV/Open CV類庫軟件模塊用于引用和控制Emgu CV的類庫文件Emgu.CV.dll 和Open CV的類庫文件Open.CV.dll。6.-種基于多Kinect協同的移動機器人室內全視角識別裝置的控制方法,其特征在 于,利用權利要求4或5所述的控制系統,對權利要求3所述的識別裝置進行控制,具體過程 如下: 開啟移動機器人,利用多Kinect分組切換模塊啟動相應的Kinect; 通過Kinect深度測量控制模塊控制Kinect對360°全視角內的物體障礙物進行掃描,測 量獲得距離機器人最近的物體障礙物離機器人的深度尺寸; Kinect人體骨架追蹤控制模塊控制Kinect對360°全視角內的全部人進行掃描,測量獲 得距離機器人最近的人離機器人的距離; Kinect圖像采集控制模塊控制Kinect對360°全視角內的室內環境進行圖像捕捉。
【文檔編號】B25J19/04GK106078771SQ201610654716
【公開日】2016年11月9日
【申請日】2016年8月10日 公開號201610654716.2, CN 106078771 A, CN 106078771A, CN 201610654716, CN-A-106078771, CN106078771 A, CN106078771A, CN201610654716, CN201610654716.2
【發明人】劉輝, 李燕飛
【申請人】中南大學