論文導讀:機場行李推車自主回收——Progressive Perception 搭配 NMPC + CBF 的模組化移動操作系統

Anxing Xiao, Hao Luan, Ziqi Zhao, Yue Hong, Jieting Zhao, Weinan Chen, Jiankun Wang, Max Q.-H. Meng · 2022原文連結

論文資訊卡

  • 標題:Robotic Autonomous Trolley Collection with Progressive Perception and Nonlinear Model Predictive Control
  • 作者:Anxing Xiao、Hao Luan、Ziqi Zhao、Yue Hong、Jieting Zhao、Weinan Chen、Jiankun Wang、Max Q.-H. Meng
  • 發表:IEEE International Conference on Robotics and Automation (ICRA), 2022
  • 核心方法標籤:Progressive Perception + NMPC + Control Barrier Functions (CBF) + Manipulator
  • 方法類型:Modular Robotics(感知-規劃-控制分工的模組化架構),而非端到端學習策略

問題背景:機場裡的行李推車,是一個比看起來複雜得多的任務

目標是建立一台能在機場等複雜環境中自主完成整套流程的機器人:找到散落的行李推車(trolley)、從遠處安全接近、在移動過程中避開環境障礙物與行人、同時讓 trolley 全程保持在感測器的視野(Field of View, FOV)內、接近後精確估計 trolley 姿態、移動到適合抓取的位置、用前方的專用機構抓住 trolley,最後把它拖回指定的回收點。

這個任務表面上像是一個常見的「移動 + 抓取」問題,但拆開來看會發現它同時疊加了幾個各自獨立、卻又必須協調的子問題:遠距離要快速找到目標(不能用太昂貴或太慢的感知手段掃描整個航廈)、近距離要達到公分等級的定位精度(抓取機構的容錯空間很小)、移動過程中不能撞到人或障礙物(機場是高度動態且人流密集的公共空間),以及移動過程中不能把 trolley 弄丟出視野(一旦目標離開感測器視野,後續的姿態估計與規劃都會失效)。這篇論文的核心貢獻,正是針對這幾個子問題分別給出對應的技術方案,再把它們整合成一套完整可運作的系統。

整體 System Pipeline

text
                    Trolley
                       ↓
             ┌──────────────────┐
             │    Perception    │
             └──────────────────┘
                       ↓
               Trolley 3D Pose
                       ↓
             ┌──────────────────┐
             │ Motion Planning  │
             └──────────────────┘
                       ↓
                      NMPC
                       ↓
          ┌────────────┴────────────┐
          ↓                         ↓
   Obstacle CBF                 FOV CBF
          ↓                         ↓
      避免碰撞                  保持目標在視野內
          └────────────┬────────────┘
                       ↓
                 Robot Motion
                       ↓
              Precise Docking
                       ↓
                Manipulator
                       ↓
                 Catch Trolley
                       ↓
                  Returning

方法核心:不是用一個模型做完所有事,而是模組化架構

這篇論文不是單純用一個神經網路完成所有事情,而是採用 Modular Robotics Architecture——把整個任務拆成「感知 → 姿態估計 → 運動規劃 → 安全約束 → 運動控制 → 操作」六個環節,每個環節用最適合的方法處理:

text
Perception → Pose Estimation → Motion Planning → Safety Constraints → Motion Control → Manipulation

論文用到的主要技術一覽:

技術類型主要功能
YOLOv5Deep LearningTrolley 物件偵測
Stacked HourglassDeep LearningTrolley 關鍵點偵測
EPnP / PnP幾何視覺由 2D 關鍵點求 3D 姿態
3D LiDAR感測器近距離高精度感知
RANSAC點雲處理Trolley 背板偵測
GmappingSLAM建立佔據網格地圖
AMCL定位機器人在世界座標下的定位
NMPC模型式規劃/控制產生機器人運動
Obstacle CBF安全約束避免碰撞
FOV CBF安全約束保持 trolley 在感測器視野內
Draw-wire Encoder感測回饋判斷 manipulator 狀態
ROS機器人框架整合整個系統
CasADi最佳化框架建立 NMPC 問題
IPOPT非線性求解器求解 NMPC

系統硬體

機器人本體由五個模組組成:底盤(Chassis)、感測器(Sensors)、機械臂式抓取機構(Manipulator)、高效能電腦、大容量電池。機身尺寸:高度 1.2 m、離地間隙 0.07 m、長度 0.45 m、寬度 0.416 m。

移動底盤採用兩個前方驅動輪加兩個後方萬向輪(後輪具備懸吊)的配置,每個前方驅動輪的動力鏈是「直流伺服馬達 → 減速器 → 輪子」,輸出扭矩達 31.75 N·m。

感測器系統配備 3D LiDAR、2 個 2D LiDAR、固態光達(Solid-state LiDAR)與 RGB-D 相機——因為機器人本身有足夠的電池容量與運算能力,感測器系統可以進一步擴充。

Manipulator(抓取機構) 是專門為 trolley 抓取設計的機構,主結構是「支撐底座 → 叉架(Fork) → 卡住 Trolley」,搭配 draw-wire encoder(拉線編碼器)與直流減速馬達。馬達驅動叉架繞樞軸旋轉,draw-wire encoder 透過週期性量測鋼索長度 ll 及其變化量 Δl\Delta l,判斷叉架是否到達指定位置、是否被 trolley 阻擋、以及是否成功抓住 trolley,形成一套 manipulator 的回饋控制機制——這一整套「拉線編碼器判斷機構狀態」的設計,不需要額外的視覺感測,就能低成本地為抓取動作提供閉迴路回饋。

Autonomy Framework:三階段任務分解

整個任務分成三個階段:Approaching(接近)→ Docking(對接)→ Returning(返回)

Stage 1 — Approaching:從較遠的位置安全接近 trolley。機器人需要找到 trolley、得到 trolley 姿態、從 trolley 後方接近、調整自身朝向、同時避開環境障礙物。此階段主要用 RGB 相機、YOLOv5、關鍵點偵測、EPnP、NMPC 與 Obstacle CBF。

Stage 2 — Docking:精確移動到能讓 manipulator 抓住 trolley 的位置。此時機器人已經非常接近 trolley,需要更精確的姿態估計,改用固態光達取得點雲,經過濾波與 RANSAC 平面偵測找出 trolley 背板,得到精確姿態後再交給 NMPC 求解對接姿態,最後把 trolley 姿態轉換成機器人的抓取姿態。

Stage 3 — Returning:成功抓住 trolley 後,機器人拖著 trolley 移動回指定的回收地點。

Mapping & Localization:Gmapping + AMCL

系統用 Gmapping 從 LiDAR/感測器資料建立 2D 佔據網格地圖(Occupancy Grid Map),再用 AMCL 估計機器人在世界座標下的姿態。這讓機器人能把偵測到的 trolley 相對位置,轉換到全域(global/world)座標系下,這是後續把「相機看到的相對姿態」與「機器人自身的世界座標」結合、得到 trolley 全域姿態的必要前提。

核心一:Progressive Perception(漸進式感知)

這是論文最重要的概念之一。作者沒有在所有距離都使用同一種感知方法,而是依距離切換:

text
Long Distance → Monocular Camera → Coarse Pose → Robot Approaches
      → Short Distance → LiDAR → Accurate Pose → Docking

原因很直接:遠距離需要快速、低成本地找到 trolley;近距離對接則需要公分等級(centimeter-level)的精度,兩種需求沒有一種單一感測器方案能同時滿足。

長距離偵測 Pipeline

text
RGB Image → Downsampling → YOLOv5 → 2D Bounding Box → Crop Trolley
   → Stacked Hourglass → 6 Keypoints → EPnP → 3D Trolley Pose

YOLOv5 負責物件偵測:輸入 RGB 影像,輸出 bounding box (x1,y1,x2,y2)(x_1, y_1, x_2, y_2),目的不是直接得到精確姿態,而是快速找出 trolley 在影像中的大致位置。

Stacked Hourglass 接手後續:把 YOLO 找到的 bounding box 裁切出高解析度的 trolley 影像,輸入 Stacked Hourglass 網路,輸出 trolley 上 6 個具有固定幾何關係的關鍵點(keypoints)。因為關鍵點網路是在裁切後的影像上運作,還需要把關鍵點座標轉換回原始影像座標系。

相機投影模型

sipi=KXic=K[RT]Xits_i p_i = K X_i^c = K[R \mid T] X_i^t

其中 pip_i 是 2D 影像關鍵點、XicX_i^c 是相機座標系下的 3D 點、XitX_i^t 是 trolley 座標系下的 3D 點、KK 是相機內參矩陣、R,TR, T 是旋轉與平移、sis_i 是尺度因子。

EPnP:已知 trolley 的 3D 關鍵點(幾何上固定)與影像上對應的 2D 關鍵點,用 EPnP 求解 R,TR, T,也就是 trolley 相對於相機的 3D 姿態。

得到 Global Trolley Pose:相機求出的是 trolley 相對於相機的姿態,機器人本身又有透過 AMCL 得到的世界座標定位,兩者結合就能得到 trolley 的全域姿態:

qtar=[xtar,ytar,θtar]Tq_{tar} = [x_{tar}, y_{tar}, \theta_{tar}]^T

姿態濾波:因為 trolley 大部分時間是靜止的,如果感知結果突然在連續幀之間跳動,很可能是偵測雜訊而非真實變化,系統因此加入濾波機制避免姿態出現不合理的突跳;若 trolley 暫時離開相機視野,則沿用最後一次有效的姿態估計。

短距離 LiDAR 姿態估計

當機器人已經接近 trolley,改用固態光達取得點雲 P={p1,p2,,pn}P = \{p_1, p_2, \dots, p_n\},每個點 piR3p_i \in \mathbb{R}^3 具有 (x,y,z)(x, y, z)

為什麼需要 RANSAC:LiDAR 點雲裡不會只有 trolley,還會混雜地面、機器人本體、雜訊與其他物體的反射點,因此需要從點雲中專門找出 trolley 背板所在的平面。RANSAC 假設 trolley 背板是一個平面 ax+by+cz+d=0ax+by+cz+d=0,從點雲中找出符合此平面方程式的子集 PplanePP_{plane} \subset P

從平面得到 trolley 姿態:位置取濾波後平面點雲的中心作為背板中心;朝向則利用平面法向量 [a,b,c][a,b,c] 求得。整條鏈路是:

text
Point Cloud → RANSAC → Backplane → Center + Normal → Trolley Pose

為什麼要兩種感知方式:Camera 負責「找到」,LiDAR 負責「對準」

Camera(長距離)LiDAR(短距離)
使用距離LongShort
精度量級Decimeter(分米級)Centimeter(公分級)
方法性質Learning-basedGeometry-based
優點快速、可遠距離偵測精確
用途ApproachingDocking

實測的感知精度:長距離單目感知位置平均誤差約 0.17 m(變異數 0.0097 m²),角度平均誤差約 0.11 rad(約 6.3°,變異數 0.0085 rad²);短距離光達感知位置平均誤差約 0.03 m(約 3 cm,變異數 0.0002 m²),朝向平均誤差約 0.02 rad(約 1.15°,變異數 0.00036 rad²)。這組數字直接支持了論文的設計邏輯——長距離用相機的精度足以支撐 approaching 階段,但遠遠不足以支撐需要公分級精度的 docking;短距離換成 LiDAR 才能達到 docking 所需要的精度水準。

核心二:Safe Motion Planning——NMPC 決定怎麼走最好,CBF 決定哪些走法不安全

機器人要同時解決兩個問題:如何從現在位置到達目標,以及如何確保移動過程中的安全。整體結構是:

text
Motion Planning → NMPC → Safety Constraints ↙ Obstacle CBF ↘ FOV CBF

機器人狀態與目標姿態

機器人採用平面模型 x=[x,y,θ]Tx = [x, y, \theta]^T,目標姿態 qtar=[xtar,ytar,θtar]Tq_{tar} = [x_{tar}, y_{tar}, \theta_{tar}]^T,運動模型是差動驅動(differential-drive):

x˙=vcosθ,y˙=vsinθ,θ˙=ω\dot{x} = v\cos\theta, \quad \dot{y} = v\sin\theta, \quad \dot{\theta} = \omega

控制輸入 u=[v,ω]Tu = [v, \omega]^T(線速度與角速度)。

Control Barrier Function 的基本定義

CBF 定義一個安全集合:

C={xX:h(x)0}C = \{x \in X : h(x) \geq 0\}

其中 h:XR3Rh: X \subseteq \mathbb{R}^3 \rightarrow \mathbb{R},只要 h(x)0h(x) \geq 0,機器人就處於安全區域。

Obstacle CBF:給定障礙物位置 xob=[xob,yob]Tx_{ob} = [x_{ob}, y_{ob}]^T 與安全距離 dsafed_{safe},屏障函數為:

hob(x)=(xxob)2+(yyob)2dsafe2h_{ob}(x) = (x - x_{ob})^2 + (y - y_{ob})^2 - d_{safe}^2

要求 hob(x)0h_{ob}(x) \geq 0,等價於機器人與障礙物的距離不能小於安全距離。

FOV CBF(這篇論文比較特殊的設計):除了不能撞障礙物,機器人還必須讓 trolley 保持在感測器視野內。定義 ete_t 為機器人到 trolley 的單位方向向量、ere_r 為機器人朝向的單位向量、θmax\theta_{max} 為感測器最大視角,屏障函數為:

hview(x)=etercosθmaxh_{view}(x) = e_t \cdot e_r - \cos\theta_{max}

因為 eter=cosθe_t \cdot e_r = \cos\theta,所以 hview0h_{view} \geq 0 等價於 cosθcosθmax\cos\theta \geq \cos\theta_{max},也就是 θθmax\theta \leq \theta_{max}——如果機器人轉向偏離 trolley 方向的夾角超過感測器最大視角,trolley 就可能離開視野,FOV CBF 正是用來限制機器人不能轉得太偏。

離散時間 CBF 約束:論文用離散時間版本的 CBF 條件:

Δh(xk,uk)+λkh(xk)0,Δh=h(xk+1)h(xk),λk(0,1]\Delta h(x_k, u_k) + \lambda_k h(x_k) \geq 0, \qquad \Delta h = h(x_{k+1}) - h(x_k), \quad \lambda_k \in (0, 1]

這個約束用來保證機器人在離散時間軌跡中不會離開安全集合。

NMPC:預測未來、最佳化控制、只執行第一步

NMPC(Nonlinear Model Predictive Control)的運作方式是:用機器人動力學模型預測未來一段時間的軌跡,最佳化控制輸入使其滿足安全約束,執行當下時步的控制指令,下一個時步再重新求解一次:

text
Current State → Predict Future → Optimize → Safe Trajectory
   → Execute first control → New State → Re-optimize

Approaching 階段的 NMPC 目標函數

minxk,ukxNxgoalPf2+k=0N1ukQu2\min_{x_k, u_k} \|x_N - x_{goal}\|_{P_f}^2 + \sum_{k=0}^{N-1} \|u_k\|_{Q_u}^2

約束條件包含動力學方程 xk+1=f(xk,uk)x_{k+1} = f(x_k, u_k)、初始狀態 x0=xinitx_0 = x_{init}、狀態與控制輸入的可行域 xkX,ukUx_k \in X, u_k \in U,以及 Obstacle CBF 約束 Δhob(xk,uk)+λkhob(xk)0\Delta h_{ob}(x_k, u_k) + \lambda_k h_{ob}(x_k) \geq 0。目標函數第一項要求最終狀態接近目標,第二項懲罰過大的控制輸入,整體是在「到達目標」與「控制平滑合理」之間求平衡。

Docking 階段的 NMPC 目標函數:此階段同時需要 Obstacle CBF 與 FOV CBF,目標函數多了一個 slack 項:

minxk,uk,δkxNxgoalPf2+k=0N1ukQu2+wδk2\min_{x_k, u_k, \delta_k} \|x_N - x_{goal}\|_{P_f}^2 + \sum_{k=0}^{N-1} \|u_k\|_{Q_u}^2 + w\delta_k^2

Docking 階段的 FOV 約束改寫成帶 slack variable 的軟約束:

Δhview+μkhviewδk\Delta h_{view} + \mu_k h_{view} \geq \delta_k

為什麼需要 slack variable:如果 trolley 已經快要離開視野,強制嚴格滿足 FOV 約束,可能導致整個最佳化問題沒有任何可行解(infeasible)。加入 slack variable δk\delta_k 後,系統允許少量約束違反,但 δ\delta 增大會讓目標函數的懲罰項 wδk2w\delta_k^2 隨之增加,形成「允許違反、但要付出代價」的軟性機制。

Hard Constraint vs Soft Constraint 的設計哲學:Obstacle 約束是硬約束 hob0h_{ob} \geq 0,絕對不能撞;FOV 約束是軟化約束 hviewδh_{view} \geq \delta,必要時允許有限程度的違反。這個設計選擇背後的優先順序很清楚:碰撞安全的優先級高於視野保持約束——寧可暫時看丟 trolley,也不能讓機器人真的撞上障礙物或行人。

整體可以記成一句話:NMPC 決定「怎麼走最好」;CBF 決定「哪些走法不安全」。

求解實作

NMPC 用 CasADi 建立非線性最佳化問題,用 IPOPT 求解,整條鏈路是「機器人狀態 → CasADi 建模(含 Obstacle CBF、FOV CBF、動力學、約束)→ IPOPT 求解 → 最佳控制輸出」。

核心三:Task-specific Manipulation——用叉架 + 編碼器 + 馬達完成抓取

抓取機構不是通用型機械手臂,而是專門針對 trolley 幾何形狀設計的叉架(Fork)機構,搭配 draw-wire encoder 提供的鋼索長度回饋,判斷叉架運動是否到位、是否被 trolley 卡住、是否已經成功抓住——這是一種低成本但足夠可靠的機構層級回饋控制方案,不需要額外的視覺感測就能完成整個抓取動作的狀態監控。

實驗設計與資料集

論文建立了兩個獨立資料集,服務兩個不同的網路:

Object Detection Dataset(服務 YOLOv5):總共 1200 張影像,涵蓋不同光照、背景與視角,標註為 2D bounding box,切分為訓練 800 / 驗證 200 / 測試 200 張。

Keypoint Dataset(服務 Stacked Hourglass):總共 800 張裁切後的 trolley 影像,具有精確的關鍵點標註,切分為訓練 600 / 驗證 100 / 測試 100 張。

兩個資料集分開的原因很直接——兩個網路解決的是不同問題:YOLOv5 做物件偵測,Stacked Hourglass 做關鍵點偵測,屬於「兩階段感知、兩套資料集、兩個網路」的設計。

YOLOv5 訓練細節:硬體為 Intel i7-9750H + NVIDIA GTX 1660Ti,框架 PyTorch,優化器 SGD,300 epochs,batch size 16,初始學習率 0.01(第 150 epoch 降至 0.001,第 200 epoch 降至 0.0001),訓練時間約 14 小時。

Keypoint Network 訓練細節:框架 PyTorch,資料增強包含隨機縮放、隨機裁切、隨機翻轉與色彩變換,優化器 Adam,初始學習率 10410^{-4},前 200 epochs 使用基礎學習率,之後每 10 epochs 將學習率乘以 0.95,batch size 8,訓練時間約 4 小時。

LiDAR 平面偵測不同於前兩個神經網路模組,不需要深度學習,而是用 Point Cloud Library (PCL) 完成「點雲 → 濾波 → RANSAC → 平面 → 姿態」的幾何處理鏈路。

實驗結果

感知精度驗證:讓 trolley 做不規則運動,機器人估計 trolley 姿態並與動作捕捉系統(Motion Capture System)提供的 ground truth 比較。結果:長距離位置誤差約 17 cm、角度誤差約 0.11 rad;短距離位置誤差約 3 cm、角度誤差約 0.02 rad,驗證了「長距離相機支撐 approaching、短距離光達支撐 docking」的設計假設。

完整自主展示:整套系統整合到 ROS,機載電腦為 Intel i7-1165G7 + NVIDIA GTX 2060,機器人可即時執行完整流程。實驗中讓 trolley 出現在不同位置與朝向、機器人從不同初始位置出發,並在機器人與 trolley 之間放置多個靜態障礙物,測試機器人是否能避障並完成整套收集流程。

動態行人實驗:額外加入一位搬著行李箱、會在機器人路徑前方橫越的行人,測試流程分為四段:(a) Approaching——機器人接近 trolley 時行人穿越其軌跡;(b) Avoidance——機器人減速、改變軌跡、同時避開行人與靜態障礙物,最後抵達 docking 目標;(c) Docking & Catching——精確感知、精確規劃、對接姿態、manipulator 動作、抓住 trolley;(d) Returning——成功抓取後拖著 trolley 返回指定地點。

軌跡與速度指令記錄(論文 Fig. 11)顯示:約 10–20 秒出現較大的速度變化峰值,對應機器人正在避開移動中的行人;約 27 秒出現第二個速度峰值,對應 approaching 階段結束、開始進入 docking;約 39 秒出現明顯變化,對應 docking 結束、開始 returning。

模組化架構的一項附帶優勢:故障可逐模組診斷

這種模組化架構的一大優點,是失敗發生時可以逐模組追查根因,而不是面對一個難以拆解的黑盒子:

  • Perception Failure:YOLO bounding box 錯 → keypoint 錯 → EPnP 算出的 trolley pose 錯
  • Pose Estimation Failure:LiDAR 點雲 → RANSAC 平面擬合錯 → docking pose 錯
  • Planning Failure:姿態正確,但 NMPC 求出的軌跡錯
  • Safety Constraint 介入:偵測到障礙物 → CBF 限制 NMPC → 機器人改變軌跡(這種情況不是故障,而是安全機制正常運作)

與 VLA 路線的比較:模組化機器人 vs 端到端學習策略

這篇論文屬於 Modular Robotics,而 VLA(Vision-Language-Action) 路線走的是端到端(end-to-end)、學習出來的策略(learned policy)。兩條路線的資料流分別是:

Modular(本文路線)Image → YOLO → Keypoint → EPnP → Pose → NMPC → CBF → Control → Manipulator

優點:可解釋、容易除錯、安全約束容易明確加入(如本文的 Obstacle CBF、FOV CBF)、控制精確、每個模組責任清楚(對應前面「逐模組診斷」的優勢)。

缺點:系統工程複雜、需要人工設計整條 pipeline、換一個任務可能需要重新設計大部分環節、對環境與幾何假設較敏感(例如 RANSAC 平面偵測假設 trolley 背板是平面)。

VLAImage + Language → VLA → Action → Robot

優點:可以學習複雜行為、任務泛化能力可能更強、可以直接用語言指令下任務、能減少人工設計 pipeline 的工程負擔。

缺點:失敗歸因(failure attribution)困難、除錯比較困難、安全約束不容易像 CBF 這樣直接數學化保證、需要大量示範/訓練資料、不容易解釋模型為什麼輸出某個動作——這也是本站在 SAFE 論文導讀 中討論過的問題:VLA 模型內部決策不透明,才需要額外訓練一個探測器去讀取隱藏狀態判斷任務是否正在失敗,而這正是模組化架構透過「逐模組診斷」就能相對直接做到的事情。

論文真正想強調的設計哲學,不是「YOLO + Hourglass + PnP + LiDAR + RANSAC + NMPC + CBF 很多技術湊在一起」,而是把機器人任務拆成不同層級,每一層用最適合的方法:學習方法處理感知(Perception)、幾何方法處理姿態估計(Pose Estimation)、最佳化方法處理軌跡規劃(NMPC)、安全數學處理約束(CBF)、回饋控制處理操作機構(Manipulator)。這跟愈來愈多 VLA 論文強調「從大量資料中學出通用的感知到動作映射」,是機器人系統設計上兩種同樣活躍、但哲學截然不同的路線——傳統模組化機器人強調可控、可解釋、安全與精確;VLA 則更強調從資料中學習通用能力、減少人工設計負擔,兩者的取捨,某種程度上也呼應了本站在遠端遙控 vs 自主控制一文中討論過的「規則式系統 vs 學習式系統」的一般性權衡。

完整架構總覽

text
                    ┌───────────────┐
                    │    Trolley    │
                    └───────┬───────┘
                            ↓
                    Long Distance → RGB Camera → YOLOv5
                            ↓
                     Bounding Box → Stacked Hourglass → 6 Keypoints
                            ↓
                          EPnP → Rough 3D Trolley Pose → Filtering
                            ↓
                    ┌───────────────┐
                    │    NMPC       │ → Obstacle CBF → Approaching
                    └───────┬───────┘
                            ↓
                    Robot gets closer → Short Distance → Solid LiDAR
                            ↓
                    Point Cloud → RANSAC → Trolley Backplane
                            ↓
                   Accurate Trolley Pose → NMPC → FOV CBF
                            ↓
                     Precise Docking → Manipulator
                            ↓
                     Fork + Encoder → Catch Trolley
                            ↓
                   Returning → Return Destination

一句話理解整篇論文:遠距離用相機快速找到 trolley,近距離用光達精確對準 trolley,再用 NMPC 規劃運動,並透過 Obstacle CBF 與 FOV CBF 分別保證避障與保持 trolley 在感測器視野中,最後用專用 manipulator 完成抓取。

相關論文推薦

參考資料