對移動式工作的機器人來說,如何判斷周邊環境的安全,以保證暢通無阻是非常重要的。還沒動兩步就「咣咣」碰壁,這樣的機器人就太尷尬了,最典型的是掃地機器人。
說穿了,掃地機器人就是在不斷地碰壁——當然,它也不是真碰,而是透過感應器來判斷周圍有無障礙物,然後繪製出整個房間裡的地圖。完成之後,其就可以愉快地完成掃地工作了。這有點像決策樹,此路不通就另尋他路,也就是透過不斷的嘗試錯誤,最終試驗出正確的路徑來。
但是問題在於,掃地機器人繪製的家庭地圖只針對特定的環境才有效。打個比方,好不容易把廚房的地圖給畫好了,轉身進了臥室就又得重新畫圖。別人借走用一用,它又得重新再來一次。
也就是說,掃地機器人的這種學習的方式是不具備普適性的。換個地方就不能用,它既有的工作經驗在新的環境中沒有任何用處。它的經驗,是死的。
聰明的讀者一定會明白接下來要說什麼了:有沒有一種方法,能夠把機器人的這種死經驗變成活的,以便擴大其適用範圍呢?
答案是,有。
開發模型,讓機器人一次跑成
我們造機器人,就是想要讓機器獲得類似於人的能力。那麼,就針對掃地這件事來說,人是不需要畫圖的。你抬頭一看,左邊是一扇門,右邊是一堵牆,中間是空地,自然而然就掃中間的。你不會傻到先碰碰牆再碰碰門,最終才確定中間的空地是能掃的吧?
麻省理工學院的研究人員就試圖讓機器獲得這種能力。他們製作了一個新的神經網路模型,以便能夠讓機器人自主地探索環境,在觀察環境主體的時候聯繫到既有的經驗,進而達到目標。
例如我看到一個門,瞄一眼就知道應該怎樣以最短的路線去朝門走去。而機器人則通常是以決策樹來嘗試出無數種可能,然後選擇最佳的方案。它的問題我們開頭就說了,就是換個環境得重新做出決策,既有的經驗完全沒用。也就是說,機器人的每一次嘗試,其實都是第一次。而人知道怎麼朝這個門走去,換做另外一扇門也是一眼就能知道。
那麼,研究人員的目的就是要讓機器人在做判斷的時候,加入其既有的經驗,然後去適應新的不同的環境。其開發出的模型就是將規畫演算法與神經網路結合,學習辨識出最佳的路徑,然後用來指導機器人在陌生的環境中移動。
例如說,研究人員設計的一個模擬實驗。機器人必須要通過一個中間狹窄的通道從密室逃出,到達更大房間裡的一個位置。而在這個通道兩邊會有一些由其他物體設置的陷阱,在機器人觸碰的時候卡住它。傳統的機器人會全部碰一遍,在屢次試錯之後繪製通過地圖;而在這個實驗中,研究人員對機器人進行了陷阱特徵的訓練學習。於是,在逃跑的過程中,機器人一邊跑一邊對眼前的阻擋物進行辨識,最終實現對周圍環境的感知,以最快、最佳的路徑達到目的地。
簡單來說,該模型的特點就是能夠更快地找到更合適的路徑,並培養機器人自主導航的能力。
掃地姑且不提,駛離圓環將大有裨益
從研究人員繪製的美好藍圖當中我們依然可以清楚地看到他們的意圖:讓機器人在開路這方面,更像人。而當機器人的自我導航能從一個場景「移植」到另一個場景的時候,也就意味著大量場景應用可能的誕生。
首當其衝者必然是掃地機器人。機器人買回家之後,第一件事再也不會是熟悉環境了。其透過已經獲得的訓練,放下就能在工作的過程中尋找最佳路線,真正實現即插即用。時不時來個「小鹿亂撞」的掃地機器人時代也可能將徹底成為過去。
而這項技術的最大受益者很可能是時下火熱的自動駕駛。
當然,長距離導航自然用不上,畢竟有高精度的地圖、GPS在發揮作用。該技術對自動駕駛汽車的作用之處,在於短距離的、瞬時的行駛導航決策。
目前而言,要保證自動駕駛汽車的安全行駛,研究者為其加入了大量的硬體,光雷達、感應器、微波雷達,以及優越的演算法。按照目前的技術,在直線行駛上和稀鬆平常的轉彎路口,自動駕駛車輛基本上可以自如應對。但問題是,如果是車流比較多的路口呢?或者說經過圓環路口?
Google的無人車在測試的過程中就被廣大人類司機詬病過一個問題,那就是由於其被設計得特別遵守交通規則、特別禮讓,導致在左轉的時候,自動駕駛車總是一直等直行車流通過,於是很長時間也無法並線匯入車流,哪怕是匯入之後並不影響直行車行駛。這樣跟在無人車後面的司機當然不爽。人類司機可以在保證安全的情況下見縫插針,自動駕駛車顯然還不行。或者說不是不行,只是為了保證安全,還不能這樣設計。
況且,左轉尚且如此,一旦遇到圓環式路口的時候,更複雜的轉向恐怕會更讓車子規規矩矩地等了。
而在研究人員的實驗中,也涉及了這方面的東西。實驗證明,該機器人可以捕捉到周圍車輛的通行訊息並進行預測,然後做出合適的路線規劃。甚至其還意識到了不同的駕駛人會有或緩和或激烈的行車風格,進而做出不同的規劃。
簡單來說,它可以讓車輛不再永遠禮讓他人,而是看準機會一舉通過。
如果足夠精準的話,自動駕駛汽車過圓環路口可能比人類司機還要好,畢竟人也會猶豫,而機器則是不會猶豫的。
或許更精準的雷達、感應器探測也會有助於解決這個問題,但開發個模型進行訓練和花費巨大的成本提升探測精度比較起來,誰更划算自然是不言自明。
當然,該模型也並不是萬能的,其應用範圍侷限於較短距離的路徑,如果達到幾百公尺甚至以公里計,那還是衛星導航更靠可靠一些。
動態取勝,也許是成敗關鍵
模型除了不是萬能的,也還有一些問題是需要切實注意的。
首先,這個世界就是靜態和動態的結合。顯然,在處理靜物的時候,它是沒有什麼問題的,連傳統家用機器人都可以處理,無非就是用個高精度(也許連高精度都不用)感應器。而研究人員的想法也顯然並不是讓它在一篇靜謐和諧的環境中去工作,而是在動態之中獲得生存之道。
在自動駕駛中的應用就是該研究的出發點之一。應對動態的車流、人流本身就是自動駕駛的一個巨大考驗,更何況要在這樣動態的過程中尋找一個最佳的路線,這本身就是很難解決的事情。
例如說自動駕駛車從圓環的第二出口駛出,而這時在它的右方有要前往第三出口的車輛,那它該如何選擇?在那一瞬間,它要判斷幾個方面的因素:自身位置與第二出口車道的距離;其他一輛或者多輛汽車各自的時速、駕駛風格等;然後設計出自己安全駛離圓環同時又避免與其他車輛相撞的最佳路線,一次成功。
因為只能一次成功,畢竟不能像月光寶盒那樣撞一下我們回到開始再撞一下,直到試錯成功吧?
所以,如何開發優秀的演算法來對動態的環境做精準的判斷,是這項技術的關鍵內容。
另一方面,該模型的工作方式其實並未脫離決策樹算法。也就是說,作用到機器人的身上,其實是由兩套決策。一個是由神經網路做出,當其根據已有的訓練對前方的位置通行做出一個較高的預測值的時候,機器人就聽神經網路的;當神經網路給出的預測值較低,也就是可能無法做出準確判斷的時候,機器人還是採用的決策樹的方法,慢慢試錯著來……
這當然是可以理解的,甚至兩種方法結合的方式可能會永遠存在下去。而在這個過程中應有的變化則是,神經網路的依賴權重逐漸增加,決策樹最終退化到僅僅是作為保障萬一之用。
顯然,目前來說,決策樹算法還是有很重要的作用的。
如果這個模型最終真的可以成熟地應用到實際當中,我們將很有可能看到行動更加自如的機器人:行動自如的掃地、行動自如的穿行馬路、行動自如的過圓環……我們的生活,也可能會因此變得更加行動自如。
本文授權轉載自腦極體
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!