一個你早就會的小把戲
閉上眼睛,用手指摸自己的鼻子。你不用看就能做到,因為你身體裡總有某個部分知道自己的手臂在哪裡——手肘彎了沒有、手擺到了多遠。這種內在的身體感覺叫做本體感覺。現在睜開眼睛,去拿桌子對面的咖啡杯。這一次你需要眼睛了:身體內部沒有任何東西告訴你杯子在哪裡——只有朝向外部世界的感官才能告訴你。這種向外的感覺叫做外感受。
機器人的感官也沿著完全相同的界線一分為二。這個唯一的劃分——我測量的是自己的身體,還是外部世界?——是整個感測器章節最有用的地圖。它的名字叫做本體感覺與外感受感知,一旦你看懂了它,後面遇到的每個感測器都會整整齊齊地落進這兩個桶之一。
內部感覺:了解自己的身體
本體感覺感測器測量機器人自身的狀態——它的關節擺在什麼位置、轉得有多快、馬達在多用力地推。它們通常體積小、便宜、速度快,而且就直接裝在關節和電子元件裡面。有三種幾乎到處都能見到。
- 旋轉編碼器裝在馬達軸上,數出關節轉了多少——這就是機器人感知四肢位置的方式,直接對應於你知道自己手肘彎著。
- 慣性測量單元(IMU)把一個加速度計(感受推力和恆定的重力拉扯)和一個陀螺儀(感受轉動)打包在一起。兩者合起來告訴機器人哪邊是上、身體正怎樣傾斜——這就是你內耳的平衡感,裝進了一塊晶片裡。
- 裝在手腕處的力/力矩感測器,或是馬達驅動器內部的電流檢測,告訴機器人自己推得有多用力、或被推得有多用力——這是它對用力和接觸的感覺,就像你感覺手裡袋子的重量。
內部感覺的妙處在於,它們在一片漆黑、濃霧瀰漫或真空環境中照樣工作——它們從不依賴外界配合。它們的弱點是只能描述身體本身,永遠說不出周圍的房間。即使輪子在冰面上空轉、毫無作用,編碼器也會樂呵呵地告訴你它轉了十圈。
外部感覺:讀取世界
外感受感測器朝外,測量那些機器人無法控制的東西:牆在哪裡、桌上擺著什麼物體、機器人在地圖上處於什麼位置。它們就是機器人找到杯子的途徑。常見的幾種各有各的脾氣。
- 雷射雷達向四周掃射雷射光束,並對每一束反射回來所花的時間計時,從而勾勒出一圈清晰的距離——就像機器人每秒用成千上萬把看不見的捲尺去摸清房間。
- RGB-D/深度相機給出一張普通彩色影像,外加每個像素的距離,於是機器人既能看到物體長什麼樣,又能知道它有多遠。
- 超音波(聲納)感測器發出一聲啁啾並聆聽回聲——便宜、作用距離短,正是蝙蝠在黑暗中飛行用的同一招。
- GNSS/GPS接收機聆聽頭頂的衛星,確定機器人在整個地球上的位置——這是戶外的方位感,精度可達幾公尺。
外部感覺強大,卻喜怒無常。相機在強光或黑暗中很吃力,雷射雷達會被玻璃和雨水搞糊塗,聲納會被柔軟的表面騙到,GPS一進室內或走到高樓之間就消失了。它們都依賴外界配合——這正是機器人永遠不能只信任其中一個的原因。
為什麼機器人兩者都需要,以及接下來發生什麼
內部感覺和外部感覺互相補位。即便相機被太陽晃花了眼,IMU也能讓無人機在零點幾秒內保持水平;而相機又能糾正任何IMU在幾分鐘裡累積起來的緩慢漂移。把若干不完美的讀數融合成一個更好的估計,這叫做感測器融合,它是幾乎每一台能幹的機器人背後那台默默運轉的引擎。
所有這一切都匯入機器人學中最基本的循環:感知,然後規劃,然後行動,然後再次感知。這個循環就是感知—規劃—行動範式。感知是第一步,所以後續每一個決策的品質,都被機器人最初對處境的感受好壞所限定。垃圾進,垃圾出——這正是後面的指南要花那麼多篇幅講雜訊、漂移、校準這些原始訊號問題的原因。
整章的一張地圖
下面把本章其餘部分,按照你現在隨身帶著的那一個問題分了類。把它放在手邊:當後面每一篇指南介紹一個感測器時,問問自己它屬於哪一欄,這個新概念就已經有了歸處。
QUESTION THE SENSOR ANSWERS SENSORS YOU'LL MEET
--------------------------------- -----------------------------
INNER "What is my body doing?" encoder, IMU (accel + gyro),
(proprioceptive) force/torque, tactile
OUTER "What is the world doing?" LiDAR, RGB-D camera, sonar,
(exteroceptive) GNSS / GPS
BOTH "How much do I trust it?" noise, bias & drift,
(applies to every sensor) calibration, sampling,
filtering, sensor fusion注意第三行。雜訊、校準和融合根本不是某一類感測器——它們是處理任何感測器交給你的東西所遵循的規則。這正是本章在那裡收尾的原因:一旦你知道了機器人能感覺到什麼、又該信它幾分,你就準備好把原始訊號變成真正的理解了。