清華大學趙明國:AI芯片 +機器人,突破算法瓶頸
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請至雷鋒網(wǎng)官網(wǎng)申請授權(quán)。
8 月 7 日,2020全球人工智能和機器人峰會(CCF-GAIR 2020)在深圳前海華僑城JW萬豪酒店啟幕。大會由中國計算機學會(CCF)主辦,香港中文大學(深圳)、雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))聯(lián)合承辦,鵬城實驗室、深圳市人工智能與機器人研究院協(xié)辦。
從 2016 年的學產(chǎn)結(jié)合,2017 年的產(chǎn)業(yè)落地,2018 年的垂直細分,2019 年的中國人工智能 40 周年,峰會一直致力于打造國內(nèi)人工智能和機器人領(lǐng)域規(guī)模最大、規(guī)格最高、跨界最廣的學術(shù)、工業(yè)和投資平臺。
根據(jù)大會安排,8月8日在『機器人前沿專場』上,清華大學研究員,優(yōu)必選人形機器人首席科學家趙明國教授做了題為《基于計算的智能機器人控制》主題演講。
趙明國教授表示,在傳統(tǒng)控制系統(tǒng)中,算法能力常常受到控制器的制約,智能機器人要想實現(xiàn)多模態(tài)非常不便捷,要么難實現(xiàn),要么功耗大、體積大,如果將AI芯片融入機器人中,提供算法和算力支持則可以有效地解決機器人運動和感知的問題。
演講中,趙明國教授介紹了其最新機器人案例——無人駕駛自行車。這款機器人能夠在復雜的現(xiàn)實環(huán)境中,應對變速,不同粗糙度、不同材質(zhì)的路面等干擾因素的影響,實現(xiàn)完全地自主行進。在他看來,無人駕駛自行車的實現(xiàn)過程需要滿足三種基本功能:
-
運動控制:通過嵌入式系統(tǒng)運行控制算法來實現(xiàn)。
-
定位與導航:通過高主頻的系統(tǒng)做迭代運算來實現(xiàn)。
-
交互與感知:利用GPU的并行計算做識別或算法推理來實現(xiàn)。
其中,對應的三種算法需求可以全部交由芯片來完成。趙明國教授稱,他們在無人駕駛自行車中內(nèi)置了“天機芯片”,實現(xiàn)了駕駛路徑識別、障礙物識別、語音導航、運動控制等多種功能。這款芯片是去年清華大學施路平教授團隊重磅發(fā)布的一款類腦芯片。它可以同時實現(xiàn)三種不同算法,而且是動態(tài)的,可定義,可重新編程。
基于天機芯片完成無人駕駛自行車的演示驗證,趙明國教授針對未來智能機器人研究方向,提出了兩條新的路徑:
芯片+機器人:用機器人做芯片及AI算法的研究平臺。
機器人+芯片:用芯片做機器人控制及智能算法的實現(xiàn)平臺。
在他看來,未來智能機器人必將與人工智能技術(shù)深度融合,AI芯片會在機器人控制領(lǐng)域激發(fā)出更多潛能。
趙明國教授表示,無人駕駛車只是完成了地面行進的初級任務,接下來還會進一步探索自行車如何實現(xiàn)騰空、落地等高難度特技。在他看來,
只有把控制問題推向極致,探索技術(shù)的邊界,才能推動整個技術(shù)的進步。我們的愿景就是讓機器人能夠達到,甚至超越人類操作自行車的水平。
此外,趙明國教授還分享了雙足機器人的研究案例。他強調(diào),無論是足式機器人還是輪式機器人,它們都是用于測試算法的工具或者載體,其最終成品并不會用于商業(yè)化。
會后,在接受雷鋒網(wǎng)編輯采訪時,趙明國教授也表示,人形機器人整體還處于學術(shù)研究的階段,距離商業(yè)化還有一段路程。從行業(yè)發(fā)展來看,因研發(fā)投入高,技術(shù)路線長,很少有企業(yè)專注人形機器人的研究。在國家政策支持下,高校團隊和部分企業(yè)的研發(fā)團隊的工作比較多,近些年也不斷有突破性研究成果發(fā)表。
另外,趙明國教授透露,目前正在開拓一些新的研究,預計明年會有相應的成果發(fā)表。
以下是趙明國教授的演講全文,雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))編輯在不改變原意的基礎(chǔ)上進行了編輯和整理:
大家上午好!今天我和大家分享關(guān)于我們做機器人遇到的問題和思考。我的題目是“基于計算的智能機器人控制”。在機器人控制過程中,我們需要用到控制器來實現(xiàn)各種算法,但這里存在一個現(xiàn)實問題,即控制器的能力決定算法的能力。很長一段時間內(nèi)我們沒有辦法突破控制器的限制,算法只能停留在比較初級或者中級階段,難以到達高級。于是我們換了個思路,讓算法來推動控制器的發(fā)展。
在這里我們做了兩個實驗案例,無人駕駛自行車和雙足機器人。
需要說明的是,這兩個機器人一個是輪式,一個是足式。我做輪式機器人不是為了實用,也不是為了商業(yè)化。無人駕駛自行車是我用來檢測算法或者解決某些問題的實驗工具。同樣,雙足機器人也是為了做研究性質(zhì)的實驗。他們的實用性有待于后續(xù)的商業(yè)開發(fā)。
“天機芯”驅(qū)動的無人自行車
首先我們講什么叫無人車?沒有人操控,可以自主行進的車都叫無人車。機器人本身會涉及到大量動力學原理。盡管自行車發(fā)明將近200年,但是力學機理始終沒有研究透,直到2016年一群學者在Nature雜志上發(fā)表的一篇文章,才把復雜的動力學系統(tǒng)解釋的比較透徹。我們做機器人控制也是要充分利用自行車的動力學原理來做。
人對自行車的控制能力很強,比如大家在校園里或者沒有障礙的路面可以松手騎自行車。那么如何讓自行車保持平衡,并自主行進呢?其實這里面涉及很多力學原理,總體來講有以下幾方面的影響因素。
-
如果自行車在圓弧軌道上行駛就會產(chǎn)生離心力,這個離心力會幫助它保持平衡。
-
自行車特殊的前叉結(jié)構(gòu)——前叉角度和前輪拖曳距,這兩個物理參數(shù)的變化會自動讓車把自動扶正并保持平衡中起到重要作用。
-
整個車體質(zhì)量的均衡分布也是讓保持平衡的原因之一。
-
人在騎車時,上身運動會產(chǎn)生反作用力讓自行車保持平衡。
-
車輪的陀螺效應,陀螺力矩會幫助車保持平衡。
-
加裝反作用輪(航天器上經(jīng)常用),或者加力矩陀螺會產(chǎn)生平衡作用。
上述的前兩項是我們的研究方向,中間三項需要加裝外部裝置,與獨立自行車沒有關(guān)系,最后一項是與研究原理不相關(guān)。所以我們只選擇了最前面兩項。
我們利用前兩項做控制的時候遇到了一些難點,比如低速、變速行駛影響離心力,風力干擾,大坡度,載荷變化,車輪與不同地面的相互作用等。
以下是一個相對簡單的自行車動力學模型,其中的車身、車把和行駛速度可以用三個變量來描述,描述完這三個變量以后我們可以得到一個動力學方程,這個方程具有很強的非線性,而且不同狀態(tài)下的角度和車速是耦合的,它對參數(shù)也很敏感。
另外,我們可以看到方程中很多參數(shù)都與速度相關(guān)。只要速度變化,動力學方程就會改變,這對我們來說是一個有意思的挑戰(zhàn),如果能夠解決速度的影響,我們的控制算法就能向前更近一步。
單一速度下的車把轉(zhuǎn)向控制依靠普通的控制手段就可以解決,我覺得大二、大三的學生可以嘗試做固定速度的自行車實驗。我們要做的是如何解決變速下的車把轉(zhuǎn)向平衡控制。
以前我們嘗試過采用速度估計+分段控制的方法實現(xiàn)變速控制。當時我們用了1個多⽉的時間⼈為調(diào)整了20段左右的參數(shù),隨著速度變化去切換,就可以⽐較好地解決車的穩(wěn)定性問題;再⽤這些數(shù)據(jù)做初始參數(shù)去做強化學習,效果還會更好⼀點,可以適應地⾯材質(zhì)。遺憾的是,在零初始知識的情況下的學習沒有成功,雖然⽤Segway平衡車在零知識的情況下的強化學習我們做成了正負10 度范圍內(nèi)的平衡。因為基本學到的是線性部分的知識,所以就沒有⽤到⾃⾏車上。因此,我們得出結(jié)論,“暴⼒”的強化學習可能不適合這個問題,還需要進一步探索。
我們的無人駕駛自行車是在普通自行車后輪加驅(qū)動器,在前車把加轉(zhuǎn)向,加剎車、控制器和相應的各種傳感器、電池,這樣自行車已經(jīng)能夠?qū)崿F(xiàn)定速駕駛。其實任何控制器通過反饋控制本身就具有一定的魯棒性,所以它在基本路面行走是沒有問題的。只要把各種速度下的參數(shù)都對應好,實現(xiàn)平滑切換就可以做到比較好的魯棒性。
另外,我們也實現(xiàn)了變速下的自動導航行走,這是我們在清華校園內(nèi)拍攝的短片,視頻中的自行車可以從低速到高速,通過不同粗糙程度、不同材質(zhì)的路面,我們在其中加入了傳感器進行路面識別,它也可以按照比較簡單的路徑進行導航。
無人自行車能夠達到這樣的效果,我們做了幾件事。除了實現(xiàn)機器人控制外,還加入了感知模塊,所以這是我們的動力學模型。
從圖中的兩個紅色圈來看,有些項跟陀螺效應相關(guān),有些項與離心力相關(guān),有些項和結(jié)構(gòu)相關(guān),最重要的第一項是和重力相關(guān)。這些項都會隨著速度不斷變化。
傳統(tǒng)方法用NI控制器或者任何工業(yè)控制器,再集成大量傳感器來做,可以實現(xiàn)這樣的效果。當然這里面也有失敗的過程,我們經(jīng)常會摔倒再重新調(diào)整參數(shù)再做。不過,這是相當傳統(tǒng)和復雜的機器人控制方法。
后來我們就沒有這樣做了。傳統(tǒng)任務里面做運動控制需要嵌入式系統(tǒng),因為嵌入式系統(tǒng)要實現(xiàn)控制算法。同時做定位和導航時,我們需要高主頻的系統(tǒng)來做迭代運算,比如SLAM或其他(SLAM也可以在GPU上做)。交互和感知往往需要用GPU做一些識別或者推理算法??傊m合并行計算、高頻計算和實時性要求,這三種計算在智能機器人里面是同時需要的。尤其我們在參加RoboCup比賽時做的人形機器人同時需要這幾種計算,最簡單的辦法是用三臺計算機,這三臺需要具備不同算力,然后用網(wǎng)線把它們接起來,用操作系統(tǒng)維護數(shù)據(jù)溝通。
這次我們并沒有采用這樣的方法。去年清華大學施路平教授團隊發(fā)布了一款類腦芯片“天機芯”,在一個芯片上就可以實現(xiàn)三類計算,而且是動態(tài)的,可以定義,可以重新編程。這是兩個學科或者多個學科進行交叉的結(jié)果,我們就和做芯片的老師進行了合作,我們用具備這些功能的芯片完成三個任務來測試,如果三個任務都可以實現(xiàn),就說明芯片具備這三種計算功能。
這對于傳統(tǒng)機器人控制硬件來說是很難實現(xiàn)的,如果能夠?qū)崿F(xiàn)也必然體積大,功耗大。那么我們就希望能夠利用混合架構(gòu)的芯片來實現(xiàn)這種功能。于是,我們把駕駛路徑的識別、障礙物的識別、語音導航、運動控制的功能全部放到一款芯片中(當然不是一個芯片,而是芯片組成陣列的主板)。
如上面的動圖演示,芯片實現(xiàn)了所有的計算功能。我們這項工作成果去年8月1日發(fā)表在了Nature雜志上,是我們國家在人工智能領(lǐng)域研究第一篇發(fā)表在Nature上的文章。
受這項工作的啟發(fā),利用天機芯片完成無人駕駛自行車的演示驗證,為自動機器人的研發(fā)提供了一個新思路,可以有兩條途徑:
-
芯片+機器人:用機器人做芯片或者AI算法研究平臺,以此來證明算法可行性。算法在推進的同時,以此反饋到機器人上,最終推動高算力或者多性能芯片的實現(xiàn)。
-
機器人+芯片:利用芯片破解機器人算力不足的問題。
這套新思路最早是2016年,張鈸老師在Science發(fā)表的一篇文章中提到的,其目的是希望人工智能技術(shù)和機器人能夠相互結(jié)合,相互促進。
目前這項研究成果得到了國際著名的雜志和專業(yè)人士的認可。另外,值得說明的是,Nature雜志的編輯告訴我們,通常一篇在Nature上發(fā)文章的報道量是100,而我們這篇文章的報道量達到了1400,是目前為止最好的。
以算力為支撐的技術(shù)挑戰(zhàn)
到現(xiàn)在為止,對機器人控制的需求,對算力的需求還遠沒有結(jié)束,我們經(jīng)常在Youtobe視頻中看到一些山地越野挑戰(zhàn)賽,這些視頻足以證明人類對車的控制能力有多強。
我們的愿景就是讓機器人能夠達到,甚至超越人類操作自行車的水平。因為這樣能夠把控制問題推到極限,從而發(fā)現(xiàn)技術(shù)的邊界在哪里,以此來推動整個技術(shù)的進步。長期來看,未來機器人控制可以劃分為三個發(fā)展階段:
第一階段:自行車能夠在低速、變速、粗糙/障礙路面正常的行進。
第二階段:自行車能夠自主完成騰空、落地等特技任務。
第三階段:在落地應用中,融入控制和感知系統(tǒng)的自行車,可以像極限山地運動員一樣在復雜的環(huán)境中可以自如的行進。
目前初級階段的任務我們已經(jīng)完成,中期任務和長期任務我們還沒有明確方案,不過可以肯定的是這些任務實現(xiàn)必須要有強大的計算作為支撐,如果沒有計算,其他局部做得再好也不會達成目標。
雙足機器人的被動行走理論
早在1990年就有人提出了機器人被動行走理論。當時機器人是純機械結(jié)構(gòu),只要給它初始條件就可以產(chǎn)生穩(wěn)定的行走。到了2005年,康奈爾大學研究團隊基于被動行走理論,研發(fā)出了與人類等效的行走機器人。當時這項研究成果發(fā)表在Science雜志上引起了不小的轟動,之后也陸續(xù)有不少關(guān)于被動理論的擴展研究發(fā)表。不過,除了哈佛研發(fā)的機器人軟體外骨骼以外,幾乎沒有研究成果能夠帶來實際的應用價值。
外骨骼研究一直是近幾年的熱門研究領(lǐng)域,在國內(nèi)就有幾十家公司在做。它對于有功能性障礙、特殊工種人士確實有一定使用價值??吹竭@些成果,我們對其中涉及的理論產(chǎn)生了好奇。
人的步態(tài)到底是什么?很多醫(yī)學科學家在分析了人的步態(tài)后發(fā)現(xiàn),所記錄的行走軌跡像一團亂麻,是周期性但不是重復的,起初以為是噪音或者步態(tài)不均勻?qū)е碌慕Y(jié)果,最后發(fā)現(xiàn)其實人走路是混沌的步態(tài)。在1998年,就有人發(fā)現(xiàn)當參數(shù)變化到特定值時,被動模型中就會表現(xiàn)出混沌特性,后來,這一點在實物中也被證實。
比如,我們利用被動理論做了一款足式機器人,從它的行走數(shù)據(jù)來看有明顯的混沌趨勢。那么問題來了,人走路是混沌的,為什么機器人走路是單周期控制的?
TED上有這樣一則視頻,一位帕金森患者上下樓梯必須扶著扶手,后來,它的孫女做了一個實驗,在平面的地上畫了多層臺階,結(jié)果患者可以在無任何扶手的情況下完成獨立行走。當然這和帕金森癥的機理有關(guān),但也說明其本身與動力學有關(guān),帕金森的本質(zhì)是神經(jīng)系統(tǒng)局部存在障礙、傳導不通的情況。這個案例說明,可以通過視覺上的刺激恢復神經(jīng)系統(tǒng)的正常功能,或許可以解決這一問題。
傳統(tǒng)的行走機器人都是按單周期步態(tài)在做控制,首要解決的問題是穩(wěn)定性,而人類步態(tài)可能是混沌的。我們能否從被動步行中找到一些人類步態(tài)的動力學解釋,并利用這些動力學來提高機器人或助行器性能的控制方法?如果按照混沌的特點去控制,可能會有完全不一樣的效果。在這里,我們做了一些動力學軌跡的案例分析。如下圖:
從SK出發(fā)繞一圈回到下次落地的狀態(tài),是周期性且重復的。從S0出發(fā),下次落地到S1、S2、S3以及S4,紅色點是最終去的地方,是穩(wěn)定的值,單周期步態(tài)是吻合的,這和我們的系統(tǒng)很像。如果是給系統(tǒng)這個參數(shù),系統(tǒng)會最終落到紅點,如果我給系統(tǒng)另外一個參數(shù),用一個紅色的參數(shù)欺騙它,結(jié)果是當它走到第二步或者某一步的時候就會經(jīng)過紅色附近。顯然對目標紅點來講,采用紅色的參數(shù)會更好,而不是采用本身黑色的參數(shù)(它有漸進收斂的過程)。
如果用假目標欺騙它,那么就要考慮用哪個目標欺騙它會更好?在這里需要做很多運算,首先我需要知道紅色軌跡、所有可能的黑色軌跡是什么,把他們都算出來,從中選出來最優(yōu)化軌跡,再把參數(shù)發(fā)送給系統(tǒng)。最后,系統(tǒng)等效成傳統(tǒng)的現(xiàn)代控制理論中的狀態(tài)方程的反饋控制問題。
這個方法來自于混沌控制里最經(jīng)典OGY方法,這里,我們提出了一種MPC的方法,發(fā)現(xiàn)通過大量計算的MPC遠好過傳統(tǒng)的OGY方法。而且如果機器人處于將跌到狀態(tài),也可以通過計算機找到適當?shù)能壽E來恢復運動,遠遠擴大了穩(wěn)定的范圍。
目前,我們還無法實現(xiàn)在線計算和預測,但我們實現(xiàn)了一個只有5組參數(shù)的實驗。即,我們提前算好了5組不同參數(shù)的步態(tài),每組參數(shù)對應一個穩(wěn)定的周期性步態(tài),也就是5組不同的速度(草地、斜坡、獅石子路等5種不同的路徑),通過計算來切換軌跡就可以達到穩(wěn)定性。這和我們原來的暴力增強穩(wěn)定性方法不一樣。我們的控制量不是控制系統(tǒng)的某個指標,而只控制參數(shù),如果指標變了,我改變參數(shù),而不是改變輸入量,參數(shù)的改變再變換到每個關(guān)節(jié)的電機上。這樣就可以做出另類的結(jié)果,跟傳統(tǒng)的控制不一樣,屬于參數(shù)激勵方法。
另外,我們還做了具有真正的兩條腿、兩個手臂的人行機器人,它同樣需要嚴格依賴計算的方法,目前還沒有得到最終結(jié)果,以后有機會給大家展示最終效果。
今天我的報告就到這里。謝謝大家!