
像鳥群一樣飛:不靠 GPS,無人機怎麼知道自己在哪裡?
無人機只靠單眼鏡頭判斷鄰機距離、調整飛行,不需要 GPS、雷射測距或無線通訊;地圖對齊後,軌跡誤差縮小了四倍。
地下停車場、老舊廠房、山洞、災後倒塌的建築。這些地方有一個共同點:GPS 訊號進不來。
衛星訊號被牆壁擋住,無人機一失去定位就失去了判斷自己在哪裡的能力,更別說要和其他機器人協調行動。但這些偏偏是最需要無人機進去探查的場合。
維吉尼亞聯邦大學的研究者 Garcia 和 Eskandarian 在 2026 年初發表的這篇論文裡,把兩個問題放在一起解決。
第一個問題:沒有 GPS,無人機群如何維持隊形?
第二個問題:沒有 GPS,單架無人機如何知道自己在哪裡?
鳥群的啟示
研究者注意到,椋鳥在形成幾千隻的群飛隊形時,並不是靠什麼中央系統協調。每隻鳥只看自己最近的六到七隻鄰居,根據視覺感受到的相對位置調整方向。鳥不知道整個隊形的形狀,也不需要知道。
這個原則叫做「拓撲距離」而非「公尺距離」:你在乎的不是鄰居距離我幾公尺,而是他是否緊鄰著我、是否正在靠近或拉遠。
論文把這個邏輯移植到無人機上。每架飛機的機身上裝了兩顆 LED,搭檔無人機的單眼鏡頭可以看到這兩顆燈。LED 的間距是固定的,鏡頭裡兩點之間的像素距離大,代表對方近;像素距離小,代表對方遠。這樣,鄰機距離就從像素換算出來了,不需要雷射測距儀,不需要無線電,不需要 GPS。
隊形控制器拿到這個距離之後,計算速度命令,讓每架無人機把自己調整到「剛好夾在鄰機之間」的位置。如果暫時看不到鄰機,機體靠慣性感測器自持,等視覺恢復後再重新同步。
看到同一個房間的兩份地圖
隊形維持解決的是相對位置的問題:我和你的距離。但另一個問題是絕對位置:我和整個空間的關係。
這時論文引入了 vSLAM(視覺同步定位與地圖建構)。每架無人機用單眼鏡頭拍攝環境,提取特徵點,在飛行過程中建出一張稀疏的點雲地圖,同時估計自己的軌跡。
問題在於,每架無人機的地圖都是相對自己起飛點的座標系,彼此對不上。
解法是指定一架無人機作為「全局錨點」。這架飛機擁有某種全局定位的來源(例如在有 GPS 的地方起飛,帶著已知座標進入室內),它的地圖就附帶了全局座標。
其他無人機的地圖是局部的。它們把自己的點雲和錨點無人機的點雲做配準——找出兩份地圖中的共同特徵,計算出一個剛體轉換矩陣(旋轉加平移),把自己的地圖對齊到全局座標系。這個計算用的是 ICP(反覆最近點)演算法,可以在飛行中即時執行。
完成對齊之後,沒有 GPS 的無人機就知道自己在世界座標系裡的位置了——因為它的地圖已經和全局地圖重疊在一起。
在實驗室裡驗證
第一組實驗用兩架 Crazyflie 2.1 無人機。第一架按預設路徑飛行,掃描場景,建出一份較大的點雲。第二架懸停,從略微不同的視角拍同一個場景,建出一份較小的點雲。
ICP 對齊後,旋轉矩陣幾乎等於單位矩陣——旋轉偏差極小,主要的修正是沿 Y 軸的平移。兩份點雲合在一起,互補了彼此看不到的角度。
第二組實驗更接近實際應用。一台地面車輛先沿實驗室行進,建出一份帶有全局座標的點雲(用動態捕捉系統校準)。接著一架無人機沿類似路徑飛過同一空間,建出自己的局部點雲,再把這份局部地圖對齊到車輛的全局地圖。
對齊之後,無人機的軌跡誤差縮小了大約四倍。
兩件事為什麼要合在一起?
論文的核心主張不是「視覺隊形控制」或「點雲配準」各自有多好,而是這兩件事必須同時成立,任務才能成功。
只有隊形控制:飛機能互相不相撞,但每架都不知道自己在場景裡的絕對位置。
只有地圖配準:飛機知道自己在哪裡,但如果隊形散開,合作建圖就失去了意義。
兩者整合之後,一組無人機可以像椋鳥群一樣相互感知、保持間距,同時共同維護一份整個場景的空間理解。這份理解讓每架飛機都能在隊形內定位自己,也讓下一步的協作任務——像是地毯式搜索或多角度障礙物偵測——有了共同的座標語言。
輕量鏡頭、分散式邏輯、不依賴 GPS。這組設計的約束條件,和真正需要進入的地方恰好吻合。