可編程芯片使機器人不再陷入長時間停頓,加快了它們的行動速度。
看過機器人操作演示的人都會注意到這樣一種情況:機器人耗費很多時間卻沒做什么。于是,有人說機器人在“思考”。究竟是什么導致這樣的停頓?原來機器人內部有一項非常耗時的運動規劃程序,主要用于計算如何讓手臂和抓手去完成它應做之事而不撞到任何物體。
鑒于此,杜克大學的研究人員找到了一種運動規劃方法。它是一款能夠高效率執行工作中最耗時部分的定制處理器。
就機械臂等而言,運動規劃需要制定一份概率路線圖(PRM)。PRM是由無障礙空間中的點以及連接這些點的線(被稱為“邊界”)構成的,且在這些邊界之間進行的直接運動不會造成碰撞。然而在實踐中,當抓手從一個地方移動到另一個地方時,胳膊上的其他部分可能會撞到物體。我們把機械臂移動經過的區域稱為“波及體積”。運動規劃算法最讓頭疼的地方在于判斷一個波及體積是否會導致與障礙物相撞,即便抓手的運動路徑上沒有障礙物,也要進行這種判斷。
為了簡化流程,研究人員采用了特殊計算方法。這個過程會生成一張包含約1.5萬個邊界的概率路線圖,可以劃出機器人不會發生碰撞的區域。但是,1.5萬個邊界相對來說過于龐大。于是,他們先模擬了1萬個場景,并查看使用了路線圖中的哪些邊界進行規劃。經過幾次優化和重測,一個示例中的路線圖邊界數量降到了1000以下,且沒有影響它解決樣本運動規劃問題的能力。
由于負責規劃的處理器是一個現場可編程門陣列(FPGA),路線圖的大小受限于可安裝在FPGA上的此類電路的數量——最多幾千個。因此,把概率路線圖中的邊界數量降到可控范圍很重要。
在運行過程中,如果電路所代表的邊界與像素位置發生沖突會,芯片會在概率路線圖上取消該邊界。一旦芯片檢查過圖像上的所有像素,那么剩下的就是一個只包含無障礙路徑的概率路線圖。這種速度提高非常明顯。無論開始時有多少邊界,FPGA都僅需50納秒/像素便能判斷所有潛在碰撞。
研究實時運動規劃的迪尼斯?馬諾查教授,對FPGA有望在運動規劃任務方面的優勢表示贊同。他認為這能夠提供非常實用的方案。目前,杜克大學的教授喬治?克尼德瑞斯、丹尼爾?J?索林、和一些研究生正在探索如何在概率路線圖上尋找最短路徑。與此同時,一家名為實時機器人的公司將對此技術進行商業化。這需要把FPGA移動到包含更大路線圖的專用集成電路上,讓機器人能夠應對不同的環境。
索林教授表示,機器人領域的許多公司都對這項技術很感興趣。如果可以進行實時運動規劃,機器人很快便能夠在動態的非結構環境中工作。
作者:Evan Ackerman