于建均,門玉森,阮曉鋼,趙少瓊
(北京工業大學 電子信息與控制工程學院,北京 100124)
?
基于Kinect的Nao機器人動作模仿系統的研究與實現
于建均,門玉森,阮曉鋼,趙少瓊
(北京工業大學 電子信息與控制工程學院,北京 100124)
摘要:為避開復雜繁瑣的底層運動控制,使機器人能夠通過學習實現運動技能的獲取,有效提高其智能性,將體態感知技術與仿人機器人Nao相結合,以機器人的模仿學習框架為指導,開發并實現了基于Kinect的Nao機器人動作模仿系統。利用Kinect體感攝像機的骨骼跟蹤技術,采集示教者骨骼點信息,經預處理后得到示教數據,通過高斯混合模型(GMM)對示教數據進行表征學習,經高斯混合回歸(GMR)泛化處理后,映射到Nao機器人中,實現動作的模仿。實驗結果表明,Nao機器人能夠進行實時和離線的動作模仿,運動軌跡平滑而穩定,動作模仿的效果較好。
關鍵詞:模仿學習;機器人控制;體態感知;概率模型;高斯混合模型;高斯混合回歸
中文引用格式:于建均,門玉森,阮曉鋼,等. 基于Kinect的Nao機器人動作模仿系統的研究與實現[J]. 智能系統學報, 2016, 11(2): 180-1187.
英文引用格式:YU Jianjun, MEN Yusen, RUAN Xiaogang, et al. The research and implementation of behavior imitation system about Nao robot based on Kinect[J]. CAAI transactions on intelligent systems, 2016, 11(2): 180-187.
仿人機器人是研究人類智能的高級平臺,它是集機械、電子、傳感技術、控制、人工智能、仿生學等多學科的復雜智能系統。在近50 年的發展歷程中,仿人機器人技術取得了飛速的發展,已成為機器人領域的重要研究方向之一。Nao機器人是Aldebaran Robotics公司開發的一款可編程類人機器人,在研究領域得到世界范圍的廣泛應用,不僅應用于機器人研究、人工智能、工程學和計算機科學領域,還運用在社會學和醫療保健領域,其研究項目包括語音識別、視頻處理、模式識別、自閉癥治療、多智能體系統、路徑規劃等。是否具備學習的能力是機器人智能性的重要體現,而模仿學習[1]作為機器人學習的重要方式,為避開繁瑣困難的底層運動控制實現復雜運動的生成提供了可能,在機器人仿生學中占有重要地位。
所謂模仿學習是指模仿者(機器人)通過“觀察”示教者(人或機器人)的運動行為,學習運動控制策略,泛化輸出,進而獲取運動技能[2]。模仿學習的過程可分為3個過程:行為感知、行為表征、行為再現,分別對應示教數據獲取,特征編碼進行表征學習和泛化輸出的過程。示教數據的獲取通過體態感知來實現,體態感知作為一種自然的人機交互方式,以其傳達意圖的便捷性和豐富性,能夠有效實現人機對話,在智能識別與控制系統中應用廣泛,常見的體感設備有慣性穿戴式系統,如3DSuit、數據手套等,光學式動作捕捉系統,如微軟的Kinect體感攝影機等。表征學習是對示教數據的特征進行編碼,基于概率模型的軌跡水平表征是將運動建模為隨機模型,如高斯混合模型(GMM)[3-5]、隱馬爾可夫模型(HMM)[6]等,具有較強的編碼和噪聲處理能力,抗干擾性強,能夠處理高維問題。行為再現包括運動軌跡再現和運動控制再現,軌跡再現是將編碼的數據通過回歸技術,如高斯過程回歸(GPR)[7]、高斯混合回歸(GMR)[8]等,得到泛化輸出的過程,控制再現是將泛化的輸出映射到機器人底層運動控制中,實現動作復現,即行為動作的模仿。
機器人動作模仿系統的研究已取得一定進展,但大多是在仿真環境下的實現,見文獻[9-10];物理環境下的實現如文獻[11],利用穿戴式動作捕捉系統Xsens MVN進行數據的采集,實現機器人的動作模仿,取得了良好的效果,但其數據采集所需的硬件代價較高,文獻[12]能夠實現基本動作的模仿,但對復雜動作的再現可靠性和穩定性不足。
本文以模仿學習的框架為指導,將體態感知與Nao機器人相結合,構建了機器人的動作模仿系統,實現了Nao機器人動作模仿學習。利用Microsoft的Kinect體感攝像機進行骨骼跟蹤,獲取示教者示教過程中人體節點的空間坐標信息,經預處理后得到模仿學習的示教數據;通過高斯混合模型(GMM)對示教數據進行編碼表征,利用高斯混合回歸(GMR)泛化輸出,映射到Nao機器人中,實現動作的模仿。該系統可以實現在線和離線兩種模式的動作模仿,在線模式下,可以進行實時的復雜動作模仿,運動軌跡平滑穩定;離線模式下可以通過學習多次示教泛化出最佳軌跡,具有較強的噪聲處理能力,而且可以通過控制重采樣點數目,實現動作執行速度的控制,更主要的是一旦學會,可以形成動作記憶,實現示教動作的重復執行。
1Nao機器人模仿學習系統構建
以機器人模仿學習的框架為指導,構建了Nao機器人動作模仿的系統結構,如圖1所示。利用Kinect的骨骼跟蹤,采集示教者骨骼點三維空間坐標信息,經上位機預處理實現示教數據獲取;通過GMM對示教數據信息進行編碼,利用GMR泛化輸出后,通過Ethernet(以太網)與下位機通信,映射到Nao機器人的底層運動控制中,在Nao機器人的Linux內核下進行運動控制,實現動作的模仿。

圖1 機器人動作模仿的系統結構Fig.1 The system structure of robot imitation
2示教數據的獲取
示教動作信息的獲取是機器人模仿實現的基礎,系統利用Kinect采集骨骼點信息,建立虛擬坐標系,由節點信息得到各關節向量,計算向量間的夾角,進而得到各關節控制角度,即可獲得各關節運動信息,為模仿的表征學習提供數據支持。

圖2 Kinect提取的人體骨骼點信息Fig.2 Skeleton point information of human body extracted from Kinect
2.1示教者骨骼點信息采集
Kinect for windows v2 是微軟專為開發者發布的一款3D體感攝影機,包含RGB 彩色攝像機及由紅外線發射器和紅外線CMOS 攝像機所構成的3D 深度傳感器,利用彩色攝像頭采集到的彩色圖像與紅外攝像頭采集到的深度圖像,導入即時動態捕捉、影像辨識功能,能夠提取25個關節點,從而得到人體的骨架信息,S=[s1,s2,…,si,…,s25],其中si=(xi,yi,zi),如圖2,Kinect的空間坐標系如圖3。

圖3 Kinect的空間坐標系Fig.3 The space coordinate system of Kinect
2.2Nao機器人關節自由度與骨骼點的映射關系推導
仿人機器人Nao是Aldebaran Robotics公司開發機器人平臺,具有25個自由度,共13個關節,右上肢的自由度如圖4所示。由于Kinect采集的骨骼信息中均認定所有關節為質點,故末端關節的轉動信息無法從Kinect提取的骨架信息中計算得到,因此忽略各關節的轉動信息,推導出各關節對應的自由度及所需的Kinect骨骼點如表1所示。

圖4 Nao機器人右上肢自由度Fig.4 The DOF of right upper limb of Nao robot

關節自由度Kinect骨骼點頭部(Head)HeadPitchHead、Neck、Spine_Shoulder手部(Hand)LHand、RHandNone左肩(LShoulder)LShoulderPitch、LShoulderRollElbow_L、Shoulder_L、Spine_Shoulder、Spine_Mid右肩(RShoulder)RShoulderPitch、RShoulderRollElbow_R、Shoulder_R、Spine_Shoulder、Spine_Mid左肘(LElbow)LElbowYaw、LElbowRollWrist_L、Elbow_L、Shoulder_L、Spine_Shoulder右肘(RElbow)RElbowYaw、RElbowRollWrist_R、Elbow_R、Shoulder_R、Spine_Shoulder左大腿(LHip)LHipPitch、LHipRollKnee_L、Hip_L、Spine_Base、Spine_Mid右大腿(RHip)RHipPitch、RHipRollKnee_R、Hip_R、Spine_Base、Spine_Mid左膝(LKnee)LKneePitchAnkle_L、Knee_L、Hip_L右膝(RKnee)RKneePitchAnkle_R、Knee_R、Hip_R
2.3關節示教信息的獲取
利用Kinect獲取骨骼點三維坐標信息,生成關節向量,通過計算關節向量的夾角得到各關節控制角,以右肘翻滾角RElbowRoll和偏航角RElbowYaw(圖4中方框部分)為例,對關節角的計算過程進行說明。由表1知,為求RElbowRoll和RElbowYaw的關節角需要Kinect提取的骨骼點有Wrist_R、Elbow_R、Shoulder_R,Spine_Shoulder,如圖2所示,分別用p1、p2、p3、p4表示,設其三維坐標信息分別為(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)、(x4,y4,z4)則有向量:

(1)
則關節角RElbowRoll為
((2)
記向量p3,4p2,3=p3p4×p2p3,則關節角RElbowYaw為
(3)
如表1所示,共15個自由度,其中,左肘偏航角LElbowYaw的計算與RElbowYaw類似,如式(3)所示,其余各自由度的計算與RElbowRoll類似,如式(2)所示,不同之處在于根據選取向量的方向不同,參照Nao機器人的各自由度角度變化范圍,作取負、加減π/2或π的校正,如此,即可得到各自由度一系列角度變化信息,也即模仿學習的示教數據。為得到平滑穩定的運動軌跡,需對離散數據進行表征學習,作進一步的泛化處理,得到連續的運動軌跡。
3示教數據的表征與泛化
將各關節角的運動信息,即示教數據,分別利用GMM進行編碼,實現表征學習,通過GMR進行數據重構,泛化輸出,以得到連續模仿運動軌跡[8]。
3.1示教數據的表征與泛化
對任一自由度,設其第j個示教數據點為ξj={ξs,j,ξt,j},j={1,2,…,N},其中,N是單次示教包含的數據點的個數,ξs,j是關節角,ξt,j是時間值。假設每一個數據點ξj服從如下概率分布:
(4)
式中:p(k)是先驗概率,p(ξj|k)是條件概率分布,服從高斯分布,于是,整個示教數據集合可以用高斯混合模型來表示,K即組成高斯混合模型的高斯分布的個數。
(5)
(6)
式中:D是編碼示教數據的GMM的維度。因此,高斯混合模型需要確定的參數是{πk,μk,Σk},分別表示第k個成分的先驗概率,期望和方差。采用EM算法估計GMM的參數,通過在概率模型中尋找參數最大似然估計進行參數學習[13]。

(7)
(8)

(9)
(10)
(11)

3.2實驗設計與分析
示教者(人)做一套連貫的動作(包括抬臂、伸展、揮手等),經預處理后得到的上肢的9個自由度(包括雙臂和頭部)的角度變化信息,如圖5所示。將這些數據加入到GMM進行編碼,經表征學習后,利用GMR泛化輸出,得到連續的運動軌跡,如圖6所示,可知,經表征和泛化后,得到連續的運動軌跡,而且原始數據中的噪聲得到很好的處理,波動性大大降低,穩定性增強。

圖5 示教數據的角度變化信息Fig.5 Angle change information of demonstration data

圖6 經表征和泛化后的角度變化信息Fig.6 The angle change information of demo data after representation and generalization
以RShoulderRoll、RElbowRoll、RShoulderPitch3個自由度為例,對單次示教的表征和泛化過程進行說明,如圖7所示,每列表示一個自由度,第1行是原始數據,第2行是GMM編碼的結果,第3行實線是GMR泛化的輸出,陰影表示協方差約束。

圖7 單次示教的GMM編碼和GMR泛化Fig.7 The output of single demonstration after encoding by GMM and generalization by GMR
在離線模式下,可以對多次示教進行學習,如圖8所示,是對擺臂動作進行三次示教,以RElbowRoll自由度為例進行的說明,依次對應示教數據獲取、表征編碼及泛化輸出的過程。對原始數據處理后得到示教數據,由圖可知,GMM能對多次示教進行編碼,利用GMR泛化出包含多次示教特征的輸出,具有較強的噪聲處理能力,如果某次示教過程中存在干擾或跳變,可編碼多次示教的特性可對噪聲進行自動過濾,泛化出最優軌跡。

圖8 多次示教的GMM編碼和GMR泛化Fig.8 The output of multi-demonstration after encoding by GMM and generalization by GMR
4基于模仿學習的Nao機器人行為動作的實現
Nao機器人的嵌入式軟件NAOqi包含一個跨平臺的分布式機器人框架,為開發人員提高、改進Nao的各項功能提供了一個良好的基礎。本文構建的Nao機器人動作模仿系統,骨骼點信息采集及示教數據的獲取采用C#語言開發實現,示教數據的表征與泛化基于MATLAB環境開發實現,將泛化得到的運動信息通過NAOqi進行數據的更新,映射到Nao機器人的底層控制中,實現動作模仿。
實驗研究表明,構建的基于Kinect的Nao機器人動作模仿系統可以實現實時、離線兩種方式的動作行為模仿,實時動作模仿展示如圖9~12所示,對每一個子圖,左邊是示教者,右邊是模仿者(Nao機器人),中間是計算機界面,包括Kinect采集到的人體骨骼信息和運用Nao機器人的開發套件NaoSim與Choregraphe,在虛擬環境下的動作模擬測試結果,其中,圖9~11是基本動作的模仿,圖9是雙臂伸展動作,圖10是雙臂彎曲動作,圖11分別表示頭部自由度動作(低頭)和手的狀態模仿(右手閉合,左手張開),圖12是復合動作,分別是揮手和武術起手式動作。

圖9 雙臂伸展動作Fig.9 The motion of stretching arms

圖10 雙臂彎曲動作Fig.10 Motion of bending arms

圖11 低頭及手的狀態模仿Fig.11 Head drop and imitation of the state of hands

圖12 復合動作Fig.12 Composite actions
基于模仿系統的靈活性和穩定性,該系統可用于實際操作任務,如圖13所示,控制機器人將彩筆放入筆筒中,其中A~C是左手抓取動作,對應的細節圖是a~c;D~E是將彩筆從左手交換到右手,細節對于d~e;F~H是右手將彩筆放入到右邊透明筆筒中,細節對應f~h,整個過程較靈活穩定。基于模仿學習的框架,將Kinect與Nao機器人相結合實現的動作模仿系統,在上肢的動作模仿中效果較好,如圖9~13所示,運動平滑穩定,能夠用于執行實際任務。在線模式下,示教過程中,實時更新數據,動作的模仿是實時的。本系統還可以實現離線模式下的行為動作模仿,離線模式下,數據是在示教完成后,進行數據的更新。離線模式下,可以通過記錄動作執行過程中各自由度角度的變化,實現動作學習的記憶,在環境和任務不變的情況下,實現學習到的動作(技能)重復執行,可將其應用于生產線上的重復性行為動作,通過示教-模仿的機制,可有效避免機器人底層的復雜編程。

圖13 基于實時模仿的抓-放任務的實現Fig.13 The implementation of catch-put task based on real-time imitation
此外,可通過重采樣不同數目的泛化輸出點,實現對運動速度的控制,對于圖6中的一套動作,經反復試驗,采樣500個數據點映射到機器人中時,運動軌跡較平滑自然,若采樣200個點動作較快,而800個點,則動作較慢,更多的點則顯得動作遲鈍。
但是,目前該系統在下肢的動作模仿中實際效果不太理想,其原因在于下肢存在平衡問題,而該系統本質上是一開環系統,為解決下肢模仿的平衡考
慮引入內部傳感實現閉環的控制。
5結論
本文將體態感知與仿人機器人相結合,研究機器人的模仿學習,并以該框架為指導,開發實現了基于Kinect的Nao機器人動作模仿系統。該系統在Nao機器人上肢的動作模仿中效果較好,運動平滑而自然,實驗結果表明:
1) 通過Kinect采集骨骼點空間坐標,用于計算示教者運動過程的關節角變化信息的方法是可行的,能夠為模型訓練提供較好的數據支持。
2) 經GMM編碼和GMR泛化后,能夠得到連續的平滑運動軌跡,且原始數據中的噪聲得到很好的處理,波動性大大降低,穩定性較好。
3) 在上肢的動作模仿中,運動較平滑穩定,能夠用于復雜運動技能的學習,能夠較靈活地執行遙操作任務,對面向搜救任務的機器人研究有一定的參考意義。
4) 在離線模式下,可實現動作記憶,進而實現動作的重復執行,而且可通過重采樣方法對運動速度進行控制。
5) 不足之處在于,下肢存在平衡控制的問題,不能實現上下肢的協同運動。
下一步研究的方向是考慮引入閉環控制,解決下肢的平衡問題,實現上肢和下肢的協同動作,將整個系統應用于遠程遙操作任務,提高其實用性。
參考文獻:
[1]SCHAAL S. Is imitation learning the route to humanoid robots?[J]. Trends in cognitive sciences, 1999, 3(6): 233-242.
[2]BILLARD A, CALINON S, DILLMANN R, et al. Robot programming by demonstration[M]//SICILIANO B, KHATIB O. Springer Handbook of Robotics. Berlin Heidelberg: Springer, 2008: 1371-1394.
[3]ENGLERT P, PARASCHOS A, DEISENROTH M P, et al. Probabilistic model-based imitation learning[J]. Adaptive behavior, 2013, 21(5): 388-403.
[4]GRIBOVSKAYA E, KHANSARI-ZADEH S M, BILLARD A. Learning non-linear multivariate dynamics of motion in robotic manipulators[J]. The international journal of robotics research, 2011, 30(1): 80-117.
[5]LEE Sang H L, SUH I H, CALINON S, et al. Autonomous framework for segmenting robot trajectories of manipulation task[J]. Autonomous robots, 2015, 38(2): 107-141.
[6]ASFOUR T, AZAD P, GYARFAS F, et al. Imitation learning of dual-arm manipulation tasks in humanoid robots[J]. International journal of humanoid robotics, 2008, 5(2): 183-202.
[7]于建均, 韓春曉, 阮曉鋼, 等. 基于高斯過程的機器人模仿學習研究與實現[J]. 北京工業大學學報, 2015, 41(7): 1000-1004.
YU Jianjun , HAN Chunxiao , RUAN Xiaogang, et al. Robot imitation learning based on Gaussian processes[J]. Journal of Beijing university of technology, 2015, 41(7): 1000-1004.
[8]CALINON S. Robot programming by demonstration: a probabilistic approach[M]. Lausanne: EPFL Press, 2009: 75-100.
[9]趙姝穎, 徐文杰, 鄭雪林, 等. 基于體感的機器人展示系統研究與開發[J]. 機器人技術與應用, 2012(6): 54-57.
ZHAO Shuying, XU Wenjie, ZHENG Xuelin, et al. research and development of display system of Nao humanoid robot based on posture perception[J]. Robot technique and application of robot, 2012 (6): 54-57.
[10]ALMETWALLY I, MALLEM M. Real-time tele-operation and tele-walking of humanoid Robot Nao using Kinect Depth Camera[C]//Proceedings of the 10th IEEE International Conference on Networking, Sensing and Control (ICNSC). 2013 10th IEEE International Conference on Evry, France: IEEE, 2013: 463-466.
[11]KOENEMANN J, BENNEWITZ M. Whole-body imitation of human motions with a Nao humanoid[C]//Proceedings of the 7th ACM/IEEE International Conference on Human-Robot Interaction (HRI).2012 7th ACM/IEEE International Conference onBoston, MA, USA: IEEE, 2012: 425-425.
[12]YANG Ningjia, DUAN Feng, WEI Yudi, et al. A study of the human-robot synchronous control system based on skeletal tracking technology[C]//Proceedings of IEEE International Conference on Robotics and Biomimetics (ROBIO), Shenzhen, China, 2013: 2191-2196.
[13]BISHOP C M. Pattern recognition and machine learning[M]. New York: Springer, 2006: 423-455.

于建均,女,1965年生,副教授。主要研究方向為智能機器人的仿生自主控制、智能計算與智能優化控制、復雜過程建模、優化與控制。主持或參與國家“863”計劃項目、國家自然科學基金等省部級科研項目以及橫向科研課題多項;發表SCI、EI、ISTP收錄論文40余篇,獲國家發明專利、實用新型專利、國家軟件著作權等10余項。

門玉森,男,1991年生,碩士研究生,主要研究方向為機器學習、機器人技術。參與國家自然基金項目,發表學術論文3篇,獲發明專利1項。

阮曉鋼,男,1960年生,教授,博士生導師,主要研究方向為人工智能與認知科學、機器人學與機器人技術、控制科學與工程等。主持科研課題20余項,發表學術論文400余篇,其中,被SCI和EI和ISTP檢索200余次,獲得多項國家發明專利、實用新型專利等。
The research and implementation of behavior imitation system about Nao robot based on Kinect
YU Jianjun, MEN Yusen, RUAN Xiaogang, ZHAO Shaoqiong
(College of Electronic and Control Engineering,Beijing University of Technology, Beijing 100124, China)
Abstract:To avoid the complexity of the underlying motor control, make the robot realize motor skills through learning and improve its intelligence, Combining Somatosensory perception with humanoid robot Nao,this paper focuses on the research of robot imitation learning,constructs the behavior imitation system and implements Nao robot's motion imitation using kinect based on the framework of imitation learning.By means of the skeleton tracking technology of motion-sensing camera,the bone point information is collected,then be pre-processed into demonstration data.The demonstration data is encoded for representative learning through Gaussian mixture model (GMM),and then the output generalized by Gaussian mixture regression (GMR) is mapped to Nao robot to realize the imitation of action.The experiment results indicate that Nao robot is able to implement behavior imitation in real-time and offline mode and gives good effect owing to the fact that the motion trajectory is smooth and stable.
Keywords:imitation learning; robot control; somatosensory perception; probability model; GMM; GMR
作者簡介:
中圖分類號:TP242.6
文獻標志碼:A
文章編號:1673-4785(2016)02-0180-08
通信作者:門玉森. E-mail:menyusen0927@163.com.
基金項目:國家自然科學基金項目(61375086);高等學校博士學科點專項科研基金項目(20101103110007).
收稿日期:2015-11-23. 網絡出版日期:2016-03-14.
DOI:10.11992/tis.201511020
網絡出版地址:http://www.cnki.net/kcms/detail/23.1538.TP.20160314.1432.006.html