鐵山靠作為一種來自傳統武術的動作,主要是通過肩和胯來發力,在實際使用中往往可以爆發出驚人的力量……

要是機器狗也學會了鐵山靠,那畫面:

▍想學鐵山靠不容易
機器狗的鐵山靠有什么用?最近幾年出現了各種各樣的機器狗,但是它們與周圍的物體互動的能力還是不理想。在工地上或者工廠里,機器狗可能會經常需要移動各種大小、尺寸、重量不同的物體,沒有人事先知道要用多大的力氣、用什么方式移動這些物體,所以也沒有辦法事先給這些對象建模和編程。所以來自韓國先進科技研究所的團隊就想到利用機器狗全身的傳感器來收集高維度的感官數據,再利用這些數據來與物體互動。這個交互過程當然就用到了整個身體。
在與物體接觸時,機器狗不但要在運動中保持自身的平衡,還要推測物體的特征,這樣才能采取一系列動作把物體移動到目標位置。目前常用的方法是對機器狗、物體和環境三種之間的互動進行建模,而后基于這個模型來優化決策和控制。但這樣做有兩個缺點,一個是計算成本很高,另一個是這樣的模型依賴于對物體外部特征的精確估計。
如果不依賴建模,就要讓機器狗有學習能力,讓它能夠通過神經網絡的泛化能力來適應不同的環境,并基于神經網絡來做出預測,而不是基于模型去做復雜的優化,這也節省了計算成本。不過此前的機器學習方法都只針對單一種類的物體,比如球體、圓柱之類的,如果遇到不同形狀和種類的物體,那就難辦了。

▍像人類一樣自己摸索
針對這個問題,韓國團隊提出了分層控制策略,其中高級控制器基于機器人和物體的狀態輸出速度指令,而低級控制器輸出期望的關節位置,從而使關節扭矩跟蹤給定的指令。在遇到多種不同物體時,這個方法能夠使用深度潛在變量編碼模型,將從多次交互、本體感覺和動作歷史中獲得的信息嵌入到低維潛在向量中。這使得機器狗可以逐漸理解物體的物理屬性,就像人類一樣,先是依靠經驗來確定力的方向和大小,然后在交互過程中,加深自己對物體的理解,從而調整策略和力度。在模擬器中,他們使用立方體和圓柱形的物體來訓練機器狗,它在45次嘗試中都成功地把物體移動到目標位置。
而在實際檢驗中,分層策略可以讓一只27公斤重的機器狗用身體來移動平面上的物體,而它事先并不知道任何關于物體特征的信息。實驗中,團隊使用了5種不同特征的物體,包括質心會一直變化的物體——一個裝了19.2公斤水的桶。

▍訓練分層控制器
首先,他們通過強化學習來單獨訓練低級控制器。低級控制器從速度指令和本體感受信息中預測關節的目標位置。而后目標位置再被喂給阻抗控制器轉化成扭矩指令。這樣低級控制器就可以遵循特定的速度指令。

然后再把低級控制器固定住,只訓練高級控制器。高級策略根據當前觀測值ot、先前的動作at−1和編碼優先信息歷史批次的潛在向量xt,來輸出動作命令。它也是通過強化學習訓練的。在線自適應過程中,高級控制器的編碼器通過監督學習和潛在向量的正規化來運行。高級控制器以每5Hz的頻率生成機器狗本體速度,然后將此動作命令提供給低級控制器。低級控制器以每100Hz的頻率生成所需的關節位置,這些位置通過阻抗控制器轉換為扭矩。

▍高效的全身操控方法
這是一種高效且可擴展的全身操控方法,用于在平面上推動物體。該方法無需預先了解物體的物理屬性,讓機器人可以自由地接近并推動物體。該系統通過神經網絡進行預測,既不需要進行復雜的軌跡優化,也不需要進行精確的接觸推理,因此計算效率很高。
在模擬和現實世界的實驗中,這個方法都表現出了顯著的有效性和準確性。在模擬中,該方法在不同物體物理屬性的情況下,仍然能夠取得高成功率。而在現實世界的機器人實驗中,該系統甚至成功地操控了重量達到自身70%的物體。
最近,該研究以“Learning Whole-body Manipulation for Quadrupedal Robot”為題被發布在arXiv平臺上:

目前作者們正在研究利用外部傳感器數據來優化操控精度的可能性,并探索在存在障礙的情況下如何實現機器人的自主操控。