運動與路徑規劃

全域規劃器與區域規劃器

讓機器人從當前的位置走到它想去的地方,通常被拆成兩份工作,交給兩個規劃器。全域規劃器是負責大局的「找路人」:給它一張整片區域的地圖,它會在機器人還沒動之前,就算出一條從起點到目標的完整路徑——這就相當於打開地圖應用,看到那條橫穿全城、被整條標亮的路線。區域規劃器則是分分秒秒掌方向盤的「司機」:機器人真正沿著那條路線滾動前進時,它盯著正前方那一小片世界,一秒一秒地操控轉向,既照著計畫走,又閃避一路上隨時冒出來的東西。兩者像一個團隊那樣配合——一個決定整體方向,另一個處理眼前的轉向。

之所以這樣拆分,是因為這兩份工作的「形狀」不同。全域規劃器可以慢慢地、寬廣地去想:它顧及整張地圖,所以不會把機器人送進一條最後是死胡同的走廊——但它通常是依據一張早先畫好的地圖來規劃的,無法知道剛才有人在過道裡放下的一個箱子。區域規劃器恰恰相反——它只往前想幾秒鐘、幾米遠,卻能對即時的感測器讀數飛快地做出反應,繞開一個突然走進路徑的人,或一把地圖上沒有的椅子。粗略而有遠見,對上反應靈敏而目光短淺:這樣的分工正是關鍵所在。

有一個好懂的比方,就是一次公路旅行。全域規劃器是你出發前選好的路線——那一串帶你橫穿全國的高速公路。區域規劃器則是握著方向盤的你:保持在車道內、為前車剎車、輕輕繞過路面的坑洞,同時心裡始終裝著那條大路線。如果某條路意外封閉了,區域規劃器單憑自己是沒法解決的;它會把情況回饋回去,由全域規劃器重新規劃出一條繞開堵點的新路線。

一台送貨機器人被派去穿過大樓的門廳。它的全域規劃器繞開已知的牆和傢俱畫出一條路線。它剛出發,就有人走進它的路徑;區域規劃器不需要一張新地圖——它只是放慢速度,往旁邊偏出一米繞開那個人,再在另一頭重新接回全域路線。

全域規劃器選定路線;區域規劃器應付路上的意外。

兩者的運行頻率通常差別很大:全域規劃器可能每隔幾秒、或在出現重大變化時才重新規劃一次,而區域規劃器每秒會更新許多次,好讓它來得及做出反應。

又稱
global vs local planning全局规划与局部规划全域規劃與區域規劃