首頁 / 飛到指定地點 · 成立

沒有 GPS 也飛到指定地點

分工是:傳統程式認路,果蠅腦負責閃避。

飛行回放

場景
比較
0.0 s
實際飛的路線 無人機以為自己在的位置 地圖上有的柱子 地圖上沒標的柱子 事先規劃的路線 地標(空心圈 = 地圖以為的位置) 閃避開始的位置

回放是用同一套模擬,把正式紀錄裡的那一趟重新飛一次(結局與時間都和正式紀錄相同)。每 30 毫秒一格;4× 是快轉。灰色大圈是航點周圍 1 公尺的範圍。

影片:同樣的場景,從無人機後方跟拍的 3D 畫面

左上是從後方跟拍的 3D 畫面:棕色柱子在地圖上、紅色柱子地圖上沒有、綠色小柱是地上的標籤(地標)。左下是果蠅腦實際看到的兩眼畫面(黑 = 柱子)。右上是俯視地圖:白線是實際飛的路線、綠色虛線是無人機以為自己在哪。右下是果蠅腦的 17,307 個神經細胞,這一刻有發出訊號的會亮。影片照實際速度播放(1×);畫面文字是英文。

地圖過時・果蠅腦:完成 三根紅柱子不在地圖上、正擋在路線上。每次柱子在眼睛裡變大,腦就往一邊閃。花了 33.7 秒,依序經過兩個航點並在終點停住。
地圖過時・人寫的規則:撞上 同一個場景。人寫的規則看左右哪邊的柱子比較大來決定往哪移;紅柱子正擋在前方時左右差很小,閃得不夠,12.2 秒時撞上。
地標被移動・舊的定位程式:假抵達 目標旁的綠色地標被搬走 1.5 公尺,地圖還是舊位置(俯視圖的空心圈)。快到終點時,舊的定位程式被這個地標帶偏,綠色虛線跳開,無人機停在離目標 2.1 公尺的地方還以為到了。(之後只是一直停著,影片在它宣告到達後 4 秒結束)
地標被移動・新設定:到達 同一個場景。新設定不理會這筆一直對不上的校正,綠色虛線和白線一路重合,29.9 秒時停在正確的位置。
柱林到點・果蠅腦:到達 30 根柱子的柱林,路線是一直線、地圖是準的。腦一路閃了 10 次,花 24.5 秒飛到 20 公尺外並停住。

有柱子的場景:幾次飛到(共 280 場)

用果蠅腦閃避對照組(拿來比的那一組)。同一批場景,每一組都飛一次。

「給正確位置」那組飛到的次數比用機上定位的果蠅腦略少。這是柱林裡飛行路線容易分岔造成的,不代表機上定位比較好(我們查過三種可能的原因,都排除了)。果蠅腦和人寫的規則在這裡差不多:另一批新場景的正式比較是人寫的規則 252、果蠅腦 239,只能說果蠅腦不輸超過 10%。

地圖過時:路上多了地圖沒標的柱子(共 200 個任務,每個任務 3 段、約 33 公尺)

用果蠅腦閃避對照組。路線是照舊地圖規劃的,新柱子正擋在路上。

不避障那組一定撞上。人寫的規則看左右哪邊比較大來決定往哪移,柱子正擋在前方時左右差很小,閃得不夠(這是推測)。果蠅腦會選一邊閃到底。這個差距是事先寫好判定標準、用全新的 200 個任務重新驗證出來的。

閃避動作調溫和:300 個柱林場景,撞柱或飛出場地的次數(越少越好)

原本三種溫和的版本

原本果蠅腦每次閃避都用力往旁邊衝,在柱子密的柱林或走廊裡會左、右、左連續來回,無人機就翻掉。不用腦、只用程式重複觸發閃避,也會出現一樣的狀況。三種溫和的版本都更好,最後採用「往旁邊加速的上限減半」(圖上標「加速度減半」)。m/s 是每秒幾公尺。

閃避之後怎麼辦:6 根擋路柱子的任務,完成幾個(兩輪合計 500 個)

原本(閃完照常飛)閃完減速 + 迷路時退回找地標(現在採用的設定)

閃完先放慢 1.5 秒,閃得比較乾淨。如果連續 8 秒沒看到任何地標,就退回上次看到地標的地方、原地轉一圈找;同時定位程式只在至少 2 個地標互相印證時才大幅修正位置。兩輪合計 820 個任務一次假抵達都沒有(原本 3 次)。代價:一般任務(柱子少或地圖準確,每輪 160 個)兩輪分別少完成 3 個、5 個;6 根柱子的任務兩輪都多完成 21 個,但第二輪沒有達到事先定的統計門檻(可能只是碰巧)。這是 Huckly 依安全優先選的:真機停錯地方可能撞到人或東西,比任務沒完成更糟。

一步步做了什麼

13 步的進度✓通過 5✗沒過 3◐部分 / 有但書 1·紀錄 4

點任一步,看做了什麼、結果如何。

看原始表格
步驟做什麼結果
把「機上」和「模擬器」分開讓導航程式只能看到感測器資料;想偷看模擬器知道的正確答案(真正的位置),會被自動檢查擋下✓ 舊實驗加上這層之後,每一場的結果都相同
機上定位光流 + 陀螺儀 + 每 5 公尺一個地標;試直線、繞圈、遮住一段看不到地標✓ 改良版定位誤差 9 公分以內;看不到地標最多可以撐 20 公尺
到點(前兩輪)飛到 5 / 10 / 20 公尺外並停住,五種柱子場景✗ 第一輪走廊場景沒過;第二輪是判定標準本身設計錯(結局有點隨機時,兩組完全一樣也過不了)
到點(第三輪)判定標準改成:先算過「兩組一樣時會不會誤判」再定✓ 通過
閃避太猛四種閃避方式各跑一組,比柱林與到點✓ 往旁邊加速的上限減半最好;用它重跑全部關卡也通過,翻機 0 次
果蠅腦對人寫的規則一般柱林;地圖過時兩種情況一般柱林裡果蠅腦不輸超過 10%(人寫的規則略多);地圖過時時果蠅腦較好,差距在統計上很難是碰巧
多個航點3 段路線,用預先給的地圖規劃地圖準確時完成 95%,但這時避障是多餘的(路線本來就繞開柱子);地圖過時時沒有腦就全部失敗
地標被人移動地上的標籤被搬走 1.5 公尺,地圖還是舊位置✗ 原本的定位程式約四成假抵達 → 關掉「校正連續被拒絕就強制採用」後 2%,✓ 通過
閃完之後的反應地圖過時時試四種:照常飛、看遠一點、減速、重新規劃路線減速最好(6 根柱子的任務 44 → 64 / 100),但少數幾趟定位跑掉而假抵達(5 / 200),✗ 差一點沒過
找原因一格一格看那幾趟都是閃避時飛離了有地標的那一帶、連續好幾秒看不到地標,回來後的校正又被當成錯的而不採用
減速 + 迷路找回來加「退回上次看到地標的地方找」與「多個地標互相印證才修正」,五組比較✓ 減速通過(93 → 119 / 200);加了找地標的組假抵達 0,但完成數略少
確認「假抵達歸零」Huckly 選假抵達優先;用全新 460 個任務重新驗證假抵達再次 0;完成數的優勢沒達到統計門檻(可能只是碰巧;✗ 依事先寫好的判定標準不過)。Huckly 看過結果,仍採用這組
慢飛每秒 0.5 公尺(室內真機會飛這麼慢)和每秒 1 公尺差不多
這一頁能說什麼、不能說什麼

這一頁能說什麼、不能說什麼

  • 能說:在模擬裡,只用機上感測器(加上地上的標籤)就能飛到指定地點並停住;果蠅腦的閃避讓到達明顯變多,而且要真腦才有用。
  • 能說:預先給的地圖過時、柱子擋在路上時,果蠅腦的閃避比 20 行人寫的規則好(123 對 92,事先寫好判定標準、新場景重新驗證)。
  • 不能說「果蠅腦比傳統做法好」——一般柱林裡人寫的規則略多,果蠅腦只是不輸超過 10%。
  • 不能說「果蠅腦會導航」——定位、規劃路線、帶著無人機飛過去,全是傳統程式;果蠅腦只負責閃避。
  • 不能說「真機也行」——全部是模擬;地上的標籤、光流的誤差都是模擬出來的,真機還沒量。
  • 能說:加上「迷路時退回去找地標」後,820 個模擬任務沒有一次停在錯的地方以為到了。
  • 不能說「新設定完成更多任務」——6 根柱子的任務多了,但沒達到事先定的門檻;一般任務反而略少。採用它是安全上的選擇,不是通過了判定標準。
  • 地圖過時又障礙多時,任務只完成約六成;規劃路線的程式不會因為路被擋住而重新規劃(試過,反而更差)。
不靠 GPS 飛到 5 / 10 / 20 公尺外並停住
做到了
沒有障礙物的場地 60 / 60 都飛到;有柱子時,機上定位和「直接給正確位置」一樣好
果蠅腦的閃避有用,而且要真腦才有用
249 / 120 / 113
280 個有柱子的場景裡飛到的次數:真腦 / 不避障 / 假腦
把閃避動作調溫和
137 → 84
300 個柱林場景裡,撞柱或飛出場地的次數;翻機歸零。腦本身的設定一項都沒改
地圖過時、柱子擋在路上時,果蠅腦對人寫的規則
123 對 92
200 個任務裡完成的數量,差距在統計上很難是碰巧;一般柱林裡則是人寫的規則略多
地標被人移動 1.5 公尺時的假抵達
40% → 2%
定位程式原本有一條「校正連續被拒絕就強制採用」的設定,這是把它關掉之後的結果;正常情況不受影響
迷路時退回去找地標:以為到了、其實沒到的次數
0 / 820
地圖過時與地圖準確的任務合計,兩輪全新場景;代價是一般任務完成的略少

文字說明

這一頁在講什麼

分工是:傳統程式認路,果蠅腦負責閃避。前幾頁的實驗想讓果蠅腦什麼都做,但「自己找方向」一直做不出來。這一頁換了分工:傳統程式負責「我在哪裡、往哪裡飛」——用光流(鏡頭往下看地面怎麼移動)、陀螺儀(量轉動的感測器)和地上的標籤推算位置、規劃路線、帶著無人機飛過去;果蠅腦只做它已經證明做得到的事:看到東西逼近就閃開。全部在電腦模擬裡,還沒上真機(真的無人機)。

2026-10-08。每一項結論都事先寫好判定標準、用全新的場景跑,結果出來後不改標準。

先看懂幾個詞

先看懂幾個詞

機上定位:無人機只用自己身上的感測器推算位置——光流(鏡頭往下看地面怎麼移動)、陀螺儀(量轉了多少),每隔約 5 公尺經過一個地上的標籤(地標)時校正一次。對照組(拿來比的那一組)是「直接給它正確位置」,只有模擬裡做得到。

不避障:同一套導航,但把腦拿掉,不閃任何東西。假腦(接線被隨機打亂):神經細胞和連線的數量都一樣,只把誰接到誰隨機換掉。真腦(照真果蠅的接線)要明顯贏過這兩組,才算「真的是果蠅的接線在做事」。圖上標的「打亂接線」就是假腦。

人寫的規則:人寫的 20 行簡單規則——左右兩邊誰看起來越來越大,就往另一邊移。用來比「果蠅腦有沒有比傳統做法好」。圖和回放按鈕上標的「手寫規則」就是它。

假抵達:無人機自己以為到了、停下來,實際上離目標超過 1 公尺。

柱林:立了很多柱子的場地。航點:路線上要依序經過的點。