當前位置:
首頁 > 科技 > 清華大學天機芯團隊趙明國:《基於自然動力學的機器人控制——無人駕駛自行車及被動行走》

清華大學天機芯團隊趙明國:《基於自然動力學的機器人控制——無人駕駛自行車及被動行走》

8月1日,清華大學依託精密儀器系的類腦計算研究中心施路平教授團隊在《自然》(Nature)雜誌上發表了一篇封面文章,發布了一項最新研究成果——類腦計算晶元「天機芯」。同時,搭載天機芯,由趙明國教授團隊打造的無人駕駛自行車也火爆網路。對此,機器人大講堂特邀趙明國教授帶來《基於自然動力學的機器人控制——無人駕駛自行車及被動行走》主題演講,為大家詳細講述他們是如何利用天機芯實現自行車的自動駕駛的,並給我們帶來生動有趣的被動行走理論。

趙明國教授(左)與大講堂聯合發起人王偉(右)

趙明國教授在仿人機器人步態控制上擁有近20年的研發經歷,2003年趙明國教授進入清華自動化系工作,全身心投入到仿人機器人步態控制及無人駕駛自行車的研究中。他不僅是清華大學自動化系副研究員、機器人控制實驗室主任,同時擔任優必選科技人形機器人首席科學家,和優必選科技人形機器人團隊一起在最前沿的人形機器人技術上進行探索,他所帶領的團隊多次參加全球機器人領域最知名的RoboCup機器人世界盃比賽,在多個賽項上獲得前三名。

無人駕駛自行車

我們有一個願景,機器人在某種程度上能不能達到人能做的事情,甚至超過人,這是所有從事機器人研究的人,尤其是專註運動控制的人遇到的一個挑戰。在挑戰的過程中,我們看的是哪些控制的方法可以吸收過來,做一些新的東西。所以,我們本身的目的並不是把無人駕駛自行車做出來。它沒有太現實的應用價值。只是把它作為一個標杆,去challenge一些技術,然後這些技術在其他行業能夠應用。所以它在天機晶元上也就是一個應用,只不過它包含了很多內容可以去做一些事情。

大家幾乎都會騎自行車,很清楚這些問題,自行車一旦會騎了很容易。但自行車的平衡受很多因素的影響(自行車速度、彈性的車輪和不同地面之間的摩擦、風的擾動等等)。自行車是人類100項最偉大的發明之一,一定有很多內容值得我們去做研究。一個自行車看起來很簡單,但是它可以作為一個很好的研究平台把很多問題抽象出來。

在我們早期的研究中,是在固定的速度下面,通過車把的轉向控制就可以實現在平地上行走或者在稍微粗糙一點的草地上行走,具有比較好的穩定性,也可以過一些障礙。自行車做到這樣的功能沒有特別大的難度,這是我們最早一代的天機晶元。對於車來講這是一個固定速度,在一個恆定速度下面,車沒有任何問題,控制起來是很容易的。真正的難度在於所有的速度降下來,速度發生變化,有各種擾動的時候,能不能做的更好,那就需要更多的功能。

關於降速這個事我們也做了一些實驗。讓車的速度降下來,當車身發生傾斜的時候,重力的力矩就會把車拉倒,所以車一定要有個速度,繞著圓弧跑就會有離心力。離心力如果和重力達到一個平衡,車是倒不了的。對於自行車來講,能把速度降到的極限是降到1.5幾公里就可以了。

我們對車的基本想法是能跟住它的主人,所以我們用神經網路做了一些訓練,讓車可以在主人的後面跟著主人去跑。我們最開始的願景有這一項。主人變速車要改變速度,主人變路徑車也要改變路徑。這就超出了車的控制之外,大的系統要形成一個閉環,能夠去追蹤一些事情。把這些都做完之後,我們加上了一些基本的功能,比如語音識別,所有的控制功能都用天機晶元來實現。天機晶元里是兩部分,一部分是像黑盒一樣模仿大腦,一部分是像白盒一樣模擬大腦。我們做了兩部分結構,是第一個異構的晶元,識別、操控恰好是用異構的兩部分來實現的。

這個車能不能用,我每周都會被問到這個問題,因為每周都有到實驗室來參觀的,從教授到企業家都會問這個問題。基本分成兩個極端。一種極端覺得這是個很好的東西。實際上機器人面臨的環境非常複雜我們幾乎處理不了,所以現在只能說我們有其中的一項技術,但是還有十項技術要我們去做,才能達到視頻里能用的效果。只做其中一個,不足以支撐那麼多應用,所以希望更多的人加入進來。

機器人面臨的挑戰要比其它人工智慧的領域難得多,解決的問題要現實得多,所以還是要一塊一塊的去解決,我們能解決其中的一塊,目前控制平衡我們能解決得很好。再往後發展,人工智慧要解決更多領域的問題,才能有更廣闊的應用前景,但是現在沒有突破性的技術。這個技術不在於機器人本身,還是在於人工智慧本身,人工智慧要落地在機器人上去做。

做機器人研究和人工智慧研究的位置關係,很多人想法都不一樣,我覺得是這樣的,機器人從業者絕對要認清楚自己是藍領,研究人工智慧的是白領,做機器人一定是為人工智慧服務的。當然工業機器人不需要,沒有人工智慧這麼大的發展之前,工業機器人發展的挺好。但是為什麼要為它做服務,因為機器人更大的空間還是服務機器人。

機器人要想真正應用,必須和人工智慧結合。解決的問題都是靠人工智慧來解決的,我們在裡面解決的是從屬問題。所以,機器人一定是作為人工智慧的載體,這樣才能把問題解決掉,引進人工智慧的手法也還是為了解決控制層面的問題。我們要把平台做好,讓人工智慧研究者可以在上面做更多的演算法和應用測試。所以機器人一定要作為人工智慧的載體,這樣才能把問題解決掉。

人工智慧後面的基礎是晶元,晶元是按摩爾定律去做的。製造行業、機器人行業再做也是線性增長,線性增長和指數級增長去對比,自然而然你就明白要選擇哪一個,所以一定要擁抱回報率更大的那一個。

關於自行車的運動模型:

這是它的模型,一個車身的傾角、一個車把的轉向角、一個速度,三個參數量就可以了。一個後輪的驅動電機或者前輪驅動電機,一個車把轉向電機就夠了,感測器就是車身的傾角。非常簡單的原理,和平衡車沒有太大的區別。

這是一個簡化的動力學方程,已經做了一定的簡化,去掉了若干項,非常弱的項我們都去掉了,所有的這些項它的係數都和我畫圈的速度相關。這是在參數上做了很大變化的系統,它的控制就不是那麼好控制,但是我們講科普講原理的時候只拉出特彆強的那幾項。

狀態之間的耦合,對參數的敏感,要在工程上把這些做的很好。我們最主要的工作還是把速度估計的非常准,測車輪的速度是沒有用的,傳統的狀態觀測器也不太適用,也很難建立模型,所以要有理論 自己的實踐去做這件事情。下面是簡化好的模型。

控制器結構也比較容易做,像大多數機器人一樣,無非是一個反饋和前饋。反饋部分解決不確定性的問題,前饋部分解決動力學問題。所以我們把動力學的K1、K2、K3加在裡面,把反饋部分調好,這個事情就可以做到了。這是最基本的控制系統,我們還要解決很多問題,比如車下坡,動力沒有,重力線變得非常大,要加一些剎車控制。正常的控制可以加速、可以減速,在自行車裡只能加速沒有減速,不可能靠電機來減或者靠剎車來減,幾乎不好控制,所以調整車速的時候要把剎車也加上,這裡面就涉及到大量工程問題。經過幾年,現在這個車上坡、下坡、各種負載的變化、風的變化基本都沒有大的問題。應對速度的變化我們可以用神經網路自動去適配速度。

我們未來想做什麼?短期要把低速、靜止,包括機動性、粗糙路面可以做的更棒。中期還是這個思路,希望車能夠像人一樣,人騎自行車能夠出來的功能它都能表現出來,比如騰空、落地。將來希望兩輪的平衡車能夠在複雜環境中行駛,這個時候還需要加環境感知系統,因為一輛摩托車跑到100公里以上,對環境的感知要求就非常高了。所以,它能帶動的問題還是比較多的。這個車可以繼續做下去,除了晶元以外,還有它本身控制的研究。

被動行走

這是加拿大的一個教授在1988年到1990年做的工作,是一個機械結構,在一個非常小的斜坡上給了一個初始的狀態以後它就可以走下去,而且走出來的所有性能指標和人是比較接近的,效率比較高。1990年它發表在機器人技術性最好的雜誌上,幾乎把這套理論和方法全部寫下來了,但實際上這個結果一直沒有得到太多人的關注和認可。直到2005年,康奈爾大學用這個原理做了右下角的機器人。這個機器人幾乎可以以跟人相同的能量效應完成走路,並發表在Science的307期上,當年引起了很大轟動。

2005年是很有意思的一年,是機器人領域百花齊放的一年,本田機器人可以從走到跑6公里。波士頓動力放了一個視頻,你可以踹大狗。2005年那個時間段,所有幾個刷新大家眼球,顛覆大家想法的東西,都達到了最大的能量效力,本田的機器人大概只有20分鐘,波士頓動力效力還要低。

這個時候這篇文章登在Science上也很正常,因為做到了與人幾乎相當的效力。這套原理怎麼應用,大家非常關注,2005年一直到2010年這個領域突然火爆起來。但之後進展非常緩慢,說白了這個事情就是牛頓定律,所有事情已經解釋的非常清楚了,之後大家也沒有提出太多的方法,好在是期間Science發表了好幾篇相關研究文章。

這篇文章之後,我們上Science的想法是回收能量上了一篇,實物做出來又上了一篇。實際上這就是一個背包,背包里放一個磁鐵切割磁力線就可以發電,但效率很低,沒法使用。這個原理被實際做出來放在腿上,腿在走路過程中做正功和負功,又發表了一篇Science,第一作者是中國人,是西工大的一個學生出去之後在加拿大做博士後時做的,09年發表在Science上。純被動的腳踝增強是2016年康奈爾發表在Nature上,可以提高人走路的效率和能量。除此之外,大的結果就沒有了,都是在技術領域去做的。

2014年以後我發現了一些新的問題,覺得可能比較重要。這是一篇文章將人走路的步態記錄下來,發現亂七八糟,因為每一步都不是完全相同,這個亂會隨著年齡有所不同,但亂裡面是不是有規律。最開始人們認為這就是隨機的數據,但分析了以後,發現不是隨機的,跟年齡、跟混沌等參數有關。

我又偶爾看到了這麼一個結果,這是一個帕金森患者,走路是有障礙的,但是他的親屬發現上下樓梯的時候沒有問題,跟正常人一樣,後面有一個很有意思的情況發現。

關於自行車有兩個極端,有些人覺得非常好,有些人覺得沒什麼用。認為是胡鬧的人基本只看到90分以下的事情,認為可能有點過於理想化了。曾經有一家世界500強企業的董事長,清華的副校長帶著他來實驗室看這個研究,董事長很不客氣說搞這個有什麼用,什麼也幹不了,產生不了什麼應用。副校長以期待的眼光看著我,當時我就說了一句話,學校裡面做研究你承認不承認,他說這個我承認,你們是做了一個很不錯的研究,我說那就對了,任何一件事情我們都要分成兩部分,第一部分是做研究,第二部分是做應用。做研究是我們的事情,做應用是企業家的事情。

實物機器人也有人發現了,這是日本一個仿被動的四足機器人,一直觀測發現後面幾乎進入到了混沌的結果。清華力學系的一個博士生叫柳林,他做的被動機器人幾乎觀察到了八分杈。我也做了一個小的實驗裝置,學生拿手機去錄音,也觀察到了八分杈左右的結果。混沌會帶來很多重要的結果。單周期步態代表只有一個周期,角度只有一個,每一步都是重複的。但是多周期到混沌以後,每一步都不重複,覆蓋的面積非常大,但是就是不倒,可以不停地從一個跳到另一個。展開時間軸曲線,你看不出這些曲線有什麼區別,所以畫出來就像一個毛線團一樣,一圈的毛線都是一個狀態的軌跡。問題是人走路最理想的狀態是單周期的,還是人的走路就是混沌的,這就涉及到我前面提出的生理學的問題,最終測出來的結果是傾向於混沌的。

計算是用李亞普洛夫指數來算的,根據李亞普洛夫指數的大小來判斷它是不是混沌,隨著年齡不同也會不同,幾乎最後測出來都是認可混沌的。醫學人提出來這個結果,在工科人看來有點不太滿足,用了5、6個人每個人走二十幾步,拿這個數據說這個是混沌,這個不是混沌,這個是帕金森,那個是什麼,在工科人看來量不夠,所以我們希望做的更多一點。在我們做的小機器人上也觀測到這個現象,導致我們產生了別的想法,人走路是混沌的,還是單周期,應該用哪個模型來走。現在所有人都是單周期的,這個理論、那個理論,都是按照單周期來做的,只有一個方法不是,現在在美國比較火的,認為有可能能達到波士頓動力水平的就是HCD混合人工態方法。本質上沒有用單周期,而是用了很多周期在做。

我做了一個特別簡單的被動機器人,左邊第二個。別看小,效力很高。我們是在兩腿之間加了橡皮筋,用了燕尾夾去調整橡皮筋的張力,改變它的剛度,也可以用燕尾夾夾一些質量塊,無非是調整彈簧的剛度,實際就是改變參數。經過微小的改變,就可以讓系統穩定性極大的增強。和前面放的帕金森的視頻一樣,視覺上做一個微小的刺激就改變了整體的屬性。這些系統的方式有共通的地方,能不能通過微小的改變四兩撥千斤的去做這個事情,走路的過程中沒有人用大腦去走路,都是用脊柱來控制的,中樞神經就可以控制,振蕩系統是工作在混沌狀態,還是工作在什麼狀態,能不能通過微小參數去調節就變得很重要,我們要把這件事情解決好。我們得出來被動方面可以起到很好的作用,所以我們就看動力方面。

這個機器人只有兩條腿,用的就是女孩子扎頭髮的橡皮筋。這個機器人十幾公斤,只在兩腿之間加了一個很小的電機和一個橡皮筋,用電機拉橡皮筋,非常簡單的走路模式就出來了。腳底下有個開關,前面的開關碰到了電機向後拉,拉多少度,反過來就向另一個方向拉,但是表現出來的步態跟人的幾乎差不多。模型隨著彈簧參數的變化最後也會變化出混沌,混沌意味著穩定性非常強。如果走路本身就是混沌狀態,這個事就很好解釋,先天的動力學就是很穩定的。

記錄時間的軌跡,它就是個毛線團,一個周期、一個周期。這變成一個很大的問題,我們做機器人按什麼原理去做,做外骨骼按什麼原理去做,存在最根本的差異,所有人都按照單周期這樣的步態去做,其實就是欠缺一個理論基礎。

這邊註定是一個機械的做法,但是你做仿生仿的是原理,我們就要確定這個原理是不是正確的。我們做的模型只能是兩條腿之間拉個橡皮筋,不是太合理,人是軀幹和一條腿之間有彈簧和肌肉,另一條腿也是肌肉肌腱。所以我們做了這樣一個模型,模擬分析居然也有混沌現象。過渡到混沌之前,出來一個左邊的圖,時間圖。橫軸是時間,縱軸是角度。看數據看不出太大區別,不仔細看認為還是個周期性步態,可能採樣點不一樣,但是發現藍色的點不是特別準確。實際做下來之後發現是右面這個圖。它就在最外面的圈上跑,一次也不會重複,但會經過13個周期回來一次,不過永遠不能整除,只能一圈一圈繞,最後走路的截面變成一個游泳圈,不是一條線。是在游泳圈表面上這樣繞,永遠不重複,變得非常穩定,再往下過渡就是混沌了。

如果只看時間數據,看人走路的樣子,都差不多,實際規律不一樣,數據是在游泳圈上繞。好處是穩定性好,壞處是抗干擾能力不夠強,給它一個擾動它就容易倒,倒在游泳圈上。說明穩定狀態的區域不夠大,整個混沌非常大,但效力不夠高。所以我們希望單周期的效力高。右邊圈畫了一個點,這個點是效力最高的點。這張圖左邊是單周期的,右邊是混沌的,代表效力的不同和穩定性的不同。我們想了一個方法,每一次都微小的改變參數,而不是強加一個控制力。改變參數的結果是讓它產生的動力學軌跡能夠在游泳圈上傾向於我要的那個點,每次都貪婪地選一個最優值出來,這就需要計算。所以我們安排了一個時間窗口預測所有的動力學,預測之後按照不同的參數把它選出來去做。

還是拉動兩條腿上的橡皮筋,一條是紅色,一條是藍色。標準的過程是在T等於0的時候,兩個角度,紅色在0的位置上,另一條腿是藍色的在上面某一個角度上。時間開始以後,到T1階段兩個都朝某一個方向動,動到T1的時候,藍色的不動,紅色到T2的時候反方向動一下,這個過程就結束了。就兩個參數,一個是拉的角度,一個是拉的時間。如果能只控制T1、T2,一個T1是一個系統,改變一次以後變成另外一個系統。所有的系統在某一個時刻就去選,哪個系統對未來是最好的我就選哪一個系統。T1、T2是按照對數收斂分布,我大概三十幾組數,如果一瞬間能算出來,在零時刻就知道從現在開始走一步這幾組參數里哪個最好我就走哪一個。每一步都這樣做,就會出現一個非常好的結果。

傳統的方法叫OGY,實際上是控制理論的狀態反饋。方法是要很長時間才能回來,綠色的圓代表原來的游泳圈,上面的所有點要求它能夠回到中間這個點,越快越好。對我們來講要30步到40步,才能回到高效力的點上去。因為混沌是不做任何工作的,它要等,等到你進入一個很小的區域因為才能開始控制,把它收斂回來,但是我們不用等,直接就可以做,所以我們大概不到10步就可以回來。每一步都預測結果,有可能是穩定的,有可能是不穩定的,直接切一個最好的就可以了。所有的動力學系統都像銀河系的圖一樣,繞著螺旋線回來原點,繞著落選線回來要非常長的步才能回來,但是一個系統的螺旋線,這個點用另外一組參數回來,可能第二步就回到這個點了,因為我是途徑這個點,欺騙了它一下,所以這個時候要做計算和選擇,在很遠的地方也能回來,綠色的圈就變得很小,這個點很大。

我們用這種方法做了一個雙足機器人,但不完全是這種方法,而是近似。當它遇到地面干擾的時候,非常容易就切換過去了。在此之前解決干擾問題相對比較困難,要建模,要搞很多控制,現在做一個簡單的切換就可以了。理論分析很長,但實際執行的演算法非常少,現在還處於只是平面機器人階段。

我們拿這個做了個遊戲,是它的能力,這是個超級瑪麗,可以在草地上走,也可以在斜坡上走,可以在粗糙的路面上走。最後遇到球,可以轉過去。我們不去測試機器人的某項指標,就是做了一個走路的方法,目標只有一個,就是走,而且要控制速度是多少。所以走在不同路面都會引起速度的變化,為了控制速度就會帶來這些屬性。

以後的應用,除了控制速度、控制落腳點,其他的東西都可以加進去,但目前只用的控制速度和落腳點兩項。

我大概就做了兩件事,一個是做足式機器人的研究,一個是做自行車,但主業還是足式機器人,自行車是副業。我們希望基礎的研究未來可應用、可落地的時候可以應用於服務機器人,特別是人形機器人。謝謝大家!

END

看累了嗎?戳一下「在看」支持我們吧!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器人大講堂 的精彩文章:

未來50億年科學預測

TAG:機器人大講堂 |