為什麼仿生機器人(仿動物、人形)的反應遲鈍?
看各種機器人的視頻發現雖然避障行為各種仿生的動作都能做,但是都很慢,總之不夠原生的靈活,是機器人的cpu不夠快還是機械傳動裝置不夠靈活?
這是一個值得深思的問題。
首先有下面幾個事實:
(1)機器人CPU中,電信號的傳播速度是光速。而生物的神經系統中,神經信號(通常表現為神經細胞膜的電位變化,沿膜傳播)的傳播速度是幾十到幾百米每秒(參考:Nerve conduction velocity),遠小於光速。
(2)機器人CPU的工作頻率在MHz量級,機器人可以在千分之一秒之內,根據感測器的信號做出反應,反應速度遠遠比生物快。
(3)機器人的「機械傳動裝置」學名叫驅動器(Actuator),種類繁多,常見的是電機+減速齒輪。高性能電機+諧波減速器,力量可以比人大很多,速度可以比人更快,精度可以比人更好。如果用氣動驅動(壓縮空氣進入氣缸推動機器腿),那麼可以實現緩衝減震。如果用液壓驅動,那麼力量大,剛性好,動態性能也可以控制。
也就是說,機器人的反應明明比生物快得多,力量速度精度也可以比生物好得多。
那麼,為什麼仿生機器人卻比生物笨得多??
賽車可以比獵豹快(當然加速性能不如獵豹,而且不能在不平的地面跑),飛機可以比鳥快(超音速),但是海里的一條魚,卻比核動力的船和潛艇更快。更令人震撼的是,相對於魚的速度,魚耗費的功率比人類的潛艇要小得多。藍鯨那麼大的體型,按計算需要耗費350馬力的功率游泳,而藍鯨實際消耗的功率只達到60馬力。(這是小時候看的的仿生學科普書里的一段,我不能保證是真的)
魚還有一個能力,當魚逆流而上時,它可以利用河中石頭後面的旋渦的能量,讓自己不費力就能前進。這已經得到實驗的證實。魚在這麼做的時候,測量肌肉發出的電信號,發現身上的肌肉是放鬆的。
鳥類也具有這樣的能力,信天翁連續幾天御風而行,海燕在暴風雨中頂風前行(「讓暴風雨來得更猛烈些吧」),軍艦鳥在颱風之中安全降落。鳥類的運動是三維的,比魚複雜很多,所以現在的研究結論比較少。當然,到了風口豬也能飛起來,但是豬飛了也無法控制自己啊,鳥才是最熟悉風的動物,有沒有風口都能飛,有風能飛,沒風也能飛。
說完了海里游的,天上飛的,再來看看地上跑的。
小強(蟑螂)每秒鐘可以跑出10倍身長的距離。
獵豹不僅能跑出100km/h的速度,而且最關鍵的是,它不是在道路上跑的,而是在不平整而鬆軟的土地上跑的。坦克能越野,但完全達不到這個速度,而且能量消耗很大,非常費油。
因為坦克前進的時候,它的履帶一直壓在地上,走到哪裡壓到哪裡,很多土都被壓變形了,而迫使這些土變形需要很多很多能量。汽車也是這樣。
而用腿跑步的動物們,卻只留下一個個腳印蹄印爪印,只有腳印處的土被壓縮變形,這樣消耗的能量就少很多了。
動物的奔跑,其實是一連串的「跳躍」。
動物腿上的筋(肌腱)是彈簧,在每一次落地的時候,彈簧被拉伸,儲存能量,緊接著,在跳起的過程中彈簧收縮,儲存的能量又釋放出來了。
就像一個籃球在地上跳,只要有人拍(對應動物肌肉做的功,適時補充每一步消耗掉的能量),就可以一直跳下去。
這種跳躍不僅省能量,速度快,而且非常靈活,可以突然加速,轉向,停止。
拳術界很早以來就有「一身備五弓」之說,技擊中的各種發力都是五弓合一共同伸縮的結果,一觸即發,打人如放箭。將人體手足與軀幹比喻為五張弓,下肢兩弓以足、胯為弓稍,膝為弓把;上肢兩弓以手與肩為弓稍,肘為弓把;軀幹弓以尾椎與大椎處為弓稍,腰為弓把;五弓合一就是五弓的弓把要相吸相系,既相對固定又富有彈性,上肢兩肘把位要始終有下垂之意,下肢膝把位有上提之意,結合身法的松肩落胯,將上下四把位與腰間產生聯繫,以此形成人身一張大弓。這張大弓以大椎及上肢和下肢與尾椎形成上下兩梢,腰部為弓把,意在肘、膝與命門的相系相連,使之緊密聯繫,形成一個完整的體系。
話說回來,究竟是為什麼,生物明明比機器人反應慢得多,精度低得多,但是生物的運動卻那樣靈活而高效,秒殺機器人呢?難道因為生物是上帝的創造嗎?中國古人可不這麼認為。同樣來了大洪水,諾亞得到神的指示造了方舟,只有全家活了下來;而大禹得到了烏龜背的啟示,組織所有人一起治水,讓洪水自動流向大海,結果所有人都活了下來。
中國傳統神話中有哪些可能映射現實? - 相爭何為的回答
這個問題的答案是這樣的。
首先,生物體的神經網路具有極強的模式識別能力和泛化能力(面對從來沒見過的東西,也可以根據已有的經驗做出判斷)。「愚者暗於成事,智者見於未萌」,說的就是這兩種能力。而運動中真正需要的,不是快速的反應,而是正確的反應。
雖然機器人可以做到每千分之一秒看一次自己的運動狀態,但是在千分之一秒的時間間隔里,機器人的運動變化很小,看不出來什麼趨勢,而當趨勢變得比較明顯的時候,可能是幾分之一秒以後了,這時再反應的話,如果驅動器響應速度慢,就很可能來不及了。
正是因為這一點,所以機器人才紛紛使用高剛度、快速響應的驅動器(因為需要頻繁的調整,響應不快是不行的),高精度,數據平滑的感測器(因為只看一個或幾個數據,為了防止被誤導,就需要高精度和數據平滑),和剛硬的機械結構,耗費很多能量反覆調整,來達到穩定的效果。結果穩定有餘,靈活不足,行動有餘,觀察不足。
而生物體則不然。生物體的每一個神經末梢都是感測器,在同一時刻有成千上萬個變數數據進入神經網路。單獨一個變數的變化無法說明任何趨勢,可能是干擾,誤差,但是同時看成千上萬個變數,就能在很短的時間裡發現變化的趨勢。各個變數變化的趨勢(你增我減,或你增我增)將體現各個變數的相關性,並以神經細胞之間鏈接強度的形式記錄下來。所有的鏈接只要大於一定強度,就會隨時間逐漸減弱;但是外來的變數如果穿過鏈接從一個細胞到達另一個細胞,使另一個細胞興奮,那麼這兩個細胞之間的鏈接就會加強(就好像「如果你覺得我的話有意思,你就更想聽我說話,所以你和我的鏈接就會加強」)。正如地上的路:本來沒有路,信號走多了,也就成了路;路會漸漸磨滅,也會被人修得更寬。有的鏈接不斷加強,有的則保持不變,而那些被加強的鏈接,從一個細胞連到另一個細胞,在腦海中畫出長長的線。而如果一條線首尾相連,「從北京出發又回到北京」,形成了一個環路,那麼如果進來一個信號,就會在環路裡面繞圈,產生一定周期的運動。這種運動,就可以控制魚的擺尾,鳥的振翅,馬的飛奔,人的起舞。(或許這就是中樞模式發生器(CPG)的誕生過程。)
其次,生物體的神經系統並沒有「工作頻率」的概念,生物是隨著自己身體的運動節奏,在同一時刻並行處理信息的,舉手投足翻身擺尾都是信號,身體運動的過程就是信息處理的過程,而不是像機器人系統那樣,CPU自己有一個固定的節奏(工作頻率),串列處理信息,每秒處理幾百幾千次。所以,生物不需要機器人那麼快的信息處理速度(但卻在同一時間並行處理很多信息),身體走得多快,信息處理就多快。有趣的是,太極拳的技擊(格鬥)原則和這個很像:我的運動,順著對方的節奏來,對方有多快,我就有多快。我的身體有可能慢,但我的心意要比對方轉得快,這種快不是簡單的反應快,而是先一步看出對方的意圖。看似被動,結果反而取得了主動。
再次,生物體非常善於巧妙利用自己身體的動力學特性(身體的慣性,肌腱的彈性等),而不是像主動控制型機器人一樣,依靠強力的驅動器來抑制自己身體的動力學特性。也就是疏而不堵。例子是,人走路時,腿的肌肉在大部分時間裡都是放鬆的,腿是自己擺出去的,而不是像機器人ASIMO一樣,腿是靠驅動器硬抬起來的。THUDA PDWBOT 48步被動行走(這個機器人是沒有動力的,但是也能下坡行走,如果加上動力,就可以在平地行走了。)
最後,生物體的驅動器——肌肉的力學特性比較獨特。如果用肌肉驅動一個機器人,那麼肌肉將完全不能適應這個工作,因為以現在機器人的標準來看,肌肉」驅動器「的精度太差,剛度太差(機械特性太軟,力增加時速度減少得很明顯),響應速度太差。然而,鳥的翅膀不是用來走路的,是用來飛的。
肌肉的力學特性,在阻抗控制的角度反而是大好事,肌肉可以非常容易地改變自己的機械阻抗,想硬就硬,想軟就軟,剛度可以迅速改變,這是所有人造驅動器都很難做到的。參考:能否通俗易懂地講解一下阻抗控制,以及一般的阻抗控制模型的物理層面的由來? - 相爭何為的回答
伺服電機和程序的問題。人家沒想做那麼快,只是想做得穩
常因為控制演算法太保守,而不保守的又不太穩定。需要不保守又穩定的~
說白了就是現在演算法還太簡單,硬體配置雖然計算能力強,但是獲取數據供分析的還是太少,仿人仿的還是不夠像。必須通過減速的方式來保證設備安全。
機器人的工作機理是機械運動和以電子信息技術為主的物理運動,這兩種運動方式不同於生物運動方式,是遠低於生物運動的運動方式。
辯證唯物主義根據自然科學和社會科學發展的歷史,按照從低級到高級,從簡單到複雜的順序排列,把運動的基本形式概括為以下五種:(1)機械運動。指的是物體的位置變動,是最簡單、最基本的運動形式,它的物質基礎是物體。(2)物理運動。指分子、電子和其他基本粒子的運動,它的物質基礎是分子、電子、基本粒子和場等。(3)化學運動。指元素的化合與分解運動,它的物質基礎是原子。(4)生物運動。是生命的新陳代謝過程,它的物質基礎是蛋白質和核酸。(5)社會運動。指人類社會的發展過程,它的物質基礎是社會生產方式,即生產力和生產關係的統一。
各種運動形式的物質基礎和規律不同,它們之間是有質的區別的,但各種運動形式不是孤立存在的,而是具有內在的聯繫——高級運動形式是從低級運動形式發展而來,並且包含著低級運動形式。各種運動形式之間是根據一定的條件互相轉化的。
機器人作為一項綜合科學技術,今後必將打破諸如物理學、化學、生物學等基礎科學的傳統界限,引入包括生物運動在內的很多內容,讓機器人更靈活。觀察者偏見.
所有比人快的動作, 被人類認為習以為常. 參照物是汽車, 摩托車, 機床.
所有比人慢的動作, 被認為是"這機器怎麼這麼差啊?"
----
仿生機器人的評價指標應該採用事前設定, 在沒看到機器人之前, 設想好:
我要評價他的反應速度, 我應該關注哪些指標?
說話反應速度, 開關後啟動速度? 開關接觸後的相應毫秒數? 胳膊到1m/s的加速時間? ....
然後再評價的時候, 機器人還是很多地方比人快的.
推薦閱讀: