人們在日常生活中接觸到的大部分家具都是「關節物品」 (articulated objects),例如帶有拉出式導軌的抽屜、帶有垂直旋轉軸的門、帶有水平旋轉軸的烤箱,因為這些物體的主要零件都是由各種各樣的關節連接而成。
由於這些關節的存在,被連接的物體的零件的各個部分在運動學上受到關節的約束,因此這些部分只有一個自由度(1 DoF)。這些物品在我們的生活中無處不在,尤其在日常家居中經常看見,是我們日常生活的重要組成部分。作為人類的我們看到無論什麼樣的家具,我們都可以很快弄清楚如何操縱和控制它。好像我們知道這些物體的每個關節是如何移動的。
那麼機器人可以像人類一樣預測家具的移動方式嗎?這種預測能力很難獲得,如果機器人可以學習這種能力的話,將是對家用機器人是一個巨大的推動。
最近,CMU 機器人學院David Held 教授R-PAD 實驗室的兩名學生Ben Eisner 和Harry Zhang 在操縱複雜的關節物體方面取得了突破,並推出了基於3D神經網路的FlowBot 3D,一種有效表達和預測關節物體部分運動軌跡的演算法,例如日常家具。該演算法包含兩個部分。
第一個部分是感知部分(perception),這個部分使用3D 深度神經網路從被操縱家具物體的點雲資料(pointcloud data)中預測三維瞬時運動軌跡( 3D Articulated Flow)。
演算法的第二個部分是策略部分(policy),它使用預測得到的 3D Articulated Flow 來選擇機器人的下一個動作。兩者都在模擬器中完全學習,可以直接在現實世界中實現,無需重新訓練或調整。在 FlowBot 3D 演算法的幫助下,機器人可以像人類一樣隨意操縱日常家具等關節物體。
這個論文目前是世界機器人頂尖會議Robotics Science and Systems (RSS) 2022 的最佳論文候選(top 3%),並將在7 月於美國紐約展出,與其他7 篇優秀文章一同角逐最佳論文的榮譽。
FlowBot 3D 只依靠模擬器,在模擬資料中進行監督學習,從而學習日常家具等關節物體零件的瞬時運動軌跡(3D Articulated Flow)。 3D Articulated Flow 是一種 可視的點雲軌跡表示方法,可大幅簡化機器人下一步策略的複雜性從而提高泛化性和效率。機器人只要透過跟上這個瞬間軌跡,並在一個閉環中,重新預測這個軌跡,就能完成操縱關節物體的任務。
先前,學術界常規的操作家具等關節物件的方法,是透過被操作物件的幾何特性(例如連接零件的位置和方向)來推導出零件的運動方向,或透過模仿專家策略(通常來自人類)來學習特定物件的操作,從而完成關節物體操作的複雜動作。這些學術界的傳統方法都沒有很好的泛化性,而且利用資料的效率較低,訓練需要收集大量的人類演示資料。與這些不同的是,FlowBot 3D 是第一個純粹基於模擬器學習不需要人類提供任何演示數據,並且該演算法允許機器人透過學習每個零件的瞬時運動軌跡來計算最佳的物體操縱路徑,因此該演算法擁有很大的泛化性。正是此特性可以讓 FlowBot 3D 泛化到模擬器訓練期間不可見的對象,直接在現實世界中成功地操縱真實的日常家具物品。
下面幾張動圖示範了 FlowBot 3D 的操縱過程。左邊是操縱的視頻,右邊是所預測的點雲瞬時運動軌跡 3D Articulated Flow。 FlowBot 3D 演算法先讓機器人辨識物體上的哪個零件可以被操縱,然後預測該零件移動的方向。
開啟冰箱門:
#開動馬桶蓋:
開動抽屜:
#此論文的審查者說:整體來說,這篇論文是對機器人操控學的可觀貢獻。
那麼,FlowBot 3D 是如何學習這個技能的呢?
人類在見到一個新的家具物品的時候,比如一扇門,我們知道這個門是通過一個門軸來旋轉的,並且我們知道門軸的約束使這個門只能朝一個方向旋轉,於是我們便可以去跟隨我們腦裡想像的方向去開這個門。所以,想要機器人真正靈巧且有效的預測家具等關節物體的操縱方式和運動軌跡,一個有效的方法是讓機器人去理解這些零件的運動學約束(kinematic constraint),從而可以去預測這些物體的運動軌跡。
FlowBot 3D 的具體方法並不複雜,並且只依靠模擬器,無需繁雜的真實人類資料。另外,模擬器的另一個好處是在模擬器中,這些家用物體的3D 資料檔案(URDF) 中包含每個零件的運動學約束和約束的具體參數,所以每個零件的運動軌跡在模擬器中可以準確計算出來。
FlowBot 3D 的兩個模組。
在模擬器訓練中,機器人觀測到被操縱物體的三維點雲數據,作為機器人視覺模組的輸入數據。視覺模組(perception module)利用PointNet 來預測在外力作用下,輸入點雲中的每個點的瞬時(例如抽屜拉開1cm 之後,門向外開5 度)運動軌跡3D articulated flow,用三維座標向量差的形式表達出來。這個運動軌跡的實際數據可以透過正向運動學來準確計算。透過下一步三維向量座標減去目前的三維向量座標,可以得到被操縱物體部分的運動軌跡。因此,在訓練時,只需要最小化預測的 3D Articulated flow 的 L2 loss 來進行監督學習。
在這個圖裡,藍色的點是被觀測的點雲數據,紅色的箭頭代表預測出門面的運動軌跡3D Articulated Flow。
透過這種方式學習,FlowBot 3D 可以學習到在運動學約束下每個零件的運動方向以及該零件上每個點在受力相同的情況下運動的相對速度和相對方向(velocity)。常見的家用關節物品為抽動式(prismatic)和旋轉式(revolute)兩種。對於抽屜式零件,例如抽屜,在抽屜面上的每個點收到相同外力下的運動方向和速度是相同的。對於旋轉式零件,例如門,在門面上的每個點收到相同外力下的運動方向是相同的,但是速度卻是離旋轉軸越遠越大。研究者用機器人學中的物理定律(screw theory)證明了長度最長的 3D Articulated Flow 可以最大化物體的加速度。根據牛頓第二定律,這策略是最優解。
#基於理論基礎,在實際運算中,機器人需要做的,就是透過FlowBot 3D 的視覺模組預測出每個點的運動軌跡,在每點軌跡中,找到長度最長的3D articulated flow 方向所對應的點作為操縱點,並閉環預測這個操縱點的運動軌跡。假如被選中的操縱點無法被成功抓取(例如表面不符合機器手的抓取條件),那麼 FlowBot 3D 會選擇長度第二長並且可以符合抓取條件的點。
另外,由於PointNet 的特性,FlowBot 3D 預測每點的運動軌跡,並不依賴物體本身的幾何特性,它對機器人對物體可能的遮蔽有較強的穩健性.另外,由於此演算法是閉環的,機器人可以在下一步的預測中對自己這一步可能的錯誤進行修正。
FlowBot 3D 在真實世界中的表現FlowBot 3D 在真實世界中有能力克服泛化性的挑戰。 FlowBot 3D 的設計理念在於,只要其可以準確預測出被操縱物體的運動軌跡 3D articulated flow,那麼下一步就是跟隨這個軌跡來完成任務。
另外很重要的一點是,FlowBot 3D 利用單一訓練模型去操縱多個類別的物品,包括訓練中沒有見過的類別。而在真實世界中,機器人只需要使用這個純模擬器訓練所獲得的模型就可以操控多種真實物體。因此,在真實世界中,由於家用物品的運動學約束絕大多數與模擬器中無異,FlowBot 3D 可以直接泛化到真實世界中。
FlowBot3D 在真實世界實驗所用到的家用物品(包括垃圾桶,冰箱,馬桶蓋,盒子,保險箱等。
在模擬器中,機器人使用部分類別的家用物品進行訓練,包括訂書機,垃圾箱,抽屜,窗戶,冰箱等。在模擬器和真實世界的測試中,測試數據來自於訓練類別的新物件和訓練時並沒有見過的類別。
######### ################FlowBot 3D 在模擬器中的操縱任務。############比較而言,學術界中常見的基於模仿學習的方法需要人工指導才會學習新型物體的操控方式,使得這些機器人在現實世界中,尤其是家用機器人場景中落地不現實。另外,3D 點雲數據強於其他方法所使用的2D RGB 數據,因為點雲可以允許機器人去理解每個關節和關節之間的關係,從而能夠更高層的理解和預測零件的運動軌跡,極大增強泛化性。######
實驗結果顯示,FlowBot 3D 在操作多數物體(無論是訓練時見過或沒見過的類別)時都能將對「全開」 的距離達到10% 以下,成功嶺可以達到90% 以上。相較之下,其他基於模仿學習(DAgger) 或強化學習 (SAC) 的方法差了很遠,並且缺乏泛化性。
總之,FlowBot 3D 是一個潛力很大的工作。它可以在無需微調的前提下完成現實世界中高效部署。這項工作還表明,電腦視覺的進步可以改變機器人領域,尤其是這種可視的運動軌跡表達方式 3D articulated flow,它將可以被應用到多個任務中,來簡化機器人策略選擇和決策過程。有了這種可泛化的表達方式,模擬器學習的方法將有潛力去在直接部署到真實世界裡,這將大大降低未來家用機器人訓練和學習的成本。
FlowBot 3D 的下一步計畫目前,主題組正在嘗試將flow 這種理解預測方式應用到關節物體以外的物體上面,例如如何用flow預測6 自由度的物體軌跡。同時,作者在嘗試將 flow 作為一種通用視覺表達方式,從而應用到其他機器人學習任務中,例如強化學習,從而增加學習效率,穩健性,以及可泛化性。
David Held 副教授的主頁:https://davheld.github.io/Ben Eisner 的主頁:https://beisner.me/Harry Zhang 的主頁:https:// harryzhangog.github.io/
以上是CMU發表新型靈巧機器人演算法,精準學習日常家具的操縱方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!