空間數學與剛體運動

座標系(參考系)

座標系就是你選定的一個起點,再加上一組用來衡量一切的方向。想像你站在房間的一個角落:把那個角當作零點(也就是原點),然後把一面牆叫作「前」,另一面牆叫作「左」,正上方叫作「上」。這樣一來,房間裡任何一個位置都可以用三個數字來描述——往前多遠、往左多遠、往上多高。這些數字之所以有意義,正是因為你事先約定了那個角落和那三個方向。這套約定好的「角落加方向」,就是座標系。

機器人之所以在意座標系,是因為一台機器人從來不是孤零零地待在一個地方。房間有自己的座標系,機器人的底座有一個,它的夾爪有一個,相機有一個,桌上的一隻咖啡杯也有一個。同一隻咖啡杯,在每個座標系裡的數字都不一樣——離相機近、離底座遠、在夾爪的稍微偏左處。這些數字沒有哪一個是「真正的」位置;每一個都是從某一個座標系講出來的真相。說「杯子在 (0.3, 0.1, 0.0)」,在你說清這些數字是在哪個座標系裡量出來之前,是沒有意義的。

正因為如此,機器人裡幾乎每一次空間計算,其實都是座標系之間的對話:知道某樣東西在一個座標系裡的位置,再算出它在另一個座標系裡的位置。座標系搞錯了,機器人就會滿懷信心地把手伸到杯子旁邊整整三十公分的地方。所以搞機器人的人對「隨時講清楚是哪個座標系」幾乎到了挑剔的地步,就像細心的廚師總會講清單位——「200」,是什麼的 200?克?毫升?座標系,就是位置和方向的那個「是什麼的」。

一條導航日誌寫著:「障礙物在機器人底座座標系下位於 (2.0, 0.0, 0.0)。」這表示它就在機器人正前方兩公尺處——哪怕機器人一邊轉向一邊行駛,障礙物在世界裡的位置並沒有變,但它在底座座標系裡的數字卻在變,因為底座座標系是隨機器人一起移動的。

同一個障礙物,從底座座標系而不是世界座標系來描述。

機器人裡幾乎總是用右手座標系:如果右手手指從第一根軸彎向第二根軸,那麼大拇指就指向第三根軸的方向。

又稱
reference frameframe参考系參考系坐标架座標架