技術(shù)的成熟日益讓機器人變得聰明,但仍然有很多看似簡單的事情讓機器人束手無策,比如運動中的障礙規(guī)避問題。近年來,機器學習的出現(xiàn)似乎讓機器人有了解決難題的好方法。在2018世界機器人大會上,德國卡爾斯魯厄理工學院教授Torsten Kroeger,根據(jù)長期在機器人領(lǐng)域研究的經(jīng)驗,以及對機器學習的認知,分析了基于強化學習和智能傳感器控制的工業(yè)機器人系統(tǒng),是如何在運動中進行實時運動規(guī)劃的。
如今,隨著科學技術(shù)的日益發(fā)展和成熟,機器人變得越來越聰明。但是,對于有些在人類看來是十分簡單、容易的事情,機器人卻很難甚至無法完成,因為到目前為止機器人還沒有那么聰明。機器學習的出現(xiàn)給了我們希望,它給了我們一個新的工具,可以讓機器人進行學習,盡可能完成復雜的任務(wù)。當然,這些也只能算是盡可能地向人類學習,距離真正的“智能”還有很長的距離。而對于機器人來說,如今,隨著科學技術(shù)的日益發(fā)展和成熟,機器人變得越來越聰明。但是,對于有些在人類看來是十分簡單、容易的事情,機器人卻很難甚至無法完成,因為到目前為止機器人還沒有那么聰明。機器學習的出現(xiàn)給了我們希望,它給了我們一個新的工具,可以讓機器人進行學習,盡可能完成復雜的任務(wù)。當然,這些也只能算是盡可能地向人類學習,距離真正的“智能”還有很長的距離。而對于機器人來說,想要實現(xiàn)這樣的目標,它們需要將認知和行動連接在一起。
為什么對于機器人來說,有些事情它們做不了呢?這主要是感知與行動之間的差異。在機器人的設(shè)計中,機器人首先要通過傳感器獲得感知的能力,像視覺感知、聽覺感知、觸覺感知等,然后把這些感知都納入到機器人系統(tǒng)中。人工智能在過去的三到五年中,在視覺感知和語音識別方面都取得了重大的突破性成果,如今,這些領(lǐng)域的數(shù)據(jù)非常豐富,在有些情況下,我們可以使用監(jiān)督學習進行圖像識別,甚至可以對一些視頻數(shù)據(jù)進行識別??梢哉f,現(xiàn)在神經(jīng)網(wǎng)絡(luò)在諸如語音識別、翻譯等方面已經(jīng)做得比人類還要好,比如Google Home、Apple的Siri都表現(xiàn)得非常不錯。在這些領(lǐng)域中,每隔一段時間都會取得新的研究進展,但仍然存在很多挑戰(zhàn),那就是機器人和真實世界的物理互動,尤其是在安全驅(qū)動、物理操作、機器人與人或者機器人與機器人交互時,我們該如何確保安全性,在這個方面我們并沒有足夠的數(shù)據(jù)。
眾所周知,1997年,IBM研發(fā)的“深藍”擊敗了當時的國際象棋冠軍卡斯帕羅夫,這在當時被認為是人工智能。但如今回頭看一看,思考一下人工智能的定義和現(xiàn)在所取得的進展,我們應(yīng)該考慮一下它到底意味著什么??梢哉f,那個時候的計算機系統(tǒng)可以下國際象棋,但沒有辦法面對面地和人類下國際象棋??赡苡行┤苏J為這不是什么問題,找一個人代替機器進行操作就可以。然而大家不知道的是,當制作的材料變了,用金屬、木頭或者玻璃做出的象棋,對于機器人而言就可能無法進行分辨。因此,有關(guān)機器人操控的問題到目前為止還存在很多挑戰(zhàn)。
機器人系統(tǒng)中的實時運動規(guī)劃
如今,很多研究學者致力于研究機器人的實時運動規(guī)劃,以便機器人可以避免和人發(fā)生對抗和沖撞,規(guī)避障礙。這就涉及一個確定性沖突避免算法(Deterministic Collision Avoidance),其實這個算法非常簡單,直接用于深度空間中,部署3D傳感器,以使得機器人在操作過程中可以躲開多重障礙。在這個過程中,還需要考慮到整個機器人的機身,以及它的空間和運動速度,利用障礙物運動進行預測,然后使用OTG框架,讓機器人識別對方動作的軌跡,實時地檢測這些動作,從而避開障礙。在機器人的運動中,考慮到速度矢量,機器人在不斷躲避人類動作的過程中也會受到一些限制,因此我們在不斷地進行研究,擴大這個算法的應(yīng)用范圍?,F(xiàn)在這個算法還可以考慮到一些其他的因素,從而讓機器人可以完全避免和人類之間的碰撞,甚至能夠?qū)崟r地、確定地做到這些事情。
在機器人的實時運動規(guī)劃中,我們還可以讓機器人在一定的空間內(nèi)完成動作移動路徑的檢測,這需要關(guān)注它的方向和速度,然后將機器人從一個狀態(tài)移動到另外一個狀態(tài)。在這個過程中需要考慮到位置、速度、加速度和自由度等因素,還需要具有力和路徑等傳感器,反應(yīng)速度大概是500毫秒左右,從而能夠讓它對某一動作之后需要轉(zhuǎn)向什么方向、轉(zhuǎn)到什么位置做出反應(yīng),然后自動控制它的運動。其實要想實現(xiàn)這樣的操作,所需要的算法很簡單,就是要根據(jù)現(xiàn)在目標的狀態(tài),通過計算考慮新的移動位置。所以整個過程中需要完成的就是從第一個位置到第二個位置所進行的移動,要把這個想法融入到現(xiàn)在的系統(tǒng)中其實是非常容易的。
幾年前,我們的一個學生使用有關(guān)機器人實時運動規(guī)劃的算法,設(shè)計了一個可以打架的機器人,其中,機器人應(yīng)用傳感器可以實現(xiàn)與人的互動,一個是攻擊的模式,一個是防守的模式。
實際上,在現(xiàn)實生活中,基于強化學習和智能傳感器控制的機器人實時運動規(guī)劃的應(yīng)用非常多,在一些打鉆行業(yè)中也有非常成功的應(yīng)用,基于傳感器,可以同時使用8個鉆頭進行打鉆的工作。此外,在太空望遠鏡的生產(chǎn)領(lǐng)域,以及一些制造行業(yè)中的工業(yè)機器人系統(tǒng)中、實驗室中都有所應(yīng)用。
機器人系統(tǒng)中的混合控制
接下來,我們來了解一下混合控制。混合控制意味著你有一系列的控制器,包括距離控制器、運動控制器等,根據(jù)任務(wù)的不同,需要對這些控制器進行配置,以便讓你的機器人發(fā)揮最大的實用價值。在機器人系統(tǒng)中,有傳感器、運動控制器、視覺控制器等,在機器人的路徑規(guī)劃中,我們需要從一堆材料中檢測出其中的一個,從而控制它的速度和力量,維持整個機器人的運動和狀態(tài)。
機器人系統(tǒng)的設(shè)計是一件非常復雜的工作,涉及到良好的運動規(guī)劃算法,比如位置、速度,還需要各種的控制器。在有些機器人的設(shè)計中,我們通常會尋找一種比較簡單的方式,對機器人系統(tǒng)中所涉及的混合控制進行概括,把它稱為適應(yīng)性的選擇矩陣有很多不同的控制器,包括位置控制、距離控制、力量控制和自由度控制。在一個機器人系統(tǒng)中,如果你的控制頻率是1赫茲的話,就可以確保它的穩(wěn)定,因為在系統(tǒng)中總是有一個備份的控制器。其實這是矩陣當中一個新的維度,如果一個控制器發(fā)生故障或者出了問題,一般來說是沒有備份的,但我們設(shè)置了一個備份的控制器,比如,如果視覺控制器不能發(fā)揮作用,看不見東西的話,就可以有另外一個備份的視覺控制器開始啟用。
一般來說,在機器人系統(tǒng)中出現(xiàn)的問題,可能需要具備很多專業(yè)知識才能夠得以解決,因為機器人編程是一件非常專業(yè)的事情,需要具備專家知識,且至少是博士水平的工程師才可以,成本很高。雖然有些機器人系統(tǒng)是非常強大的,但也存在一定的局限性,因為對公司和行業(yè)來說,對這樣的系統(tǒng)進行編程是非常昂貴的。因此,我們有了新的想法,那就是利用機器學習,尤其是強化學習。
如果對這一領(lǐng)域有所了解的話,大家應(yīng)該知道這一研究就是“學習型機器人”,我們和一系列人士進行合作,共同展開相關(guān)研究。這一研究的初衷是讓一個機器人自我學習如何操控物體。當時我們所做的工作非常簡單,要讓一個機器人學習抓取物體。為了做到這一點,機器人就要學會協(xié)調(diào)攝像頭和抓手。在一個機器人系統(tǒng)中,攝像頭是512×512像素,抓手具有兩根指頭,一開始攝像頭會輸入視覺圖像,然后確定抓取策略,預測抓取策略的成功率,在很短的時間內(nèi)進行計算,最后選擇那個最有可能成功的抓取策略。
為了實現(xiàn)這一目標,我們大概進行了兩個月的實驗,不是每一次都會成功,但從那些部分成功的實驗中,我們還是有很多收獲的。在這一過程中,我們一共做了8萬次的抓取,對14只機械臂的操作練習結(jié)果進行評估,其實規(guī)則很簡單,當機械臂合并的時候沒有東西就是不成功,有東西就是成功。此外,我們還有一個優(yōu)化的機制,當機器人想抓住一個物體的時候,卻會把這件物體放到旁邊,然后去抓取另外一件物體,這是因為它做了優(yōu)化,對成功率進行了預測,它通過神經(jīng)網(wǎng)絡(luò)發(fā)現(xiàn)這樣的移動會使它取得更大的成功。
實際上,針對不同的物體,它會有不同的抓取策略,比如面對透明物體和金屬物體時,它的抓取策略是不一樣的,而這些都是基于數(shù)據(jù)做出的最終決策。除此之外,我們還使用一些新的、從來沒有見過的物體,對機器人進行訓練,和之前使用過的類似物體相比,它的學習速度變得越來越快。
機器學習不是“魔法子彈”,而是一種工具
如果要從學術(shù)角度看待這一問題的話,有一點需要強調(diào)的是,對于這個系統(tǒng)而言,正常情況下是可以良好運行的,但如果改變其中一個元素的話,所有的一切都會出現(xiàn)問題。所以我們不要對機器學習和物理抓取過于興奮,機器學習并沒有捷徑可循,只能不斷地從數(shù)據(jù)當中學習。機器學習不是魔法,它意味著從數(shù)據(jù)當中進行學習,意味著數(shù)據(jù)和算法,更主要的是關(guān)于數(shù)據(jù)的,因為和視覺感知相比,沒有很多數(shù)據(jù)意味著可能只能做一些比較簡單的、參數(shù)比較少的方法設(shè)計。
機器學習算法必須要對一些典型性的數(shù)據(jù)進行訓練,但很多人可能會忽略這一點。在訓練過程中,我們應(yīng)該對數(shù)據(jù)進行轉(zhuǎn)化,從而使其變成典型的數(shù)據(jù)。可以說,在計算機領(lǐng)域,機器學習是一種革命性的成果進展,但它不是一個“魔法子彈”(magic bullet),只是一種工具。對于諸如物理抓取和物理操縱等許多現(xiàn)有的研究成果和方法,以及學科知識,我們也不要輕易忘記和拋棄,而要把這些知識融入到新的基于數(shù)據(jù)的方法中,充分發(fā)揮它的潛力。
其實,在機器學習領(lǐng)域,我們經(jīng)常使用的還有一種學習方法,就是遷移學習。我們需要把在物理世界中獲得的數(shù)據(jù)與在模擬世界中獲得的數(shù)據(jù)相結(jié)合,因為僅僅從模擬系統(tǒng)中獲得的數(shù)據(jù)并不能反映真正的物理世界。為了能夠?qū)崿F(xiàn)我們的工作研究目標,我們會做一些比較傳統(tǒng)的系統(tǒng)參數(shù),基于這些參數(shù)產(chǎn)生噪音模型,然后把這些噪音模型注入到模擬系統(tǒng)當中,這樣便可以反映物理世界,而這樣的模擬系統(tǒng)所得出的結(jié)果往往更加貼近事實,也會對我們的研究有更大的幫助。未來,相信遷移學習的使用會使我們的研究向前邁進一步。
最后,談及安全問題,大家都希望工業(yè)機器人和服務(wù)機器人能夠跳出它們所處的區(qū)隔,和人類一起生活。但從安全的角度來說,根據(jù)IEC61508國際標準,需要機器人的故障率非常低才可以,所以我們就要根據(jù)機器人在社會生活中的應(yīng)用確定故障率。我們都知道,在機器人系統(tǒng)中,機器學習涉及的是軟件,底層涉及的是硬件,中層是對安全性非常重要的軟件,最上層是一些不安全的重要軟件。為了安全性,我們可以選擇在中間層插入一種軟件,通過機器學習確保安全性。如果再往前推進一步,還可以考慮把經(jīng)過訓練的模型引入系統(tǒng)中,系統(tǒng)中存在一些安全軟件,可以在其運行的時候?qū)λM行監(jiān)控和監(jiān)測,并及時糾正問題,也就是讓這兩種軟件同時運行,從而極大程度上確保安全性。
與此同時,我們也看到在這一領(lǐng)域不斷有一些新的研究出現(xiàn),將對安全性來說不是最重要的軟件嵌入到對安全性來說最重要的軟件當中,從而使得這些對安全性來說不是最重要的軟件通過機器學習來學習那些安全軟件。相信在不久的未來會有更多的研究人員對這一領(lǐng)域進行研究探索,促進更安全、更有效、更實用系統(tǒng)的出現(xiàn)。
(本文根據(jù)“2018世界機器人大會”現(xiàn)場演講整理而成,未經(jīng)演講人審閱。)