感測器偏置與漂移
偏置與漂移是感測器即使本身沒壞,也會犯下的兩種「謊言」。偏置是一種穩定不變的偏移:就像一台體重秤永遠多讀兩公斤,或者機器人的轉動感測器在它紋絲不動地坐著時,仍悄悄報出一點點轉動。這個誤差始終存在,大小也始終一樣。漂移則是更狡猾的表親——這個偏移量會隨時間慢慢遊走。今早多讀兩公斤的那台秤,等機身熱起來,到了晚上可能就多讀三公斤了。被測的東西從沒變過,讀數卻一點點偷偷爬升。
當機器人把許多讀數隨時間累加起來時(這個手法叫積分),這些小誤差就會變得極其要命。慣性測量單元裡的加速度計或陀螺儀並不能直接感知位置;機器人必須不停地把一個個微小的運動讀數加總,才能猜出自己此刻在哪。可每一個讀數都帶著那一點點偏置,每秒上千次的加總會讓誤差迅速堆積。一台只差了一絲絲的陀螺儀,累加一分鐘之後,就會一口咬定機器人轉了相當明顯的角度,而其實它根本沒轉。這正是為什麼手機的計步器、或無人機純靠運動追蹤定位時,會慢慢迷失方向——偏置一直在不停地複利滾雪球。
工程師從三方面反擊。趁感測器確知靜止時測出它的偏置,再把這個量減掉(這叫校準)。給漂移如何爬升建立模型,預測它的走向。而最有力的辦法,是引入第二個不會隨時間漂走的感測器——比如 GPS、或一台盯著房間裡固定地標看的攝影機——來溫和地糾正那個遊走的感測器。把一個準確但帶雜訊的感測器,和一個平滑但會漂移的感測器摻在一起,正是感測器融合與狀態估計要幹的活。
把一台便宜的無人機靜靜放在桌上,看著螢幕上的航向自己一分鐘慢慢轉過幾度。什麼都沒動——那個爬升的數字,是陀螺儀的偏置被積分成了一個虛假的轉動,正是漂移最典型的樣子。
一個靜止的感測器,讀數卻停不下來:偏置經過時間的積分,就變成了漂移。
偏置是恆定的,一旦量出來就容易減掉;漂移會隨時間變化,所以一次性的校準永遠不夠——必須反覆重測,或在運行中即時糾正。溫度是兩者常見的誘因,所以有些感測器會自帶一個小溫度計來做補償。