回到課程地圖 第 五 講

SLAM:同步定位與建圖

前四講的基礎篇告一段落,這一講開始拆解 sense–plan–act 的技術元件,先從 sense 談起。要讓機器人從人類示範中學習,得先把一連串感測器觀測還原成有空間座標的軌跡;講者以 UMI 手持夾爪、Meta Project Aria 眼鏡與現場的 iPad 重建為例,說明 SLAM 如何同時建立持久的地圖並估計裝置的姿態。

課堂錄影約 192 分鐘

快速掌握

本講核心:機器人要從人類示範中學習,第一步是把一連串感測器觀測還原成「有空間座標的軌跡」與「持久的世界表示」,這正是 SLAM(同步定位與建圖)要解決的問題。講者從 UMI 手持夾爪出發,依序拆解三個模組:用座標系與轉換矩陣表示運動、用針孔相機模型加上深度還原幾何、把多幀點雲轉到共同座標系來建立持久地圖;最後提醒兩兩配準的小誤差會累積成漂移,必須靠迴路閉合取得全域一致。

  1. 前四講(基礎篇)結束,第 5–7 講進入 sense–plan–act 的技術元件,本講從 sense 開始。
  2. SLAM:建立環境的持久表示(地圖),同時估計機器人或裝置相對於這張地圖的姿態。
  3. 每個觀測都配一個相機座標系;轉換矩陣 ATB 把兩個座標系連起來,串起來就是軌跡。
  4. 一個像素只對應一條射線,必須加上深度 Z 才能反投影回 3D;整張深度影像反投影後就是點雲。
  5. 只做兩兩配準(里程計)會漂移;SLAM 追求的是全域一致的表示,需要迴路閉合。

進入 sense–plan–act:從 sense 開始

Course schedule: Foundation, Sense-Plan-Act, Physical AI Systems, Evaluation
課程進度表:第 1–4 週是基礎(Foundation),第 5–7 週是 Sense-Plan-Act(SLAM、深度估計、路徑規劃與機器人導航),之後是自駕系統、情境式安全評估、Isaac Sim 與機器人操作等主題。16:27

講者先花幾分鐘回顧上週:demo 不等於部署、可靠度要定義在運行設計範圍(ODD)上、要從「避免失敗」轉向「管理失敗」,以及「部署是學習的延續」。他說這是前四週的結論,並鼓勵大家回頭檢查自己能不能獨力說明每一講提到的概念。

Focus of today's Lecture
本講三個重點:表示運動(姿態、參考座標系與轉換)、還原幾何(投影、深度與 3D 重建)、建立持久的世界(配準與建圖)。核心問題:怎麼把感測器觀測變成有空間依據的軌跡,以及物理世界的持久表示?18:00
Lecture 3 to Lecture 5-7: Sense, Plan, Act
前後幾講的關係:第 3 講問經驗從哪裡來,第 4 講問部署到真實世界需要什麼,第 5–7 講問在那個世界運作需要哪些能力——也就是 Sense → Plan → Act。19:57

放回資料飛輪來看:第 3 講談經驗從哪裡來,第 4 講談部署需要什麼,接下來三講談「在那個世界運作需要哪些能力」,也就是第一講提過的 sense–plan–act 典範。這一講只處理第一段:sense。

為什麼從 UMI 談起:把人類示範變成機器人控制

Universal Manipulation Interface (UMI)
UMI(Universal Manipulation Interface):左邊是人拿著兩支手持夾爪洗碗,右邊是雙臂機器人完成同一件事。開源專案,用 3D 列印件、GoPro 與市售零件就能自己做。23:33

講者沒有用典型的機器人學方式介紹 sense–plan–act,而是從第 3 講提過的一種經驗收集方式切入:遙操作的一個實例,Universal Manipulation Interface(UMI)。影片左邊,示範者兩手各拿一支 UMI 夾爪,抓盤子、洗碗、放好;右邊的雙臂機器人做同一件事,示範者中途關水、刻意擾動,機器人還能應對。講者的實驗室依開源說明做了好幾支,之後會讓同學實際拿來試。

Industrial Robots: Pick-and-Place
工業機器人的取放:工程師寫好腳本(MoveTo 位置 A、閉合夾爪、MoveTo 位置 B、張開夾爪),A、B 都是寫死的姿態。固定物件、固定任務、固定環境,是高度工程化、只在高度結構化環境運作的系統。26:21

為什麼要繞這一圈?工廠的取放任務可以預先寫好程式;但如果要抓任意物件、完成像「拋擲」這種會隨物件特性而變的任務,就很難事先寫好。於是問題從「工程師指定軌跡」變成「能不能從示範中學」。

Classical robot programming vs Learning from Demonstration
傳統機器人程式設計:工程師指定軌跡。示範學習:我們「還原」示範出來的軌跡。27:24
UMI Overall Pipeline
UMI 整體流程:人類示範(手持裝置)→ 感測器(腕部相機/IMU)→ 軌跡擷取 τ = {(ot, at)}, t = 1:T → 資料集 D = {τN} → 行為複製(behavior cloning)→ 機器人執行。本講只談橘色框:從感測器到軌跡擷取。29:30

UMI 的流程是:人拿著裝有腕部相機與 IMU 的手持裝置示範,從記錄中擷取軌跡,累積成資料集,用行為複製(一種示範學習方法)訓練,再讓機器人執行。後段的學習與部署不是這一講的重點,講者要談的是中間那個「秘訣」:怎麼從感測器資料得到軌跡。

UMI wrist camera observation and recovered trajectory
左邊是 UMI 腕部魚眼相機看到的畫面,右邊是從這段觀測還原出的 3D 軌跡;把很多段觀測與軌跡收集起來,就是行為複製的訓練資料。29:57
重點:從示範中學習,第一步不是訓練模型,而是把示範還原成軌跡——一個 agent 在 3D 環境中移動時的路徑與狀態。

SLAM 是什麼:持久的地圖,加上自己的姿態

What is Simultaneous Localization and Mapping (SLAM)?
SLAM 的定義:建立環境的持久表示(地圖),同時估計機器人(或裝置)相對於這張地圖的姿態。31:57

要回答「怎麼把觀測變成有空間依據的軌跡與表示」,講者介紹同步定位與建圖(simultaneous localization and mapping,SLAM):一邊建立環境的持久表示,也就是地圖;一邊估計機器人或裝置相對於這張地圖的姿態。

Project Aria: Machine perception services, SLAM and hand tracking
Meta Project Aria 眼鏡的機器感知:下方是眼鏡上多顆灰階相機的畫面,右邊是邊走邊建出的廚房稀疏點雲地圖、移動軌跡,以及即時追蹤的手部骨架。35:15

例子是 Meta 的 Project Aria 研究用眼鏡:上面有多顆相機、IMU 等感測器,朝內的相機還能追蹤瞳孔。戴著它在廚房裡活動,就能即時建出廚房的稀疏點雲地圖、畫出移動軌跡,並把從影像辨識出的手部骨架放進同一個 3D 空間,看到手正在切東西、拿東西。

講者接著問:畫面上那條軌跡是「誰的姿態」?同學猜機器人、猜那位女士、猜頭部。這個問題他留到後面才回答(見下文「相機投影矩陣」一節)。

現場示範:用 iPad 重建教室

講者請一位同學拿 iPad(兩顆相機加一顆 LiDAR)繞教室一圈:畫面上紅色的區域代表裝置還沒看過的地方,她的任務是一邊移動、一邊旋轉傾斜 iPad,把紅色盡量消掉,最後回到起點。裝置持續收資料、處理成 3D 幾何,再按一下把顏色材質貼上去,就得到一個可以任意旋轉的教室模型。因為現場改用有線網路,iPad 畫面接不上筆電,講者答應之後把影片上傳給線上的同學。

Classroom reconstruction with the estimated device trajectory
另一間教室先前的重建結果:綠線是拿著 iPad 的同學走過的路徑,沿途每一個小視錐都是一次觀測,各自有自己的座標系。1:20:48

下課後講者用另一間教室先前的重建結果說明兩件事。第一是持久的表示:講者站在講台只看得到台下的視角,重建之後卻能看到「坐在後排的學生看講者」的畫面——不是想像出來的,而是因為那位同學真的走過那裡、拍下了資料。第二是姿態:那條綠線不會是直線,因為拿裝置的人一直在移動、旋轉、傾斜;沿線每一個觀測,都用一個座標系表示它在 3D 空間中的位置。

What is Visual SLAM?
視覺 SLAM:把影像轉成環境的持久表示,同時估計機器人(或裝置)相對於這個表示的姿態。50:06

接下來要談的是視覺 SLAM:輸入換成影像。差別在於用了哪些感測器;iPad 與 Project Aria 都同時用了相機、LiDAR 或 IMU,所以結果才會那麼好。本講剩下的時間就拆成三個模組:表示運動、還原幾何、建立持久的世界。

表示運動:每個觀測配一個相機座標系

Key Idea: Associate Each Observation with a Camera Coordinate Frame
關鍵想法:把每個觀測對應到一個相機座標系。三張照片由同一台相機在三個時間點拍下,各自放上一組 XYZ 座標軸;把三個原點連起來的紅線,就是軌跡。56:00

第一個模組要回答:在座標系 B 觀察到的東西,怎麼在座標系 A 裡描述?講者的做法是把每個觀測對應到一個相機座標系。拿著相機拍一張、移動一下再拍一張、再移動再拍一張,就得到三張影像;在每個拍攝當下的相機上放一組依右手定則定義的 X、Y、Z 軸,三張影像就對應到三個座標系。這等於把高維的影像資料,整理成低維的結構。

原點放哪裡其實由你決定:可以是教室角落、桌上的筆電,也可以是相機本身。只要選定原點與三個軸的方向,就能描述任何物體的位置。把每個時間點的相機當成一個座標系的原點,再把這些原點連起來,就得到相機在空間中的運動軌跡。接下來的問題是:要用什麼語言描述這段運動?

描述運動的語言:旋轉、平移與齊次座標

講者說旋轉的表示應該是先修知識,所以講得很快。2D 平移是 p′ = p + t,旋轉是 p′ = Rp,兩者合起來是 p′ = Rp + t;問題是平移沒辦法和旋轉放進同一個 2×2 的矩陣乘法裡。

Homogeneous Coordinates enables Combining Rotation and Translation
齊次座標:在每個向量最後補一個 1,旋轉與平移就能寫成一次矩陣乘法。1:26:12

解法是齊次座標:在每個向量後面補一個 1,(x, y) 變成 (x, y, 1);要轉回笛卡兒座標,就把前面的元素除以最後一個元素。這樣旋轉矩陣和平移向量就能組成一個齊次轉換矩陣,用一次矩陣乘法同時完成旋轉與平移。

Transformation Matrix
用齊次座標表示 2D 平移與 2D 旋轉,兩者合併成一個轉換矩陣 [R t; 0 1]。1:27:54
3D Transformation: right hand rule
3D 座標系用右手定則決定 Z 軸方向。大多數機器人系統遵循右手定則,但部分電腦圖學軟體或物理引擎(例如 Unity)不是,使用時要小心。1:30:21

到了 3D,講者用自己實驗室的空間舉例:機械手臂、架上的多台相機、桌上的每個物體,都可以各自定一個 3D 座標系,再加上一個世界座標系。3D 平移和 2D 差不多,差別在旋轉:2D 是繞一個點轉,3D 是繞一條軸轉。

3D Rotation with Euler angles; rotation matrix is non-commutative
以歐拉角表示 3D 旋轉:繞 x、y、z 軸分別轉 α、β、γ,三個旋轉矩陣相乘。注意:旋轉矩陣不可交換,順序不同就是不同的旋轉。1:32:21

常見的表示是歐拉角:繞 z 軸是偏航(yaw)、繞 y 軸是俯仰(pitch)、繞 x 軸是翻滾(roll),三個矩陣依序相乘就是 3D 旋轉。講者特別提醒順序不能換。3D 轉換矩陣則是 4×4:左上 3×3 是旋轉、右邊 3×1 是平移;0P = 0T1 1P 表示把座標系 1 中的點轉到座標系 0。

參考座標系:同一個點,不同的座標

Reference Frames (Coordinate System)
同一個綠色點,在藍色座標系中是 (2, 1),在紅色座標系中是 (4, 4)。相機移動時,同一個 3D 點在不同相機座標系下的座標也不同。1:38:27

這三張照片之間,參考座標系在變嗎?在變——每拍一張,相機就換了一個座標系。所以同一個 3D 點,從第一台相機看有一組座標,從第二台相機看是另一組;點沒變,變的是座標系。講者用 2D 的例子說明:同一個綠點,在藍色座標系是 (2, 1),在紅色座標系是 (4, 4)。

Represent Motion: AP = ATB BP
表示運動:AP = ATB BP。每個觀測都有自己的座標系,轉換矩陣把兩個座標系連起來。1:41:27

把座標系 B 中的點 BP 轉到座標系 A,只要乘上從 B 到 A 的轉換矩陣 ATB。回到三張照片:第一、二台相機之間要一個轉換矩陣,第二、三台之間要另一個,方向可以從 1 到 2,也可以從 2 回到 1。

重點:每個觀測都有自己的座標系;轉換矩陣把兩個座標系連起來。這是本講後面所有內容的基礎。

但還有兩個問題沒回答:相機上那個「假想的」座標系到底放在哪裡、原點怎麼定?以及為什麼重建結果能讓我們從不同視角看這個世界?前者要靠針孔相機模型。

還原幾何:針孔相機模型

Pinhole Camera Model
針孔相機模型:光線穿過針孔(光圈/相機中心),在成像平面上形成倒立的影像;翻到針孔前方就是虛像。焦距 f 是針孔到成像平面的距離。問題:2D 像素位置 (u, v) 和世界中的 3D 點 (X, Y, Z) 有什麼關係?1:48:33

針孔成像大家國中可能做過:蠟燭的光穿過小孔,在後方屏幕上成一個縮小、倒立的像;把它翻到針孔前方,就是「虛像」。焦距是針孔到成像平面的距離;針孔在現代相機上就是光圈,也就是相機中心。把原點放在針孔、依右手定則讓 Z 軸沿著光軸,就替相機定好了 3D 座標系——這也回答了上一節「座標系放在哪裡」的問題。

3D World to Image projection; Image + Depth to 3D World unprojection; why do we need Z?
投影:3D 世界 (X, Y, Z) → 影像 (u, v)。反投影:影像加深度 (u, v, Z) → 3D 世界 (X, Y, Z)。為什麼需要 Z?因為一個像素只對應一條射線,不是唯一的 3D 點。1:50:27

3D 點投影到影像叫投影;反過來,用像素位置加上深度回到 3D,叫反投影。為什麼一定要有深度?因為投影時深度資訊被丟掉了:影像上的一個像素,對應的是從相機中心射出去的一整條射線,物體可能在射線上的任何位置。不給 Z,最多只能知道它在那條射線上。

Pinhole Camera Model equations with homogeneous coordinates
由相似三角形得到 u/f = X/Z、v/f = Y/Z,也就是 u = fX/Z、v = fY/Z。除以 Z 是非線性的;改用齊次座標,就能寫成 3×3 矩陣乘上 (X, Y, Z),得到 (u′, v′, w),再除以 w 回到 (u, v)。1:58:49

關係式來自兩組相似三角形:焦距 f 對應深度 Z,像素座標 u、v 對應 X、Y,所以 u = fX/Z、v = fY/Z。式子裡有除以 Z,是非線性的;再次借助齊次座標,就能寫成矩陣乘法,算出 (u′, v′, w) 後再除以 w。講者建議大家看著圖自己推一次,不要只抄投影片上的式子。

重點:一個像素只告訴你一條射線;要還原 3D 位置,必須知道深度。

從影像座標到相機投影矩陣

第二次下課回來,講者承認這段從真實世界跳到抽象空間,容易讓人迷路;但最核心的想法其實只有一個:3D 座標系。座標系會隨相機一直變,我們要描述這些變動,最終建出持久地圖與裝置的姿態。

他也回頭回答 Project Aria「誰的姿態」:答案取決於開發者選了哪裡當參考座標系,可能是某一台相機,也可能是眼鏡中心;只要清楚描述各台相機之間的關係,換到哪裡都可以。他以自己做過的自駕車專案為例:據他所知,那些系統把原點定在車體上方便控制車輪的位置,而不是某顆感測器;這樣就必須知道相機、LiDAR 各自到那個點的轉換矩陣,這件事叫校正。

Image Coordinate (Example 1)
影像座標:推導針孔模型時原點放在影像中心,但影像處理慣例把原點放在左上角,u 沿著行、v 沿著列。兩者之間差一個主點 (u0, v0);例如 640×480 的影像,(300, 100) 換成左上角原點後是 (20, 40)。2:25:06

座標系不只一種:有相機座標、世界座標,還有影像座標。推導時把影像平面的原點放在中心,但影像處理習慣把原點放在左上角,所以還要再轉一次,在式子裡加上主點 (u0, v0)。另一頭,場景裡的物體通常是用另一個座標系(世界座標)描述的,要套用針孔模型,得先用世界到相機的轉換把它轉進相機座標系。

Camera Projection Matrix
相機投影矩陣 P:先用外參 [R|t](旋轉與平移)把世界座標的點轉到相機座標,再乘上內參矩陣 K(焦距 f、主點 u0、v0),得到影像上的 (u, v)。2:27:22

三塊拼起來就是完整的相機投影矩陣:齊次座標下的 3D 點先經外參(世界到相機的旋轉與平移)轉到相機座標系,再乘上包含焦距與主點的內參矩陣,投影到影像平面。講者提到 YouTube 上有人問這些是不是他發明的——不是,這是電腦視覺四十多年的教科書內容,他只挑了一小部分。電腦視覺除了辨識、分割、追蹤這些「辨識」面向,還有一條很長的幾何傳統,專門研究 3D 與 2D 之間的關係,這正是機器人操作與導航這類下游任務的基礎。

深度從哪裡來:深度相機、反投影與點雲

How depth camera works?
量測深度的方法有很多:雙目(立體)相機、結構光、飛行時間(time of flight)與 LiDAR。怎麼選取決於應用:要看多遠、要多準、要不要在戶外運作。2:32:18

前面假設已知 Z,那 Z 從哪裡來?深度感測器有很多種,選擇取決於應用。講者用實務經驗提醒規格不能照單全收:有些小型感測器只在一公尺內有效,而且距離越遠誤差越大;某款感測器宣稱可達 120 公尺,但那麼遠只剩零星幾個點,看不出是車、是人還是自行車騎士,他自己只信到 60 公尺左右。

RGB-D camera example video captured with Intel D435
Intel RealSense D435 從上往下拍,學生伸手到桿子上拿東西;右邊是深度(越暖色越近)。桿子在深度圖裡比實際寬很多,手部邊緣也充滿雜訊。2:34:39

真實資料並不乾淨。這段 D435 影片裡,桿子離相機不到 50 公分,深度圖上卻寬得不合理;手移動時也帶著大量雜訊。深度影像裡也常有些區域的值是 0,那是缺少深度:雙目或結構光都要在影像間找對應點,遇到反光表面就找不到。講者說即使是商用產品也會這樣,原因留到下一講詳談。

Depth Image to 3D Point Clouds
深度影像 → 3D 點雲:已知像素座標 (u, v)、深度 Z 與焦距 f,相機座標下的 3D 位置是 X = (u − cx)Z/f、Y = (v − cy)Z/f。每個像素對應一個 3D 點,所有 3D 點合起來就是點雲。2:40:31

假設感測器夠好:彩色影像是 3×H×W,深度影像是 1×H×W,每個像素記錄一個深度值(公尺或公釐),缺值為 0。套用針孔模型反投影,焦距與主點由相機校正取得,每個像素就得到一個 3D 點;n 個像素得到 n 個點,合起來就是點雲。一幀有 n 個點,100 幀就是 100×n 個點——關鍵問題是:怎麼把它們合在一起?重建結果裡那些白色空洞,就是當時沒拍到的地方。

建立持久的世界:把多幀點雲轉到共同座標系

Different coordinate systems, estimate transformations, transform into a common frame, a persistent map
C1S、C2S、C3S 是三個相機座標系下各自看到的表面。估計 C1TC2、C2TC3,把它們轉到同一個共同座標系,就得到持久地圖。2:45:22

反投影給了三個 3D 觀測,但它們各自活在不同的相機座標系裡。要把它們拼成同一個物理空間,就要估計相鄰座標系之間的轉換,再全部轉到一個共同座標系。共同座標系選哪一個都可以,例如 C1;只要知道彼此之間的關係,就能轉到任何你想要的座標系。

How to acquire C3TC1?
要把 3D 點從 C1 轉到 C3,需要 C3TC1;它可以由 C3TC2 C2TC1 串起來得到,每一項都是一個旋轉矩陣加平移向量。2:49:59

數學上很直接:C1 到 C3 的轉換,就是 C1 到 C2、再 C2 到 C3 兩個轉換矩陣相乘;實際上每一段都要估計,怎麼估計是另一個故事。講者因為時間不夠,把估計方法留到下週(或另外錄一小段),以免大家更混亂。

Reconstruction Pipeline
作業一的重建流程:輸入時間 t 的深度影像 → 量測(把深度影像轉成 3D 表面 St)→ 對應(找 St 與 St−1 之間的對應點)→ 相機姿態估計(用 ICP 對齊新觀測與 St−1)→ 更新重建(把 St 整合進全域點雲)。2:54:33

作業一就是把這些步驟走一遍:把深度影像轉成表面、估計前後兩個表面之間的轉換、把所有表面合併成一個大點雲。估出所有轉換矩陣,也就得到了底層的運動;有了運動加上表面幾何,就能合併出持久的世界。回到 UMI:它真正需要的只有這些轉換,因為目標是擷取軌跡;但要建出那條流程,前面這些基礎缺一不可。

漂移與迴路閉合:SLAM 不只是估計下一個姿態

Drifts in Estimating Transformation
如果每個轉換都帶一點誤差?誤差會累積成「漂移」:就算回到完全相同的起點,估計出的軌跡也不會閉合。只做兩兩配準不等於完整的 SLAM。2:57:00

每次估計的轉換矩陣都會有一點旋轉誤差、一點平移誤差;串乘起來,誤差就一路累積。拿著裝置繞房間一圈回到原地,估出的軌跡終點卻可能落在旁邊。每一段的誤差也許很小,放到整個重建上就是大問題,這在真實世界非常常見。

Odometry, Drift, Loop Closure, Global Consistency
里程計 → 漂移 → 迴路閉合 → 全域一致。局部估計 C1 → C2 → C3 → …(里程計);全域修正:CN ≠ C1 時做迴路閉合。SLAM 不只是估計下一個姿態,它追求的是隨時間全域一致的觀測表示。(Carlone 等人,SLAM Handbook)2:59:18

只估計相鄰兩幀之間的轉換,叫做里程計估計,作業一做的就是這個,而它一定會漂移。要成為完整的 SLAM,還需要迴路閉合:回到同一個地方時,同一個點就該是同一個點。講者說這套流程另一個重要的觀念是:只依賴線上、循序的資訊做決策,結果就會漂移;所以旁邊永遠平行跑著一條檢查的路線,不斷確認自己有沒有漂移、該回到同一點時有沒有回到,沒有就要修正。

重點:兩兩配準只給你里程計;SLAM 要的是全域一致的表示,迴路閉合是不可少的一環。

總結與下一講:沒有深度時怎麼辦?

Takeaways
本講 takeaways:怎麼表示運動?姿態+參考座標系+轉換(ATB)。怎麼還原幾何?投影+深度+反投影((u, v, Z) → (X, Y, Z))。怎麼建立持久的世界?配準+姿態估計+建圖((AS, BS) → ATB)。SLAM 把觀測變成有空間依據的狀態。3:01:18

三個模組歸結起來:用姿態、參考座標系與轉換矩陣表示運動;用針孔相機模型加深度做反投影,還原幾何;用配準、姿態估計與建圖,把不同座標系下的表面放進同一個表示。講者推薦 Hartley 與 Zisserman 的經典教科書《Multiple View Geometry in Computer Vision》,也說這正是他走進電腦視覺的原因:四、五十年前的人只看著影像,就想出這麼優雅的方式,把凌亂的真實世界描述成抽象空間裡的形式。

Throughout today's lecture, we assumed that depth is available
本講一直假設深度已知。如果只有 (u, v)、沒有深度,要怎麼反投影回 3D?怎麼推斷缺少的 3D 結構?——下週:深度估計。3:03:30

本講的前提是深度已知;拿掉深度、只剩 (u, v),要怎麼推斷缺少的 3D 結構?這是下一講「深度估計」的主題。作業一也正在改版:除了收資料、建模、估計轉換、重建世界,今年加入一個新目標——真實量測充滿雜訊,會造成或大或小的誤差,要學會用系統化的方法診斷哪裡出錯,再改進重建結果。最後有同學問,資料飛輪中的評估環節是否該加入像作業一這樣的驗證步驟;講者說之後會談怎麼把作業一的概念放進這個流程。

這一講留下的三個問題

  1. 如果用 UMI 或手機錄一段示範,你會把「誰的姿態」定在哪裡——夾爪中心、相機,還是 IMU?這個選擇會怎麼影響後續的校正與機器人控制?
  2. 深度相機在反光表面回傳 0、在細桿邊緣把物體估得比實際寬,這些誤差會怎麼一路傳到點雲、轉換矩陣,最後變成軌跡上的偏差?
  3. 在你的應用裡,有沒有機會「回到同一個地方」來做迴路閉合?如果沒有,系統要用什麼方式察覺自己正在漂移?

內容整理自本專案 Lecture 5 影片及 YouTube 自動英文字幕;投影片截圖取自同一課程影片。繁中字幕已依台灣用語翻譯並通過格式驗證,專有名詞與數學符號依投影片與上下文校正,正式公開前仍建議人工複核問答與收音不清的片段。本講由每週排程自動整理上線。