天天看點

機器人操作綜述——A Review of Robot Learning for Manipulation: Challenges, Representations, and Algorithms

本文簡單記錄文章主要内容,詳細内容請看原論文

1 簡介

文章目的:

  1. 形成一個機器人操作問題的學習架構
  2. 展示代表性的方法

文章章節安排:

  1. 機器人操作領域的常用概念
  2. 機器人操作問題的學習架構介紹
  3. 學習物體和環境的狀态表示
  4. 學習環境轉換模型,描述機器人行為對環境的影響
  5. 學習policy,主要通過強化學習,作為方法的整體或一部分
  6. 通過運作條件和運作結果刻畫skill
  7. 學習程式和狀态抽象

2 學習操作的常用概念

2.1 操作過程為實體系統

操作需要遵循重力、品質、兩物體不能空間重疊等實體規則,這些規則使學習算法易于學習。

2.2 操作中的欠驅動、不完整限制和modes

被動運動的物體增加了運動的自由度,自由度和驅動器數量的差異導緻欠驅動系統

機器人與物體産生接觸和斷開接觸導緻運動mode的改變,mode轉換的條件即subgoal,與機器人需要改變或者保持state相對應。mode的微小改變對操作會産生顯著的影響,是以機器人需要時刻監視運作情況來防止不需要的mode轉換。

2.3 互動感覺和驗證

互動感覺:Interactive Perception,通過機器人與物體的互動确定物體的屬性,如通過拉門确定門是否上鎖。

相比于被動感覺,互動感覺有更高的精度,且感覺結果可以作為被動感覺的ground truth,即自監督學習。

可以與active learning結合,來主動選擇采用什麼action進行互動來提高學習性能。

與具身智能類似。

2.4 分層任務分解和技能複用

任務分層能加速學習。

機器人自主發現分層結構是一個主要課題。

2.5 物體為中心的泛化性

操作方法能處理同一個任務下物體的屬性變化,如形狀、重量、外觀。

一個有效的方法是能将一類物體的抽象表示一緻化,并能進行對應的調整,即使這些物體在像素和特征次元相差巨大。

2.6 發現新的概念和結構

在面對新環境和任務時,能利用以前的知識來擴充技能,即遷移學習。

3 公式化操作學習任務

将一個任務表示為一個馬爾科夫決策過程(MDP)。

作者希望将一個操作任務模組化為一個MDP集合,以此學習一個policy,能處理task family,而不是一個單一的任務。

reward:機器人相關的cost function(在不同任務中共享),加任務相關的reward

state:機器人狀态,加環境狀态;環境狀态包括通用環境狀态、任務相關的物體狀态。這種因式分解的模組化方式有助于提高面對物體的泛化性,因為面向獨立物體的policy和model可以在包含相似物體的新環境中複用。

狀态轉移:機器人隻能改變一部分物體和一部分state,為了捕獲操作任務的欠驅動特性,将任務模組化為分段連續動力系統,每一段稱為一個mode,當機器人進入 guard regions(機器人與物體産生或斷開接觸)時,mode切換。

action:higher-level actions 稱為skills。這些技能通過分層學習架構模組化,即options。每個option包含初始狀态、目标狀态、policy。

處理task family的關鍵是,将單一任務中的functions/skill遷移到task family。

context vector:可以使用state之外的資訊輔助遷移,如物體重量、尺寸等,但這種資訊在任務中不會變化,是以不屬于state,稱為context vector。與state類似,可以整體使用或分解使用。

根據上面對操作任務的模組化,操作的學習問題可以分為以下五個大類:

  • 學習狀态空間:每個物體的狀态特征和自由度。
  • 學習環境的轉換模型:機器人action對任務狀态的影響,以及産生的背景成本。
  • 學習motor skill:學習motor控制政策來直接到達goal,包括特定任務的policy、可解決task family的policy、作為motor policy一部分的skill。
  • 學習描述motor skill:學習

    可用于skill成功運作的環境的描述

    ,學習skill造成的環境狀态的變化模型
  • 學習分層結構:學習子產品化的motor skill,

    學習skill operation的模型來建構任務的更抽象表示

4 學習物體和環境表示(state、context)

兩塊内容:

  1. 如何定義和學習object-based state和context space
  2. 通過被動和互動感覺來發現和估計物體的屬性,選擇任務相關的。

4.1 物體表示

4.1.1 物體變量的類型

位姿、形狀(尺寸)、材料屬性(密度、摩擦系數等)、互動屬性(機器人-物體、物體-物體)

4.1.2 object representation 層級

物體可以從point-level、part-level、object-level三個層級表示,細節逐級降低,抽象逐級增加,且可用于不同類型的泛化。

幾何屬性表示point.part.object在哪,非幾何屬性表示這些元素的資訊。

每級的表示可以是物體内部固有的,也可以是語義或任務相關的;可以是單獨物體的,也可以是互動物體之間的。

point-level:point cloud, pixel, voxel。每個點可能有對應的其他屬性,如顔色、材料屬性;互動可以被模組化為接觸點;

機器人可以通過檢測關鍵點,或者通過非剛體配準或幾何變換來确定新物體的點與基準物體上點集的對應關系

part-level:每個part一般與特定類型的操作有關,如馬克杯可以被劃分為開口、容器、把手、底,分别用于倒水、裝水、抓、放置,每個part包含形狀、姿态、顔色、材料、類型、表面屬性等特征。part-level可用于物體之間的任務泛化,因為很多物體具有相似的part,如硬币和平口螺絲刀都可以擰螺絲,不同物體都有把手,可以遷移抓取技能。

object-level:

​ 獨立物體:姿态、重量、形狀、材料等;

​ 互動物體:相對姿态、力、限制(on, inside)等;

物體組:将其表示為一個整體,機器人為了避免與堆疊的物體或背景産生碰撞,将其表示為可變性物體或分段剛體。

4.2 被動和互動感覺

被動感覺:機器人不與場景進行互動,場景可以是靜态或動态的。

互動感覺:機器人通過與周邊環境進行互動,來獲得環境的更好的估計。如通過推物體來估計物體與其他物體的限制,通過提起物體來估計重量。互動感覺需要更多的時間和能量,互動感覺可用于監督學習,或為被動感覺提供監督信号。

4.3 學習物體及其屬性

4.3.1 發現物體

通常是

分割問題

,即

被動感覺

,但物體堆在一起時,會分不清哪些部分屬于一個物體,可以使用

互動感覺

視角選擇

來消除歧義。

4.3.2 發現自由度

隻有内部具有關節的物體才有多自由度,如旋轉關節、滑動關節等。

4.3.3 估計物體屬性

被動感覺

一般用來擷取物體位姿、形狀、材料屬性,

互動感覺

可以擷取更精确的這些屬性;

互動感覺

觸覺傳感器

用來擷取精确的材料和互動屬性;

探索行為

用來估計動力學屬性,如中心、容器内容。

4.4 特征學習和選擇

在一個操作任務中,隻有一部分的物體屬性是需要的。

無監督方法:降維、聚類等。

有監督方法:決策樹、神經網絡,神經網絡可以通過操作環境表示進行序列規劃和控制,通過融合多模态資料(視覺、觸覺),或融合額外的任務資訊完成操作任務。

最好能用類似于自然語言模型的方法來自動選擇任務相關的特征。

5 學習轉換模型

5.1 表示和學習轉換模型

通常是預測一個确定性函數或随機機率分布函數。

連續模型:state或action是連續的。回歸方法,如神經網絡、高斯過程、線性回歸。還可以采用仿真模型與資料驅動結合的方法。

除非采用預訓練模型,否則學習特征顯著增加訓練資料。

離散模型:state和action都是離散的。常用于high-level 任務,或state space被離散化的情況。常用方法為表格模型、有限狀态機。

混合模型:state同時包含連續和離散部分。離散部分通常用來捕獲高維任務資訊,連續部分用來捕獲低維任務資訊。機器人操作中可使用接觸的開始和斷開将混合動力學模型劃分為多個連續轉換過程。

5.2 轉換模型中的不确定性

不确定性的兩個來源:偶然不确定性,認知不确定性。

偶然不确定性:如,扔出物體,物體落地的确切位置是不确定的。

認知不确定性:由機器人對操作過程的參數未知導緻的。如将一個球放到水中,球是扶起還是沉下與密度有關,如果機器人不知道物體密度,則此分類任務的結果就不是确定的值。

5.3 通過自監督和探索學習轉換模型

通常采用

自監督

的方式學習轉換模型。

探索方法:随機采樣、主動采樣、内部激勵采樣。

5.4 遷移和複用轉換模型

遷移的前提是新任務與舊任務的state、action、context一緻,且訓練新舊任務的資料分布要有足夠的重疊。

covariate shift(協變量轉換):兩個任務的輸入不同

dataset shift(資料集轉換):兩個任務的輸入和輸出不同

6 學習skill policy

6.1 action space的類型

action類型:位置、速度、加速度、力矩、扭矩

action坐标系:世界坐标系、機器人坐标系、任務相關的物體坐标系

6.2 policy結構範圍

policy結構範圍:從

高泛化性

(樣本效率低)到

高限制性

(泛化性差,樣本效率高)

非參數化政策:最近鄰方法、高斯過程、黎曼運動政策、局部權重回歸。

通用型參數尺寸固定的政策:神經網絡、決策樹、SVM等。

受限的參數化政策:不介紹了。

goal-based 政策:不介紹了。包含goal-conditioned RL。

6.3 強化學習

model-based:優點是在某些領域裡model轉換模型比最優policy好學,task改變時可以在雲端重新規劃和學習,可以用于收集真實場景中難以收集的資料。難點是轉換模型難以學習,且不準确的模型會在學習過程中引入誤差。

model-free:優點是在動力學複雜的環境中,學習policy比轉換模型容易;缺點是如果沒有額外的經驗,難以适用于新的goal,通常需要大量的資料才能學到較好的泛化性。

value-based:優點是方差小、樣本效率高、收斂性好。缺點是對噪聲和不好的state特征敏感,難以擴充到高維state space(機器人操作空間正是高維的),無法處理連續型action,需要采樣。

policy-based:優點是對噪聲和不好的state特征魯棒,且天生能處理連續型action,能擴充到高維state空間。Actor-only方法的缺點是方差大,樣本效率低,且隻能學到局部最優(不基于梯度的policy方法能學到全局最優,但樣本效率更低)。Actor-critic方法彌補了actor-only方法的方差大,樣本效率低的缺點。

on-policy VS off-policy:off-policy樣本效率高,但當與函數近似一起使用時,在某些條件下會發散。

探索政策:一般的探索政策隻能在目前policy附近區域探索,緩解的方法有内部激勵,也可以探索與任務相關的空間,也可以通過模仿學習解決探索效率低的問題。

6.4 模仿學習

特點:繞過探索的時間,傳達使用者對如何完成任務的偏好,描述無法通過reward顯式表示的任務。

軌迹擷取方式:遙控、跟随、動覺教學、行為捕捉。

不直接從軌迹學習的方式:關鍵幀示範、虛拟現實示範、視訊示範。

行為克隆:監督學習。

reward推理(逆強化學習):先根據軌迹學習reward,再基于reward進行強化學習。優點是reward如果隻與環境有關而與agent無關,就可以從人類和機器人中傳輸,且因為reward是稀疏的,是以隻需要少量訓練資料就能學習,且reward容易編碼。缺點是不同的reward function可能導緻相同的最優policy,是以很多研究做确定性reward。

Learning from Observation:沒有确切的action和state,隻能原始像素資料等。

糾正互動:當機器人下一步行為的風險較高或導緻錯誤後,請求使用者提供矯正的示範軌迹。

6.5 技能遷移

直接技能複用:如采用以前學習的權重初始化新任務下的方法,再通過RL微調參數,但必須要求state space有重疊。

參數化技能:可以用于task family。

Meta learning:在學習階段就學習多種任務促進task family的遷移,而不是學完一個任務之後再遷移到其他任務。metalearning可以優化policy、reward function或其他部分,有多種形式。

域适應(domain adaptation):在high level的任務目标等不變,low level的視覺、視角、紋理、動力學等變化時進行遷移,如sim-to-real。

順序遷移:以步進網絡Progressive Neural Networks為代表的,逐任務學習,每學完一個,固定網絡權重,新增一部分網絡,并與先前的網絡橫向連接配接。

課程學習:逐漸增加任務難度,減少reward稀疏。

6.6 安全和性能保證

不記錄了。

7 用precondition和效果來描述skill

precondition:skill運作需要的環境狀态

postcondition:skill運作完後的環境狀态

在操作任務中,每個skill執行完後的postcondition必須滿足下一個skill的precondition。

7.1 pre- 和 post-condition作為。。。

precondition和postcondition一般使用

命題

謂語

形式抽象表達,如

命題

:bool類型的

AtTableB

表示導航後的結果;

謂語

:At(TableB)也可表示導航後的結果。

grounding:低維state和context,與

謂語

真值的映射關系。

分類器表示:将grounding模組化為二值分類器。

分布式表示:也可模組化為機率分布。

子產品化和遷移:不介紹了。

7.2 Learning Pre- and Postcondition Groundings

不介紹

7.3 skill監控與結果檢測

不介紹

7.4 謂語與技能合成

表示和合成skill參數:舉例,在抓取之前先采樣置信度高的抓取位姿即擷取precondition。其他内容不介紹。

Preconditions and Affordances

8 學習組合式的和分層式的任務結構

8.1 Motor skill 的形式

每個skill包含三要素:起始狀态、goal狀态、skill policy。

核心問題是如何确定需要的skill,兩種解決途徑:分割任務軌迹為獨立的skill,在學習task時直接将skill作為問題的一部分。

8.2 将示範軌迹分割為組合式skills

一般使用

示範軌迹

實作該操作。

基于skill相似性進行分割:通常基于隐馬爾可夫模型的變種方法來測量示範軌迹中的skill相似性。可通過對policy、value function、reward function模組化來計算相似性。也有方法僅依賴于視訊将多步任務分解為基元。

基于特定事件進行分割:可以基于傳感器事件,如力的突然變化、位置的變化等。也可以進行mode間的轉換,如基于接觸的連接配接和斷開進行grasp、lift、place任務。

8.3 在解決任務途中發現skills

成功的方法比分割示範軌迹少很多,因為該思路基礎上就更難,特别是無法使用skill相似性測量。

分層強化學習是一個成功方法。

8.4 學習決策抽象

即學習怎麼表示輸入資訊來切換不同的skills,學習該決策有兩個好處:提高多任務泛化能力,抽象表示的輸入可以由非專家來編輯、更新和解釋。目标文獻中有兩種方法來決策:

學習抽象的policy表示:即學習一個high-level policy。

學習抽象的state space:根據抽象的state和Action建構一個更簡單的離散MDP,在該MDP上學習任務模型。

9 結論

依然存在挑戰的方向:

  • 将學習過程整合進完整的控制系統
  • 邊學習邊使用,現場學習
  • 安全學習
  • 利用多模态資料,包括人類的提示
  • 更好的探索政策,可能是基于明确的假設或因果推理
  • 利用常識性實體知識
  • 多任務遷移
  • 提高算法學習的樣本複雜度,同時避免經驗性的調整參數

繼續閱讀