資料關聯問題
資料關聯問題,就是要弄清楚機器人此刻看到的某樣東西,是不是它先前看過的同一樣東西——或者對應到地圖上的哪一項。機器人的感測器遞給它的只是一些光禿禿的測量值:這裡一個牆角、那裡一根樹幹、遠處一團點。它們都沒有貼標籤。機器人想用一次新觀測來校正自己的位置,就得先回答一個看似簡單卻很棘手的問題:這是我五秒前記下的那個牆角,還是一個全新的牆角?想像你走進一個停滿幾乎一模一樣銀色汽車的停車場、要找出自己那輛——每輛車看起來都像是答案,一旦認錯,你就會朝錯誤的方向走去。
這件事之所以重要,是因為後面幾乎所有環節都取決於配對是否正確。如果機器人把今天的觀測連到了正確的舊地標上,這條連接就會讓它對自己位置的估計更加準確。可一旦它自信地配錯了對——比如認定兩根不同的燈柱是同一根——它就把一個謊言摺進了地圖裡,而這個錯誤會悄悄地汙染建立在它之上的一切。錯誤的關聯是地圖被扭曲到無可挽救的主要原因之一,所以系統會借助一些檢驗來追問「這次配對在幾何上說得通嗎?」,並且寧可跳過一個可疑的配對,也不願貿然認定一個錯誤的配對。
要把它做好,通常意味著把多條線索綜合起來:新測量值離機器人原本預期那個舊特徵的位置有多近、這個特徵的外觀有多與眾不同,以及一整批配對放在一起看(而不是一個一個孤立地看)是否彼此一致。環境越難——重複的走廊、一排排一模一樣的貨架、一片相似的樹林——資料關聯問題就越是主導一切,因為到處都是看起來一樣的東西,而一個自信的錯誤代價高昂。
一台倉庫機器人駛過一排又一排一模一樣的貨架。要知道自己身在哪條通道,它必須把此刻看到的那個角,正確地繫到地圖上對應的那個角上——而不是繫到二十公尺開外、長得一模一樣的另一個角上。
長得一模一樣的環境,恰恰是配對最容易出錯的地方。
錯誤的配對有兩種:把兩樣本來不同的東西連在一起(誤配),以及沒能把同一樣東西的兩次觀測連起來(漏配)——兩者都有害,但一個自信的誤配通常破壞力更大。