盤點|AI在機器人運動控制領域應用盤點

小高robot發表於2018-07-03

來源 | 億歐網

複雜機器人的運動控制,一直阻擋機器人產業發展的老大難問題,遲遲沒有得到很好的解決。即便是代表機器人最高水平的波士頓動力,其機器人離實用也還遠。近兩年發展迅猛的AI,儼然如萬金油般,被用在各種地方,自然也包括機器人控制領域,而且似乎取得了不錯的效果。前端時間,UCberkely的強化學習專家Pieter Abbeel創辦了Embodied Intelligence,業務更是直接涵蓋了VR、AI、機器人三大熱點。


為了搞清楚VR、AI等新技術如何在機器人控制領域應用,本文根據一些相關論文和公開資料,包括Pieter Abbeel的演講,對VR和AI在機器人控制方面的應用進行了簡單梳理,發現AI和VR等在機器人控制等方面還是有實在的應用,只不過離取得實質性突破,還有相當長的距離。


機器人控制的幾種型別

很多機器人的研究目標很多是模擬人的智慧,所以研究人的控制系統,對於機器人有很大的借鑑意義。人體的神經系統由大腦、小腦、腦幹、脊髓、神經元等共同構成,複雜而又完善。人體神經系統包括中樞神經系統和周圍神經系統。中樞神經系統由腦和脊髓組成,是人體神經系統的最主體部分。周圍神經系統是從腦和脊髓發出的分佈到全身各處的神經。無數的神經元存在於神經系統各處,構成神經網路。


中樞神經網路負責運動控制,主要分成三層:

大腦:居於最高層,負責運動的總體策劃,各種任務的下達。

小腦:居於中間層,負責運動的協調組織和實施。人體平衡由小腦控制。

腦幹和脊髓:屬於最低層,負責運動的執行,具體控制肌肉的骨骼的運動,由腦幹和脊髓完成。


三層對運動的調控作用不同,由高到低,低層接收高層的下行控制指令並具體實現。大腦可直接也可間接的通過腦幹控制脊髓運動神經。


如果把機器人與人進行類比,機械臂控制器就類似於人的脊髓,負責控制電機(肌肉)和機械機構(骨骼)的具體運動,多足機器人的運動控制器,就類似於人的小腦,負責控制平衡和協調。而機器人的作業系統層,則類似於人的大腦,感知和認知世界,並下達各種複雜的運動目標。


基於以上類比,參照目前的各類機器人的情況,機器人的運動控制大概可以分成4種任務:


脊髓控制——機械臂運動的基礎控制。工業機器人,各類機械臂,無人機的底層運動控制等面臨的主要是這類問題。

小腦控制——多足機器人的平衡和運動協調控制。這塊目前是機器人控制仍未突破的難點,目前做的最好的顯然是波士頓動力。

大腦控制——環境的感知。主要是掃地機器人、無人機等底層運動控制已經封裝好的機器人的導航和路徑規劃。需要通過環境感知,對自身和目標進行定位、導航和運動規劃。

大腦控制——環境的認知和互動,也就是機器人具體執行互動任務,如控制機械臂抓取物體,執行操作等。這是服務機器人需要突破的重要問題。


幾種具體控制的AI應用情況


1.脊髓控制類

脊髓控制的兩種典型的應用是機械臂路徑規劃和無人機的飛行控制。這類問題屬於傳統自動控制理論,以數學和動力學建模為基礎,發展了很多年,已經有了非常完備的理論和實踐基礎,也取得了很好的效果。雖然深度學習在最近很熱,理論上也可以用於這類控制。但目前在這類基礎控制領域,並沒有應用。主要原因可能有:


1)工業機器人高精度重複特定動作等,基於自動控制理論已經能從數學上很好的解決,且由於瞭解原理,屬於白盒系統。既然有可靠的白盒方案,沒必要換成黑盒的神經網路控制系統。

2)工業機器人等應用領域,對控制演算法穩定性要求很高。而作為黑盒方案的神經網路控制系統,資料上還無法證明其穩定性。神經網路控制器一旦發生問題,難以進行解釋和改進。

3)神經網路演算法基於大量資料訓練,而現有的運動控制中,比如飛控,拿到實際實驗資料的成本高,大量資料的獲取非常困難。

2.小腦控制類

小腦控制典型問題是類人型雙足和多足機器人的平衡和運動協調控制問題。這方面一直是基於傳統控制理論在進行研究,不過由於相比於機械臂或無人機,其運動的自由度高很多,難度很大。雙足類人機器人給人大多數的印象還是運動遲緩、僵硬、站不穩。波士頓動力的Altas、大狗等已經是在這方面最先進的,波士頓動力學公司並未公佈他們使用的技術,但谷歌工程師Eric Jang表示,根據從演講得來的資訊,BD的機器人控制策略使用基於模型的控制器,並不涉及神經網路相關演算法。

3.環境感知類

主要的場景是服務機器人的路徑規劃、無人機目標追蹤、工業機器人的視覺定位等,通過感知環境,給封裝好的運動控制系統下達目標運動指令。

目標識別

環境感知過程中的目標識別,如無人機目標的識別和追蹤等,有神經網路的幫助,可以識別的更準確,已經在大疆等無人機上應用。


定位導航和路徑規劃

目前機器人的定位導航,主要基於流行的vSLAM或鐳射雷達SLAM技術。主流的鐳射雷達方案大概可以分三步,中間部分環節可能涉及到一些深度學習,大部分內容並不涉及深度學習相關。


第一步:SLAM,構建場景地圖,用鐳射雷達構建場景的2D或3D點雲,或者重建出3D場景。


第二步:構建語義地圖,可能會對物體進行識別和分割,對場景中的物體進行標記。(有的可能略過這一步)


第三部:基於演算法進行路徑規劃,並驅動機器人的運動。


4.環境互動


典型應用場景:機械臂抓取目標物體等。與環境的互動,一直是傳統自動控制難以解決的問題。近年來,以強化學習為基礎,AI相關技術用在了這類問題上,取得了一定的研究進展,但是否是未來的主流方向,仍存在很大爭議。


1)強化學習

強化學習框架中,有一個包含神經網路的Agent負責決策。Agent以當前機器人感測器所採集到的環境為輸入,輸出控制機器人的行動命令action,機器人行動後,再觀察新的環境狀態和行動帶來的結果Reward,決定下一步新的行動action。Reward根據控制目標進行設定,並有正反向之分。例如,如果以自動駕駛為目標,正向的Reward的就是到達目的地,反向就是不能達到目的地,更不好的Reward就是出車禍。然後重複這個過程,目標是最大化Reward。

強化學習的控制過程,本來就是個正向反饋的控制過程,是AI用於機器人控制的基礎。以此為基礎,強化學習在機器人控制方面出現了一些研究成果。

2)環境中尋找目標

16年,李飛飛組放出了一篇論文,基於深度強化學習,在以目標影像為輸入的情況下,不建圖去找東西。大致思路是:根據機器看到的圖,決定怎麼走,然後再看圖,再決定新走的一步,直到找到東西。論文將目標影像作為輸入,訓練出來的神經網路具有通用性。



這種方式找東西更接近人的思維。訓練出的控制器並沒有記住物體的位置,更不知道房屋的結構。但它記住了在每一個位置,通向各個物體應該怎麼走。


3)機器人抓取

傳統的機器人學研究認為,需要非常清楚要抓取的物體的三維幾何形狀,分析受力位置和力的大小,再反向計算機器手如何一步步移動到這些位置。但這種方式抓取不規則形狀和柔性物體會很困難。例如毛巾,可能需要看成一系列剛體的連結,再進行動力學建模分析,但是計算量比較大。而小黃鴨那樣的橡膠,外部並不能看出彈性程度,難以計算出需要施加的正確的力。


Pieter Abbeel、DeepMind和OpenAI關於機器人控制的研究,都以此深度強化學習為基礎。基於強化學習進行機器人抓取,以機器視角看到的影像為輸入,以機器最終抓到物體為目標,不斷對機器進行訓練,從而在不建模和不做受力分析的情況下,實現對物體的抓取。Pieter Abbeel已經展示過機器人疊毛巾,開瓶蓋,裝玩具等複雜的動作。


不過基於強化學習也仍有很多問題,如效率低、推理過程長、任務難以描述、不能終身學習、不能最大限度從真實世界獲取資訊等。其中一些通過meta學習,one-shot學習,遷移學習,VR示教等方法的引入得到了改善,有些則還暫時難以解決。


5.Dexterity Network


鑑於深度強化學習的各種問題,Pieter Abbeel在UCBerkeley的同事Ken Goldberg,則採用了叫做Dexterity Network(Dex-Net)的研究思路。首先通過傳統機器人學中分析受力和建模的思路,建立一個包含大量資料的資料集,這個資料集裡的每一項資料包含一個物體的模型和這個物體在不同姿態下可以被穩定抓起來的施力方式,這些施力方式是通過物體模型計算出來的。有了資料之後,用這些資料訓練一個神經網路。然後給出一個新物體,通過神經網路判斷這個物體和資料集裡哪個物體最相似,然後根據最相似的物體的資料集裡包含的施力方式計算出這個新物體的最穩定施力方式。


Ken Goldberg的方案的一個重要弊端,是計算量過於龐大。整個演算法佔用了Google雲伺服器上的1500臺虛擬機器的計算量。此方法也讓“雲機器人”這個概念受到了關注。

目前Pieter Abbeel和Ken Goldberg的兩種方法還處於學術爭議階段,新的研究成果還在不斷出現,也還有很多問題沒有解決,尤其是穩定性和魯棒性是各方爭議的焦點。不同於語音識別音響出了錯,無非是鬧個笑話,機器人系統對穩定性和可靠性的要求非常高,系統一旦出錯,輕則毀物,重則造成人類的生命危險。Pieter Abbeel也承認目前還沒考慮魯棒性和穩定性問題,似乎整體還沒達到商用產品級。


總結

總體而言,以強化學習為代表,AI在機器人控制領域近兩年取得了一些進展,尤其是在過去研究方法難以突破的環境互動問題方面取得了進展。但基於神經網路的控制系統,在魯棒性等方面短期似乎難以得到解決,因此離實際應用還有很遠的距離。在多種研究方法的共同努力下,我們也期待機器人控制問題能夠早日有所突破。







相關文章