鄧曉燕+潘文俊+鄭鎮(zhèn)城+林燦光+付志平+張廣滔
摘 要:機器人模仿學習是機器人技術的重要研究方向之一。針對機器人動作模仿學習,設計了Kinect和Darwin-OP2機器人的聯合調試與仿真平臺。該平臺主要包括圖像采集模塊、運動控制模塊和3D模型仿真模塊,具有人體姿態(tài)解算、機器人實時狀態(tài)監(jiān)控及姿態(tài)仿真、與下位機網絡通信及遠程實時跟蹤控制等功能。測試結果顯示,該平臺響應迅速、網絡通信機制穩(wěn)定、交互界面友好,能較好地實現機器人動作模仿學習。
關鍵詞:模仿學習;機器人;調試與仿真
中圖分類號:TP242.6 文獻標志碼:A
Design of Joint Debugging and Simulation Platform for Kinect and Darwin Robot
DENG Xiao-yan,PAN Wen-jun,ZHENG Zhen-cheng,LIN Can-guang,FU Zhi-ping,ZHANG Guang-tao
(School of Automation Science and Engineer,South China University of Technology,Guangzhou,Guangdong 510641,china)
Abstract:The joint debugging and simulation platform of Kinect and Darwin-OP2 humanoid robot for imitation learning is desigened.The platform mainly includes image acquisition module,motion control module and 3Dmodel simulation module,which has the functions of human body attitude solution,robot real-time condition monitoring and attitude simulation,communication with the lower computer through network and remote real-time tracking control.The experimental results show that the platform is responsive,the network communication mechanism is stable,the interface is friendly,and the robot action simulation can be realized well.
Key words:imitation learning,robotics,debugging and simulation
傳統(tǒng)機器人往往按照事先編好的運動軌跡完成固定的動作,這樣的控制方式對于復雜的動作編程工作量浩大,而且事先建立好的環(huán)境模型深深地影響著控制效果,具有很大的局限性,難以適應不同的場景與環(huán)境[1]。而隨著用戶對于人機交互程度的要求不斷提升,利用動作交互設備實現遠程在線控制機器人成為了一個重要的研究方向[2]。對此,一種更加開放式的模仿學習技術越來越受到大家的青睞。通過模仿學習[3],人們只需要獲取示教者的動作姿態(tài),進而得到機器人的控制序列,實現對于機器人的實時任意姿態(tài)控制。
對于模仿學習的研究,需要對示教者的行為進行檢測與表征,而在過去的做法往往需要通過接觸式的設備來獲取示教者的姿態(tài)狀態(tài),對設備和示教者的要求較高[4]。隨著體感攝像頭價格的不斷下降,通過圖像的方法來提取示教者行為特征成為一種新趨勢,因此,以視覺為基礎的模仿學習研究將是未來一個很重要的方向。
在研究機器人動作模仿學習的過程中,若直接在機器人系統(tǒng)上進行調試控制,開發(fā)過程會較為繁瑣,因此很有必要設計一個調試與仿真平臺,實現對機器人的控制和狀態(tài)觀測。本文以Qt為開發(fā)工具,結合Kinect體感傳感器和Darwin-OP2機器人[5],設計出一個具有被模仿者骨骼信息提取、機器人狀態(tài)實時監(jiān)控、機器人姿態(tài)仿真、與下位機網絡通信、遠程實時跟蹤控制等功能的上位機動作跟蹤系統(tǒng)。
1 聯合調試與仿真平臺的總體設計方案
本文以Kinect體感傳感器和Darwin-OP2機器人為研究背景,通過Kinect體感傳感器獲取被模仿者姿態(tài)[6],作為機器人模仿的樣例,利用Z-Y-Z歐拉角解算[7]的方法將人體姿態(tài)和Darwin-OP2機器人各關節(jié)按級聯順序直接關聯起來,而解析的結果直接對應Darwin-OP2機器人的各個關節(jié)轉動角度,再根據重心穩(wěn)定規(guī)則[8]求取其他關節(jié)的轉動角度,經過機器人運動控制程序,達到對每個電機轉動角度的控制,從而使機器人復現被模仿者的動作姿態(tài),實現在線模仿功能。該過程的整體實現流程如圖1所示。一個良好的調試平臺可以幫助操作者更好的使用和測試,因此本文將搭建起一個功能模塊化、拓展性良好,網絡通信機制穩(wěn)定、交互界面友好的聯合調試平臺,以方便用戶對于機器人的調試控制,為進一步的機器人模仿學習研究提供便利。
Kinect與Darwin-OP2機器人的聯合調試與仿真平臺的框架如圖2所示,主要分為3個部分:圖像采集模塊、運動控制模塊和3D模型仿真模塊,各模塊之間通過上位機實現連接。
三個組成部分從上到下分別對應運動控制模塊、圖像采集模塊和3D模型仿真模塊。圖像采集模塊利用OpenNI提供的Kinect驅動程序實現圖像的采集,通過讀取Kinect傳輸回來的數據流,得到人體骨骼信息,以用于后面的姿態(tài)解算。利用解算出來的姿態(tài)角,通過運動控制模塊,經過UDP的網絡傳輸過程,把控制信號發(fā)送到Darwin-OP2機器人上。3D模型仿真則是通過OpenGL的圖形程序接口,便能很簡單地生成出三維圖像,把姿態(tài)角轉換成各個機器人關節(jié)的旋轉矩陣,通過坐標轉換就可以實現對機器人狀態(tài)的3D模型仿真。endprint
實際平臺效果圖如圖3所示,該平臺界面分成了四個部分。左上角(第1部分)為RGB圖像或仿真圖像顯示窗口。右上角(第2部分)為控制信號顯示窗口,用于人為控制Darwin-OP2機器人各舵機旋轉角度。左下角(第3部分)為控制指令窗口,包含網絡連接設置以及各種控制指令按鈕。右下角(第4部分)是Darwin-OP2機器人各舵機實時狀態(tài)顯示窗口,反饋了Darwin-OP2機器人各舵機旋轉角度的當前值。
2 各模塊的具體實現
2.1 圖像采集模塊
圖像采集模塊工作流程如下圖4所示。平臺采用OpenNI 1.57版本驅動,支持Kinect1.0體感設備的圖像獲取與初步處理,通過加載源碼編譯生成的OpenCV庫,可以實現實時的圖像采集并在用戶界面進行彩圖以及人體骨骼點平面化的聯合顯示。同時,該模塊在后臺將采集到的骨骼信息進行適當補償與濾波處理,得到相對平滑有效的骨架矢量信息,再通過歸一化處理,得到標準的三維骨骼結構信息。對于得到的標準的三維骨骼結構信息,利用Z-Y-Z歐拉角解算方法進行關節(jié)轉動角度的分析與計算,實現了Kinect關節(jié)解析到Darwin-OP2機器人的關節(jié)映射。
2.2 運動控制模塊
圖5展示了運動控制模塊的工作流程。通過UDP網絡通訊的方法[9]與Darwin-OP2機器人建立局域網內的鏈接訪問,采用用戶自定義協(xié)議加強UDP通訊的可靠性,數據均打包成以“$<指令>,<參數1>,<參數2>,...,<參數n>,<校驗位>\\r\\n”為形式的一個數據幀進行傳輸。發(fā)送控制指令幀,即可把各舵機旋轉角度控制量發(fā)送到機器人控制程序中,從而實現運動控制。為了達到對機器人舵機空間的監(jiān)控,該模塊還保留了對舵機狀態(tài)查詢的功能。平臺向機器人發(fā)送了讀取狀態(tài)指令后,機器人通過網絡,把當前舵機狀態(tài)量以數據幀的形式傳輸到平臺上,經過分割后顯示出20個舵機的當前狀態(tài)量。
同時,還采用自定義的指令集系統(tǒng)和機器人進行交互訪問,并保留了命令行控制模式使其指令拓展更具靈活性,常用指令有:INIT,READ,FILE,DATA等。其中,常用指令集可以通過按鈕操作直接作用,如控制機器人進行一鍵蹲坐與站立,采集機器人關節(jié)信息及軀干傾斜角度,設置關節(jié)轉動速度等。同時,通過右上側面板的20個角度控件與20個使能控件,用戶可以以點對點模式控制單個或多個關節(jié)點轉動相應角度或者上電與掉電。平臺支持將采集到的機器人關節(jié)信息進行自動保存,方便用戶對機器人進行各種姿態(tài)的動作庫錄入,為后期的動作模仿學習算法研究做準備。
2.3 3D模型仿真模塊
通過加載OpenGL庫,利用3D模型渲染方法構建出機器人的一般形態(tài)[10]。該模型具有20個關節(jié)自由度,與Darwin機器人的關節(jié)一一對應,且其歐拉旋轉順序相同,最大程度上確保該解析方式的正確性。用戶在3D界面可以實現任意視角切換,通過鼠標左右鍵拖動實現繞不同參考軸旋轉從而找尋到最佳觀察視角。當選擇實時演示時,右上側各關節(jié)的角度值一旦發(fā)生變化,則3D模型機器人自動按該歐拉角解析的方式進行相對應的變化。同時分析和計算重心位置,并能自動調節(jié)腳部關節(jié)角度使其穩(wěn)定站立。這樣,在不啟用機器人的情況下,用戶也可以實現Kinect到機器人之間的映射控制,大大縮短了調試過程。
該模塊的工作流程如圖6所示。平臺利用解算出來的姿態(tài)角得到各個舵機的旋轉角度,再通過歐拉角解析的方式得到模型各個關節(jié)的旋轉矩陣,最后調用OpenGL庫中的旋轉函數,實現對模型各個關節(jié)的旋轉控制,從而達到仿真的目的。仿真結果顯示在調試和仿真平臺界面左上角(第1部分),顯示效果如圖7所示。
3 測試結果及分析
圖8所示為一組機器人模仿人體動作的效果圖,系統(tǒng)能夠很好地實時跟蹤被模仿者,較好地實現模仿學習。由于融合了雙足機器人重心穩(wěn)定規(guī)則,因此機器人能自動調節(jié)重心位置,從而實現全身的動作模仿學習。
平臺控制效果測試結果如表1所示。選取了圖8第一個被模仿動作的數據作為參考數據,得到了機器人模仿數據,測試結果顯示兩組數據一致性較好,表明控制信號通過網絡傳輸有效地實現了對機器人的遠程控制。
5 結 語
通過將Kinect體感傳感器和Darwin-OP2機器人相結合,搭建了一個交互友好,響應迅速,傳輸穩(wěn)定的聯合調試與仿真平臺。該平臺實現了對人體肢體動作的捕捉并且映射到機器人狀態(tài)空間,從而達到實時動作跟蹤的功能。聯合調試與仿真平臺的進一步完善的方向是結合模仿學習的內容,利用該平臺對機器人進行示教,使得機器人能自主學習并完成特定動作。
參考文獻
[1] 王奇志,徐德,時魯艷.機器人模仿學習與人機交互的學習控制綜述[C].中國控制與決策會議.2013.
[2] 陳家順.基于人機交互的機器人動作模仿學習[D].廣州:華南理工大學,2015.
[3] 門玉森.基于軌跡匹配的模仿學習在類人機器人運動行為中的研究[D].北京工業(yè)大學,2016.
[4] 馬樂.基于非接觸觀測信息的機器人行為模仿學習[D].沈陽工業(yè)大學,2014.
[5] Li X,Li Y,Cui X.Kinematic analysis and gait planning for a DARwIn-OP Humanoid Robot[C]// IEEE International Conference on Robotics and Biomimetics.IEEE,2017:1442-1447.
[6] 吳秦,陳智,周宇旋,等.基于Kinect骨骼跟蹤技術的人機交互[J].常州大學學報:自然科學版,2014,(03):6-12.
[7] 王勇,呂群松,劉暢,等.剛體定點轉動歐拉角的幾何性質[J].遼寧大學學報:自然科學版,2009,(03):197-200.
[8] 付根平,楊宜民,陳建平,等.基于ZMP誤差校正的仿人機器人步行控制[J].機器人,2013,(01):39-44.
[9] 趙飛,葉震.UDP協(xié)議與TCP協(xié)議的對比分析與可靠性改進[J].計算機技術與發(fā)展,2006,(09):219-221.
[10] 宋薇,章亞男,見浪護,等.基于OpenGL的仿人機器人步行仿真研究[J].系統(tǒng)仿真學報,2013,(02):203-208.endprint