摘要:制造業的轉型升級對機器人的部署效率提出了很高的要求,現有的示教盒編程模式適合于對簡單作業的位置和軌跡示教,難以快速實現制造業中大量裝配作業的示教。而機器人演示編程技術能夠使機器人系統直接從人的演示操作中提取有效信息,并將該信息轉化為機器人的運動程序,從而使機器人完成相應的操作,能夠大大加快機器人部署的節奏。本文結合制造業的發展需求,總結了機器人演示編程技術的國內外研究現狀,并介紹本課題組在機器人演示編程技術方面的工作,最后探討了機器人演示編程技術未來的研究方向。
關鍵詞:機器人學習;機器人演示編程;機器人示教學習
1 引言
在過去十幾年中,隨著工業機器人的大規模部署,企業的生產力和產品質量得到了大幅度提升,這些提升得益于工業機器人可以快速、高精度地完成大量重復性的工作,然而為了讓機器人能夠完成特定的工作,往往需要專業的機器人工程師花費幾天甚至幾個月的時間進行機器人程序的設計和編寫。與此同時,隨著中國制造業的轉型升級,工業機器人的應用領域和應用場景大大擴展,從傳統的汽車制造、機械加工向3C、五金、家具等各個離散制造行業推廣應用。這些新興應用行業具有典型的柔性制造特性,即多品種、小批量、短周期,其生產的快節奏對機器人部署編程的快速性、易用性提出了很高的要求。但傳統的工業機器人編程模式難以滿足這樣的需求,現有的示教盒編程模式適合于對簡單作業的位置和軌跡示教,難以快速實現制造業中大量裝配作業的示教;而離線編程模式需要完整精確的設計模型,并由精通機器人專業技能的人員和精通行業應用工藝的人員合作完成。機器人部署的效率瓶頸極大地限制了工業機器人在中小型制造企業的推廣使用。提高工業機器人的易用性,特別是簡化裝配作業編程已經成為工業機器人在3C、五金、家具等制造行業推廣應用亟需解決的一個重要問題。
演示編程(Programming by Demonstration,簡稱PbD),也稱為演示學習(Learning fromDemonstration,簡稱LfD),是由機器人系統從人的演示操作中提取有效信息,進而將該信息轉化為機器人的運動程序及操作參數,從而使機器人完成相應的操作[1]。演示編程提供了一種新的向機器人傳遞信息的方式,是簡化機器人編程的重要途經。與傳統機器人編程方法相比,它可以在機器人使用和編程方面大大降低對操作者的專業知識要求,對于機器人的推廣具有重要意義。
2 機器人演示編程技術研究現狀
根據所提取的學習信息,現有的機器人演示編程研究可以分為面向底層運動的演示編程和面向高層任務的演示編程。前者是對機器人運動控制律的學習,分為對運動軌跡的學習和對力控制的學習,主要涉及信息的采集、提取和轉化應用。后者則面向由多個運動組合而成的某個特定任務或綜合任務,涉及操作物體、操作動作、動作序列、操作結果等多個方面,不僅涉及多方面的信息采集、提取和轉化應用,而且需要對提取到的信息進行推理理解。
2.1 面向底層運動的演示編程研究
面向底層運動的演示編程研究可以分為對運動軌跡的演示學習和對作業力控制的示教學習,并包含“數據獲取”和“學習建模”兩個階段。在數據獲取階段,相關方法需要解決如何采集記錄示教者的運動數據。在學習建模階段,相關方法需要解決如何從示教數據中提取有效信息并進行學習應用。對運動軌跡的演示學習具有較長的研究歷史,形成了相對成熟的理論和方法。
2.1.1 運動軌跡的演示學習
運動軌跡的演示學習有兩種數據采集方式,如圖1所示。一種是映射方法,即采用視覺、慣導、數據手套等傳感器獲得示教人的運動數據,進而將人的數據映射到機器人[2~4]。這種方法的優點是對于示教者而言比較直觀,生成的軌跡比較連續平滑而且符合人類的期望,但是由于示教者和機器人兩者存在構型、尺寸、能力等方面的差異,需要建立兩者之間的匹配映射。另一種是非映射方法,由示教者通過遙控的方式或者牽引機械臂的動覺示教方式控制機器人的運動,直接記錄機器人本體運行的數據作為下一步學習的基礎[5~7]。這類方法省去了示教者和機器人之間的數據映射,缺點是生成軌跡不夠平滑,并且精度較低,只能應用于一些對精度要求較低的操作場景,比如:噴涂或碼垛。并且對于示教者而言,直接控制一臺多自由度的機械臂也很困難,因此機器人需要具有被動的重力自平衡功能或者主動的運動跟隨能力,但后者存在對于示教者的安全隱患。
(a)映射方法 (b)非映射方法中的動覺示教方法
圖1 運動軌跡演示學習中的數據采集方式
所采集/映射得到的數據可以直接用于機器人執行,但考慮到泛化應用需求,例如適應不同作業位置,需要基于以上數據對機器人的運動控制模型進行學習。目前主要方法有策略學習和回報學習兩大類。策略學習方法學習示教數據中狀態到動作的映射策略函數,屬于監督學習的范疇;而回報學習方法學習示教數據中隱式的評價動作好壞的回報函數,屬于逆強化學習范疇。用比較通俗的語言來描述,策略學習是“學習怎樣運 動”,而回報學習是“學習怎樣運動比較好”。
(1)動作策略學習
策略學習方法也稱為行為克隆(Behavioral cloning)。一般的工業機械臂能夠通過人工導引或示教盒輸入等方式來示教機械臂的運動位置或運動軌跡,并在后續使用中重復再現人示教的結果。這種示教再現方式的缺點在于機械臂只能夠簡單重復示教結果,無法適應環境變化。示教學習與示教再現的區別在于示教學習方法能夠從示教數據中提取有效信息,生成運動模型,并應用到新任務場景中。
在早期研究成果中[8~11],工業機械臂一般通過示教器遙控的方式進行示教。示教過程中,機械臂末端位姿、與被操作物體的接觸力、障礙物位姿及目標位置等信息被記錄下來。然后軌跡中的多個關鍵點從示教數據中被分割提取出來。最終學習得到的映射策略可以描述為一連串關鍵幀狀態和幀與幀間動作組成的序列。
隨著統計學習方法的發展,大量的研究成果使用隱馬爾科夫模型(Hidden Markov Model)這一概率統計模型來對示教數據進行建模。隱馬爾可夫模型是一種非常強大的處理時序數據的方法,其基本思想是把輸入數據描述為一連串隱含的離散狀態的轉移,如圖2所示。Tso等人[12]利用隱馬爾科夫模型編碼和復現笛卡爾空間軌跡。Akgun等人[13]使用隱馬爾科夫模型同時對動作數據和環境感知數據進行建模。Calinon等人[14]采用一種帶有明確時間周期的隱馬爾科夫模型來描述運動中的時空約束,在任務執行階段顯示出了一定的抗擾動性。
圖2 示教數據使用隱馬爾科夫模型建模
總的來說,上述方法[8~14]都是使用一連串離散狀態及狀態間的轉換來描述示教軌跡。這類方法的缺點是無法獲得一條連續平滑軌跡,這樣就無法直接控制機器人的各關節運動。在實際應用中,研究者一般使用多條軌跡的平均[15]或者在離散狀態點間插值[16]的方法來得到一條連續平滑軌跡。
為了直接對連續軌跡進行學習,研究者提出了不同方法。在早期的研究成果[17、18]中,神經網絡是最常見的一類方法。Liu等人[17]使用多層神經網絡對打磨動作進行建模,并且使用另一個神經網絡對動作和執行效果之間的關系進行建模。Kaiser等人[18]使用隱含層帶延時的徑向基函數神經網絡對示教動作進行建模,并在Puma260機械臂上實現了插孔操作和開門操作。
隨著移動機器人和仿人機器人相關領域的發展,研究者更多關注生物的神經結構和運動機理,并從中得到啟發提出了一套基于動態系統的方法,稱為動態運動單元(Dynamic movementprimitives)。動態運動單元方法由Ijspeert等人[19、20]較早提出,其基本思想是將入軌跡用一個受到外部擾動的非線性動態系統進行描述。外部擾動項是多個高斯核函數的加權疊加的參數模型,其權重參數是可以根據示教軌跡采用監督學習算法訓練得到,如圖3所示。根據非線性系統的不同性質和擾動項的不同參數,該方法可以生成具有任意形狀復雜度,并且帶有點收斂或極限環性質的軌跡。這兩種性質的軌跡分別可以用于描述非周期性運動(如抓取)和周期性運動(如行走)。動態運動單元具有很多優點:可以簡單快速完成系統模型的訓練以及新軌跡的生成,并可方便地融入其他的方法。Hoffmann等人[21]在動態運動單元中加入障礙物的排斥力場實現了避障的效果。Mülling等人[22]通過綜合多次學習得到的動態運動單元模型實現機器人乒乓球作業任務。動態運動單元的缺點是模型是確定性的,而人對于某一任務的示教結果不可能是完全相同的,動態運動單元很難對多次示教結果的不確定性進行建模。此外模型中包含很多需要預先定義的超參數,超參數選擇不當容易造成系統整體的擬合效果欠佳。
圖3 加權和形式的外部擾動示意圖
為了對示教結果的不確定性加以考慮,研究者提出了一系列基于高斯混合模型(Gaussian mixture model)的示教學習方法?;舅枷胧鞘褂枚鄠€高斯分布來對軌跡的不同階段進行建模,并且使用高斯分布的協方差來描述不同階段示教軌跡的不確定性,如圖4所示。Calinon等人[23]最早在仿人機器人上采用高斯混合模型實現了對基本的抓取動作的學習。在后續工作中[26]中,Calinon等人使用高斯混合模型的協方差對運動過程中不同階段任務空間和關節空間軌跡跟蹤精度進行建模,并應用到不同連桿長度的多個兩自由度機械臂模型中。Osa等人[27]使用高斯混合模型對機械臂末端軌跡進行建模,并使用學習到的協方差構建存在障礙物的環境中符合不同跟蹤精度要求的目標函數。
圖4 二維示教軌跡使用高斯混合模型建模
(2)動作回報學習
回報學習(Reward learning),也稱為逆強化學習(Inverse reinforcement learning)或者逆最優控制(Inverse optimal control)。與策略學習不同,回報學習不是學習示教數據的映射策略,而是研究示教者完成示教動作時用于評價動作好壞的性能指標,即其算法輸出是示教數據所優化的隱式回報函數。與策略學習方法相比,回報學習方法應對不同環境的適應能力更強。當執行環境或機器人本體模型發生較大改變時,策略學習方法得到的映射函數將很難適用,需要重新示教。而回報學習方法得到的回報函數與任務更加相關。在接收新的環境和模型信息后,用戶能夠復用之前得到的回報函數來求解合適的動作策略。
Ng等人[28]最早在強化學習框架中指出以下局限:回報函數并不總是己知,而是需要被學習的?;谶@一思考他們提出并使用逆強化學習這一術語來命名該問題。Ng等人將回報函數視作對一項任務的最簡潔、魯棒以及可移植的描述方式?;貓髮W習問題存在如下挑戰:第一個挑戰是該問題本身是一個不適定(ill posed)問題,即存在多種可能的回報函數都能夠描述同一組示教數據;第二個挑戰是示教數據中可能包含了多個人的示教結果或者不同任務的示教結果,即示教數據的局部最優性問題。
為了解決第一個挑戰,研究者提出了多種方法,其基本思想是最小化當前最優運動策略與示教運動策略之間的差異。當前最優運動策略可以基于當前估計的回報函數和環境信息,使用強化學習方法或者最優控制方法計算得到。不同的方法在策略差異的描述、優化方法等方面各有不同。Ng等人[29]對回報函數的形式做出了限制,將其定義為多個特征函數的加權組合,而權重是待學習參數。隨后作者將最小化當前最優運動策略與示教運動策略的累積折扣回報期望的歐氏距離作為目標,并使用二次規劃方法求解回報函數中的未知參數。Syed等人[30]定義當前最優運動策略與示教運動策略的累積折扣回報期望的差值為目標函數,采用博弈論中的最大最小算法搜索未知參數值。后續工作中[31],作者使用了線性規劃方法來加快未知參數的求解速度。Ratlff等人[32]提出了基于結構化最大間隔框架的目標函數,并使用凸優化方法進行求解。Ramachandran等人[33]提出了基于貝葉斯估計框架的學習方法,并通過最大化后驗概率來估計回報函數。為了能夠考慮回報函數的所有可能性,Ziebart等人[34]提出了基于最大熵框架的學習方法,使用與回報值正相關的指數函數表示示教數據出現的概率,并通過最大化示教數據的似然概率來估計回報函數。最大熵逆強化學習方法的一個優點是不需要計算當前最優運動策略,而是通過在狀態空間中均勻采樣的方式來估計示教數據的似然概率。研究者對基于采樣的逆強化學習方法做了進一步發展,區別是采樣方式的不同。Boulariasd等人[35]提出了相對熵逆強化學習方法,使用了重要性采樣方法在狀態空間中任意分布進行采樣。Kalakrishnan等人[36]提出了路徑積分逆強化學習方法,其在示教軌跡的鄰域進行采樣。此外,部分文章沒有使用傳統的特征函數的加權組合形式的回報函數。Levine等人[37]使用高斯過程形式的回報函數,而Wulfmeier等人[38]使用神經網絡形式的回報函數。上述方法中模型參數也是通過最大化示教數據的似然概率進行估計。
針對第二個挑戰,研究者提出了相應方法來學習示教數據中的不同種類的回報函數。Babes等人[39]提出基于期望最大化算法的學習算法,能夠對輸入數據進行聚類,并且計算每一類數據對應的回報函數。Choi等人[40]在貝葉斯估計框架的逆強化學習方法中引入狄利克雷過程混合模型作為先驗,能夠自動選擇最適合輸入數據的回報函數類別數目。
上面介紹的方法[39、40]可以部分解決示教數據的局部最優性帶來的問題。但這些方法依然假設了每一條示教軌跡可以使用一種回報函數進行評價。而在實際情況中,一條示教軌跡的不同階段可能完成了不同任務,這就意味著即使一條示教軌跡也無法使用單一的回報函數進行描述。針對這一問題,研究者提出了幾種方法。Nguyen等人[41]提出了基于期望最大化算法的回報學習方法,能夠學習軌跡中不同子階段的切換狀態和各階段回報函數。但是該方法需要用戶提前定義回報函數的個數以及每個回報函數中的參數。Michini等人[42]提出了一種非參數貝葉斯框架的學習算法,能夠自動對輸入數據進行分割。但是該方法得到的回報函數屬于子目標點回報函數。該函數在機器人處于子目標點時輸出回報值為正數,而在其他狀態時輸出回報值均為零。這種回報函數的使用局限性較大,無法用于評價運動執行過程中動作的好壞。Ranchod等人[43]提出了基于貝塔過程隱馬爾科夫模型的學習方法,也屬于非參數貝葉斯框架的方法,能夠自動確定最優的回報函數個數和切換狀態。但該方法得到的回報函數屬于表格型回報函數,無法應用在狀態空間連續高維的場景中,如機械臂的運動規劃??偨Y一下,對于一條示教軌跡不同階段的回報函數學習問題,現有方法均存在一定缺陷,如需要提前指定回報函數個數和類型,且得到的回報函數形式比較簡單,不適用于機械臂運動規劃這一類具有高維連續狀態空間的任務。
2.1.2 作業力控制的示教學習
隨著運動軌跡演示學習的逐步完善,近年來研究人員開始對機器人作業力控制的示教學習進行研究,以提高機器人與環境的交互能力。如圖5所示,現有力控制的示教學習主要采用非映射方式。L.Rozo等[44]采用觸覺設備來記錄機器人運動過程中的受力反饋,并通過遙控機器人對運動軌跡和力進行示教,使用隱馬爾科夫模型(HMM)和高斯混合模型(GMM)對運動軌跡和力進行建模,最終使用高斯混合回歸(GMR)生成機器人的動作。A.Montebelli等[45]以動覺示教方式對機器人的運動進行示教,通過在機械臂末端加裝力傳感器來記錄示教動作對應的力信息,采用動態系統方法對軌跡和力進行建模,使機器人完成木板拋光的操作。上述方法的輸出通常為位置和力的軌跡,在另一類方法中,學習的目標不是位置和力的軌跡,而是生成阻抗參數可變的柔順控制器。P.Kormushev等[46]采用牽引和遙控的方式,利用多次示教軌跡的方差來估計運動過程各個階段的阻抗參數,使機器人學會開門、拿熨斗等動作。K.Kronander等[47]通過搖晃和握緊機械臂的方式在牽引機械臂的同時直接調整軌跡對應部分的阻抗參數,使機器人實現柔順倒水這一操作。
(a)動覺示教方式(b)遙控示教方式
圖5 力控制的示教學習中的示教方式
2.2 面向高層任務的演示編程研究
面向高層任務的演示編程研究開始于2000年左右,近年來逐漸成為機器人和人工智能領域的研究熱點。與面向底層運動的演示編程相比,面向高層任務的演示編程涉及多個物體和多種操作,對信息的提取理解和轉化應用提出了更高的要求。
與面向底層運動的演示編程類似,面向高層任務的演示編程的數據采集方式也有非映射和映射兩種方式。非映射方式主要是結合動覺示教和語音來定義操作序列,例如華盛頓大學的Y.Artzi等[48]和M.Cakmak等[49]通過語音向機器人傳遞操作開始、結束與位姿保存的指令,結合語音牽引機械臂進行操作中關鍵位姿的定義,從而讓PR2機器人依次完成取、放、遞、疊毛巾四種動作。這類方式適合于簡單任務指令的演示編程,但示教者難以操作機器人完成復雜的動作。因此,大多數研究采用對于示教者而言更為方便和自然的映射方式,即由人進行任務演示,由演示編程系統通過傳感器獲得的信息進行操作語義理解,并根據人的操作與機器人操作之間的映射,生成機器人的執行程序。該方式應用方便,但研發難度大,目前的研究熱點集中在操作語義理解這一問題上,分為基于位置變化的操作語義理解、基于動作/手勢識別的操作語義理解以及基于規則/約束的操作語義理解。
2.2.1 基于位置變化的操作語義理解
基于位置變化的操作語義理解的基本思想是操作會改變物體的位置,因此可以通過操作前后物體的位置信息進行操作語義推理。德國哥廷根大學E.E.Aksoy等[50、51]通過基于能量的聚類方法對圖像中的物體進行分割,判斷物體之間是否接觸和覆蓋,構建出各物體的關系圖,利用時間軸上圖模型的變化推理得到人的操作意圖。美國馬里蘭大學K.Zampogiannis等[52]根據物體的3D點云信息分割物體,使用物體間的前后、左右和上下等位置關系形成“謂詞向量序列(Predicate Vector Sequence,PVS)”的任務描述子,從而讓機器人學習完成做沙拉一類的簡單家務。為了獲取更準確的位置關系,德國R.Cubek等[53]通過檢測場景中的增強現實標簽以獲取物體的位置信息,讓機器人實現將積木放入指定位置的任務。但該方法只能獲取物體準確的平面位置,并不能得到物體精確的三維位姿。
可以看到,該類方法主要是根據操作對場景物體的影響來實現對操作動作的推理,難以適用于操作前后物體的位置只有細微變化甚至不變的作業。
2.2.2 基于動作/手勢識別的操作語義理解
基于動作/手勢識別的操作語義理解的基本思想是操作的語義往往與操作動作直接對應,借助動作識別在人機交互領域的豐碩成果,可以將操作語義理解轉化為操作動作/手勢的識別。手勢識別方面的成果有基于單張圖像學習手勢外觀特征的靜態手勢識別[54、55]、基于多張運動歷史圖像描述人類手勢變化過程的手勢識別[56]等。研究人員也運用機器視覺方法進行操作動作識別,如美國馬里蘭大學Y.Yang[57]等通過訓練卷積神經網絡對6種不同的抓取手勢進行識別,但是該方法需要大量的手勢操作樣本圖片才能獲得較好的手勢特征描述;中國科學技術大學的楊劍宇[58]等通過視覺獲得手的運動軌跡,根據三維軌跡的曲率和繞率等參數獲取軌跡的索引,從而根據索引與動作庫中具有相似索引的動作軌跡進行匹配,區分不同的動作。近年來,隨著其他傳感器種類的豐富,也出現了采用深度傳感器的手勢識別[59],但是現有方法主要面向簡單無物體操作的手勢。人機交互領域的動作識別,對被操作物體的關注較少,但實際上被操作物體包含了重要的操作信息,并且不同的操作可以具有相同的手勢,與操作語義并非一一對應?;谶@個思想,瑞典KTH的H.Kjellstr.m等[60、61]在視覺識別手勢的基礎上,結合被操作物體的功能屬性,來提高動作語義識別的準確率,實現了對翻書和倒茶等操作動作的識別。
2.2.3 基于規則/約束的操作語義理解
基于規則/約束的操作語義理解的基本思想是從多次的演示中提取求解問題的規則或約束,并將提取到的規則或約束應用于求解同類的問題。澳大利亞國立大學的J.R.Chen[62]面向主軸裝配任務,提出使用圖模型表示人在同一主軸裝配任務中的多種裝配方式,圖中的節點表示裝配過程中的某一狀態,進而基于時間和能量等準則從圖模型中選擇最優的裝配方式,即狀態轉移路徑。德國Karlsruhe大學的M.Pardowitz[63]和瑞典KTH的S.Ekvall[64]使用最長公共子序列的方法從多次餐具放置任務演示中提取各種餐具放置任務的順序約束,當需要擺放新的餐具組合時,機器人自動搜索滿足約束條件的餐具放置順序,然后執行。英國帝國理工大學的K.Lee等[65]利用上下文無關語法對多次漢諾塔問題求解的演示過程進行學習,從而獲得求解該問題的基本約束和子結構,使得機器人能夠解決不同盤子數目的漢諾塔問題。
2.2.4 機器人演示編程研究現狀總結
綜上所述,面向底層運動的機器人演示編程學習的是單一操作的軌跡或力的控制規律,其中軌跡的演示學習已經形成了一定的具有較好通用性的理論和方法,并被推廣應用到實際的機器人系統中,力控制和高層任務的演示學習取得了一定的進展,但總體還處于探索研究階段。
運動軌跡層面的演示編程取得較好研究進展的原因在于需要提取的信息(軌跡)內容單一,且表示形式簡單,可以使用統一嚴格的數學模型進行表達,與具體任務以及數據采集方式沒有關系。而力控制示教學習的難點是現有的非映射方式難以進行精密力示教,并且難以直接獲取人操作物體時的力信息,從而導致無法學習力控制的變化規律。對于面向高層任務的演示編程,映射是一種直觀自然且更具通用性的方式?,F有的研究聚焦于操作語義理解問題上,且往往使用比較單一的信息,能夠實現對一些簡單任務的學習。由于工業裝配作業不僅操作語義難以理解,而且需要裝配工件的精確位姿信息和裝配力信息,目前的方法還難以支持工業機器人實現裝配等復雜作業的演示編程。
3 研究團隊在機器人演示編程方面的工作
面向制造業轉型升級中企業的發展需要,針對當前的機器人演示編程技術應用于工業裝配任務中存在操作語義理解、連續操作識別與分割、高精度工件位姿估計等問題,本課題組研發了面向裝配作業的工業機器人演示編程系統,如圖6所示。面向裝配作業的機器人演示編程系統由兩個單元組成,分別是信息感知與推理單元和機器人執行單元,其中信息感知與推理單元也包括了兩部分,即人類演示視頻中的信息感知模塊與物體之間的裝配關系推理模塊,機器人執行單元包括機器人執行程序生成模塊以及機器人抓取規劃模塊。
圖6 面向裝配作業的工業機器人演示編程系統
3.1 演示視頻中的信息感知及推理
面向裝配作業的機器人演示編程系統首先需要解析人類的演示視頻,關鍵問題是解析演示視頻中包含的語義信息,即:操作的物體、操作完成后物體的位姿、以及使用的操作技能。針對以上三個問題,本課題組在人類演示視頻中的信息感知單元設計了三個子模塊,分別是物體識別、物體位姿估計、裝配技能估計。
3.1.1 物體識別
機器人演示編程系統需要從人類的演示視頻中解析得到演示者操作了什么物體,但是工業裝配涉及的物體復雜多樣,基于人工特征的方法難以有效實現物體檢測,得益于深度學習在計算機視覺領域的顯著成果,本課題組采用了基于深度學習的物體識別方法[66]。
3.1.2 物體位姿估計
機器人演示編程系統需要從人類的演示視頻中解析得到演示者操作完成后物體的空間姿態,使機器人能夠確定物體裝配的目標狀態。由于工業裝配任務中對工件位姿的定位精度有極高的要求,并且工件CAD模型是易獲取的,本課題組采用了基于點對特征的物體6自由度空間位姿估計方法[67]。
3.1.3 裝配技能估計
機器人演示編程系統需要從人類的演示視頻中解析得到演示者使用了什么樣的裝配技能,例如放置、按壓、擰等,這涉及到單個裝配技能的識別以及多個連續裝配技能的分割問題。由于單一模態具有的歧義性以及需要同時對裝配技能序列進行分割和識別,本課題組提出了融合圖像彩色信息、深度信息的多模態裝配技能識別算法,并結合滑動窗口的分割點檢測和基于迭代動態規劃的優化方法實現連續裝配技能分割[68]。
3.1.4 裝配關系推理
由于基于視覺的物體位姿估計結果不可避免的存在誤差,讓機器人直接執行此結果不僅無法滿足裝配精度的要求,甚至可能導致安全問題,因此本課題組設計了物體之間的裝配關系推理模塊[69],用于解決不確定觀測下的裝配關系和裝配位姿同時推理與估計的問題。我們提出了使用概率圖模型表示空間知識,概率圖中的節點表示工件的位姿、工件之間的裝配關系,以及工件觀測信息三種信息,概率圖中的邊表示相連的兩個節點之間的信息約束,這些信息均采用概率分布進行建模。借助圖模型對觀測量和估計量進行建模,變量推理就等價于求解最大似然參數估計問題。通過同時推理物體之間的裝配關系以及計算物體的空間位姿,使得物體的位姿結果能夠滿足裝配任務中高精度的要求。
人類的演示視頻經過信息感知與推理單元的解析與推理之后,機器人演示編程系統可以得到人類操作中操作物體與操作技能的語義信息以及精確的物體位姿。
3.2 機器人執行程序生成與抓取規劃
機器人執行程序生成模塊可根據操作者的演示信息,生成完整的機器人運動程序。機器人抓取規劃模塊用于規劃物體的穩定抓取配置,從而使機器人從物料區穩定地抓取待操作的物體。
3.2.1 基于動作策略學習的機器人程序生成
由于人體手臂與機械臂在尺寸、運動能力等方面的差異,若直接將采集得到的示教者的運動軌跡數據應用到機器人上,可能會超出機器人的運動限制從而導致機器人損壞。為了解決示教者與機械臂的動作對應問題,本課題組提出了改進的仿射變換方法,能夠保證末端和肘部的跟蹤精度并且保持人體動作數據的仿射不變性。為了不破壞機器人動作的仿人性,在動作學習的建模階段,提出同時學習末端和肘部運動數據的概率建模方法。在動作生成階段,提出結合動態運動單元和學習得到的概率模型的方法分別生成末端和肘部軌跡。最后為了解決笛卡爾空間軌跡到關節空間軌跡的轉換問題,提出了基于序列二次規劃的關節運動軌跡生成方法,并提出了基于弗雷歇距離的關節角選擇算法來初始化關節軌跡。圖7給出了打乒乓球過程中揮拍動作的人機對應結果。
圖7 揮拍動作的人機對應結果
3.2.2 基于動作回報學習的機器人程序生成
針對示教數據的分階段局部最優特性,即示教軌跡不同階段對應不同回報函數,提出同步軌跡分段與回報學習方法。該方法使用基于采樣的逆強化學習方法提取加窗軌跡段特征,通過比較相鄰窗口軌跡特征得到初始分段點,然后基于動態規劃方法在初始分段點鄰域搜索最優分段點,最后使用基于采樣的逆強化學習方法學習得到各子分段的回報函數。所學習到的回報函數個數和類型不存在限制,且適用于機械臂動作規劃這一具有高維連續狀態空間的任務。為生成適應新環境的運動軌跡,提出基于泛函優化的動作生成方法。該方法結合學習到的子階段回報函數及其他約束項如避障、到點約束來生成總的軌跡回報泛函,并使用泛函梯度方法生成新軌跡。圖8給出了在水杯搬運任務中,當環境發生變化時,機器人動作的生成結果。
圖8 水杯搬運任務中的動作生成結果
3.2.3 機器人抓取規劃
由于工業裝配場景中工件復雜多樣,人工設計工件的抓取方式是一項具有挑戰性的任務。為了解決機器人抓取規劃的魯棒性和實時性,本課題組提出了一種基于深度圖像的機器人抓取規劃算法。該算法由兩個級聯的卷積網絡構成,第一個卷積網絡回歸最優抓取區域,第二個卷積網絡對在最優區域中采樣的抓取候選進行評估和排序,最后輸出一系列高質量的抓取配置。使機器人能夠根據當前的觀測自動規劃穩定的抓取方式,為完成指定的物體操作任務創造條件。
3.3 系統驗證
基于上述研究成果,本課題組通過邀請不同的演示人演示積木組裝、手電筒組裝、開關盒組裝、椅子組裝等不同的裝配任務,驗證了面向裝配作業的機器人演示編程系統與所提方法的合理性。圖9為不同的演示裝配場景,積木組裝和手電筒組裝為人演示,仿真機器人執行,其他為實物機器人執行。
圖9 機器人演示編程系統完成不同的演示裝配任務
4 機器人演示編程技術未來研究方向
結合制造業轉型升級過程中對機器人技術的需要,以及機器人演示編程技術目前存在的問題,本文認為機器人演示編程技術未來的研究方向主要有:
(1)工件位姿的精確定位。工業裝配場景中對裝配的精度有極高的要求,目前的工件位姿估計方法均難以實現對物體高精度的空間定位。進一步提高工件位姿的定位精度,對在制造業中推廣機器人的應用具有重要意義。
(2)柔性物體的操作任務。目前機器人應用場景中的操作對象主要是剛性物體,但是制造業中存在大量柔性物體的操作任務,比如對線纜的安裝任務,機器人操作柔性物體中的建模、控制等問題還有待進一步研究。
(3)多信息融合的機器人反饋控制。感知反饋是機器人對物體進行實時準確操作的基礎。機器人裝配作業中單純依靠視覺信息的反饋難以應對環境變化帶來的不確定性,因此目前的工業機器人工作環境都是高度訂制化的。進一步研究融合力覺、觸覺、視覺信息的多模態控制方法能夠有效提高工業機器人操作系統的抗擾動能力。
(4)人類演示知識遷移。工業裝配任務中存在大量相似裝配體和相似裝配操作,若將人類的演示過程中使用的裝配知識進行提取并應用于相似的裝配任務中,可以進一步提高機器人裝配作業的效率。
5 總結
機器人演示編程技術能夠在機器人使用和編程方面大大降低對操作者的專業性知識要求,提高機器人部署效率,對于推廣機器人應用于中小型制造企業具有重要意義。本文總結了機器人演示編程技術的研究現狀,并介紹了本課題組在機器人演示編程技術方面的研究工作,最后總結了機器人演示編程技術的未來研究方向,希望進一步推動機器人演示編程技術在工業制造領域的應用。
參考文獻:
[1]A.Billard,S.Calinon,R.Dillmann,and S,Schaal.Survey:Robot programming by demonstration[Z].Handbook of robotics,2008.
[2]T.Kuniyoshi,M.Inaba,and H.Inoue.Teaching by showing:Generating robot programs by visual observation of human performance[Z].1989.
[3]Y.Kuniyoshi,M.Inaba,and H.Inoue.Learning by watching: Extracting reusable task knowledge from visual observation of human performance[J].IEEE transactions on robotics and automation,1994,10(6):799–822.
[4]S.B.Kang and K.Ikeuchi.A robot system that observes and replicates grasping tasks[J].Proceedings of IEEE International Conference on Computer Vision,1995:1093–1099.
[5]M.Ito,K.Noda,Y.Hoshino,and J.Tani.Dynamic and interactive generation of object handling behaviors by a small humanoid robot using a dynamic neural network model[J].Neural Networks, 2006,19(3):323–337.
[6]T.Inamura,N.Kojo,and M.Inaba.Situation recognition and behavior induction basedon geometric symbol representationof multimodal sensorimotor patterns[J].IEEE/RSJ International Conference on Intelligent Robots and Systems,2006:5147–5152.
[7]R.A.Peters,C.L.Campbell,W.J.Bluethmann,and E.Huber.Robonaut task learning through teleoperation[J].IEEE International Conference on Robotics and Automation,2003,2:2806–2811.
[8]T.Lozano-Perez.Robot programming[J].Proceedings of the IEEE,1983,71(7):821–841.
[9]A.Levas and M.Selfridge.Auser-friendlyhigh-level robot teaching system[J].IEEE International Conference on Robotics and Automation,1984,1:413–416.
[10]A.Segre and G.DeJong.Explanation-based manipulator learning:Acquisition of planning ability through observation[J].IEEE International Conference on Robotics and Automation,1985,2:555–560.
[11]A.M.Segr.Machine learning of robot assembly plans[Z].Springer Science&Business Media,2012.
[12]S.Tso and K.Liu.Hidden markov model for intelligent extraction of robot trajectory command from demonstrated trajectories[J].Proceedings of the IEEE International Conference on Industrial Technology (ICIT'96),1996:294–298.
[13]B.Akgun,M.Cakmak,K.Jiang,and A.L.Thomaz.Keyframe-based learning from demonstration[J].International Journal of Social Robotics,2012,4(4):343–355.
[14]S.Calinon,A.Pistillo,and D.G.Caldwell.Encoding the time and space constraints of a task in explicit-duration hidden markov model[J].IEEE/RSJ International Conference on Intelligent Robots and Systems,2011:3413–3418.
[15]D.Lee and Y.Nakamura.Stochastic model of imitating a new observed motion based on the acquired motion primitives[J].IEEE/RSJ International Conference on Intelligent Robots and Systems,2006:4994–5000.
[16]S.Calinon and A.Billard.Learning of gestures by imitation in a humanoid robot[M].tech.rep.,Cambridge University Press,2007.
[17]S.LiuandH.Asada.Teaching and learning of deburring robots using neural networks[J].Proceedings IEEE International Conference on Robotics and Automation,1993:339–345.
[18]M.Kaiser and R.Dillmann.Building elementary robot skills from human demonstration[J].Proceedings of IEEE International Conference on Robotics and Automation,1996,3:2700–2705.
[19]A.J.Ijspeert,J.Nakanishi,and S.Schaal.Movement imitation with nonlinear dynamical systems in humanoid robots.Proceedings 2002 IEEE International Conference on Robotics and Automation(Cat.No.02CH37292),2002,2:1398–1403.
[20]A.J.Ijspeert,J.Nakanishi,and S.Schaal.Learning control policies for movement imitation and movement recognition[J].NIPS,2001.
[21]H.Hoffmann,P.Pastor,D.-H.Park,and S.Schaal.Biologically-inspired dynamical systems for movement generation:automatic real-time goal adaptation and obstacle avoidance[J].IEEE International Conference on Robotics and Automation,2009:2587–2592.
[22]K.Mülling,J.Kober,O.Kroemer,and J.Peters.Learning to select and generalize striking movements in robot table tennis[J].The International Journal of Robotics Research,2013,32(3):263–279.
[23]S.Calinon,F.Guenter,and A.Billard.On learning,representing,and generalizing a task in a humanoid robot[J].IEEE Transactions on Systems,Man,and Cybernetics,Part B(Cybernetics),2007,37(2):286–298.
[24]S.Calinon and A.Billard.Incremental learning of gestures by imitation in a humanoid robot[J].Proceedings of the ACM/IEEE international conference on Human-robot interaction,2007:255–262.
[25]S.Calinon,F.D'halluin,E.L.Sauser,D.G.Caldwell,and A.G.Billard[J].Learning and reproduction of gestures by imitation.IEEE Robotics&Automation Magazine,2010,17(2):44–54.
[26]S.Calinon and A.Billard.A probabilistic programming by demonstration framework handling constraints in joint space and task space. IEEE/RSJ International Conference on Intelligent Robots and Systems,2008:367–372.
[27]T.Osa,A.M.G.Esfahani,R.Stolkin,R.Lioutikov,J.Peters,and G.Neumann.Guiding trajectory optimization by demonstrated distributions[J].IEEE Robotics and Automation Letters,2017,2(2):819–826.
[28]A.Y.Ng,S.J.Russell,et al.Algorithms for inverse reinforcement learning[J].Icml,2000,1(2).
[29]P.Abbeel and A.Y.Ng.Apprenticeship learning via inverse reinforcement learning[J].Proceedings of the twenty-first international conference on Machine learning,2004,1.
[30]U.Syed and R.E.Schapire.Agame-the oretic approach to apprenticeship learning[J].Advances in neural information processing systems,2008:1449–1456.
[31]U.Syed,M.Bowling,and R.E.Schapire.Apprenticeship learning using linear programming[J].Proceedings of the 25th international conference on Machine learning,2008:1032–1039.
[32]N.D.Ratliff,J.A.Bagnell,and M.A.Zinkevich.Maximum margin planning.Proceedings of the 23rd international conference on Machine learning,2006:729–736.
[33]D.Ramachandran and E.Amir.Bayesian inverse reinforcement learning[J].IJCAI,2007,7:2586–2591.
[34]B.D.Ziebart,A.L.Maas,J.A.Bagnell,and A.K.Dey.Maximum entropy inverse reinforcement learning[J].Aaai,2008,8:1433–1438.
[35]A.Boularias,J.Kober,and J.Peters.Relative entropy inversere inforcement learning[J].Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics,2011:182–189.
[36]M.Kalakrishnan,P.Pastor,L.Righetti,and S.Schaal.Learning objective functions for manipulation[J].IEEE International Conference on Robotics and Automation,2013:1331–1336.
[37]S.Levine,Z.Popovic,and V.Koltun.Nonlinear inverse reinforcement learning with gaussian processes[J].Advances in Neural Information Processing Systems,2011:19–27.
[38]M.Wulfmeier,P.Ondruska,and I.Posner.Deep inverse reinforcement learning[Z].CoRR,abs/1507.04888,2015.
[39]M.Babes,V.Marivate,K.Subramanian,and M.L.Littman.Apprenticeship learning about multiple intentions[J].Proceedings of the 28th International Conference on Machine Learning(ICML-11),2011:897–904.
[40]J.ChoiandK.-E.Kim.Nonparametric bayesian inverse reinforcement learning for multiple reward functions[J].Advancesin Neural Information Processing Systems,2012:305–313.
[41]Q.P.Nguyen,B.K.H.Low,and P.Jaillet.Inverse reinforcement learning with locally consistent reward functions[J].Advances in neural information processing systems,2015:1747–1755.
[42]B.Michini,T.J.Walsh,A.-A.Agha-Mohammadi,and J.P.How.Bayesian nonparametric reward learning from demonstration[J].IEEE Transactions on Robotics,2015,31(2):369–386.
[43]P.Ranchod,B.Rosman,and G. Konidaris. Nonparametric bayesian reward segmentation for skill discovery using inverse reinforcement learning[J].IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS),2015:471–477.
[44]L.Rozo,P.Jiménez,andC.Torras.A robot learning from demonstration framework to perform force-based manipulation tasks[J].Intelligent service robotics,2013,6(1):33–51.
[45]A.Montebelli,F.Steinmetz,and V.Kyrki.On handing down our tools to robots:Single-phase kinesthetic teaching for dynamic in-contact tasks[J].IEEE International Conference on Robotics and Automation(ICRA),2015:5628–5634.
[46]P.Kormushev,S. Calinon,and D.G.Caldwell.Imitation learning of positional and force skills demonstrated via kinesthetic teaching and haptic input[J].Advanced Robotics,2011,25(5):581–603.
[47]K.Kronander and A.Billard.Learning compliant manipulation through kinesthetic and tactile human-robot interaction[J].IEEE transactions on haptics,2013,7(3):367–380.
[48]Y.Artzi,M.Forbes,K.Lee,and M.Cakmak.Programming by demonstration with situated semantic parsing[J].AAAIFall Symposium Series,2014.
[49]M.Cakmak and L.Takayama.Teaching people how to teach robots:The effect of instructional materialsand dialog design[J].Proceedings of the 2014 ACM/IEEE international conference on Human-robot interaction,2014:431–438.
[50]E.E.Aksoy,A.Abramov,F.W.rgotter,and B.Dellen.Categorizing object-action relation sfrom semantic scene graphs[J].IEEE International Conference on Robotics and Automation,2010:398–405.
[51]E.E.Aksoy,A.Abramov,J.Dorr,K.Ning,B.Dellen,and F.Worgotter.Learning the semantics of object–action relations by observation[J].The International Journal of Robotics Research,2011,30(10):1229–1249.
[52]K.Zampogiannis,Y.Yang,C.Fermüller,and Y.Aloimonos.Learning the spatial semantics of manipulation actions through preposition grounding[J].IEEE International Conference on Robotics and Automation(ICRA),2015:1389–1396.
[53]R.Cubek,W.Ertel,andG.Palm.High-level learning from demonstration with conceptual spaces and subspace clustering[J].IEEE International Conference on Robotics and Automation(ICRA),2015:2592–2597.
[54]S.Mitra and T.Acharya.Gesture recognition:Asurvey[J].IEEE Transactions on Systems Man and Cybernetics,2007,37(3):311–324.
[55]A.Chalechale,F.Safaei,G.Naghdy,and P.Premaratne.Hand gesture selection and recognition for visual-based human-machine interface[J].IEEE International Conference on Electro Information Technology,2005,6.
[56]K.Alahari and C.Jawahar.Discriminative actions for recognising events[J].Computer Vision,Graphics and Image Processing,2006:552–563.
[57]Y.Yang,C.Fermuller,Y.Li,and Y.Aloimonos.Grasp type revisited:A modern perspective on a classical feature for vision[J].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:400–408.
[58]J.Yang,Y.Li,andK.Wang.Invariant trajectory indexing for real time 3d motion recognition[J].IEEE/RSJ International Conference on Intelligent Robots and Systems,2011:3440–3445.
[59]Z.Ren,J.Meng,J.Yuan,and Z.Zhang.Robust hand gesture recognition with kinect sensor[J].Proceedings of the19th ACM International Conference on Multimedia,2011:759–760.
[60]H.Kjellstr.m,J.Romero,and D.Kragi.Visual object-action recognition:Inferring object affordances from human demonstration[J].Computer Vision and Image Understanding,2011,115(1):81–90.
[61]A.Pieropan,C.H.Ek,and H.Kjellstr.m.Functional object descriptors for human activity modeling[J].IEEE International Conference on Robotics and Automation,2013:1282–1289.
[62]J.R.Chen.Constructing task-level assembly strategies in robot programming by demonstration[J].The International Journal of Robotics Research,2005,24(12):1073–1085.
[63]M.Pardowitz,S.Knoop,R.Dillmann,and R.D.Zollner.Incremental learning of tasks from user demonstrations,past experiences,and vocal comments[J].IEEE Transactions on Systems,Man,and Cybernetics,2007,37(2):322–332.
[64]S.Ekvall and D.Kragic.Robot learning from demonstration:a task-level planning approach[J].International Journal of Advanced Robotic Systems,2008,5(3):33.
[65]K.Lee,Y.Su,T.-K.Kim,and Y.Demiris.A syntactic approach to robot imitation learning using probabilistic activity grammars[J].Robotics and Autonomous Systems,2013,61(12):1323–1334.
[66]W.Liu,D.Anguelov,D.Erhan,C.Szegedy,S.Reed,C.-Y.Fu,and A.C.Berg.Ssd:Single shot multibox detector[J].European Conference on Computer Vision,2016:21–37.
[67]B.Drost,M.Ulrich,N.Navab,and S.Ilic.Modelglobally,match locally:Efficient and robust 3d object recognition[J].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2010:998–1005.
[68]Y.Wang,Y.Jiao,R.Xiong,H.Yu,J.Zhang,and Y.Liu.Masd:A multimodal assembly skill decoding system for robot programming by demonstration[J].IEEE Transactions on Automation Science and Engineering,2018,15(4):1722–1734.
[69]Y.Wang,J.Cai,Y.Wang,Y.Hu,R.Xiong,Y.Liu,J.Zhang,and L.Qi.Probabilistic graph based spatial assembly relation inference for programming of assembly task by demonstration[J].IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS),2015:4402–4407.
作者簡介:
周忠祥(1995-),男,山東菏澤人,現就讀于浙江大學控制理論與控制工程專業,研究方向為機器人演示編程以及裝配序列生成。
胡晉(1995-,)男,江西南昌人,博士,現就讀于浙江大學,研究方向為機器人運動規劃以及機器人學習系統。
王越(1988-),男,浙江寧波人,副教授,碩士生導師,博士,現就職于浙江大學控制科學與工程學院,研究方向為長期自動化機器人系統、機器人感知。
熊蓉(1972-),女,江蘇太倉人,教授,博士生導師,博士,現就職于浙江大學控制科學與工程學院,研究方向為機器人智能感知與控制。
摘自《自動化博覽》2020年6月刊