論文導讀:推車推行的機動規劃與自適應控制——在未知干擾下穩穩推著走

Zhe Zhang, Peijia Xie, Yuhan Pang, Zhirui Sun, Bingyi Xia, Bi-Ke Zhu, Jiankun Wang · 2025原文連結

一句話讀懂這篇論文

人推購物車或行李車時,會用兩隻手靈活地調整推的角度——窄的地方把車斜著推、側著推來縮小轉彎半徑,到了寬的地方再擺正。遇到車子很重或地面很黏,也會自然地加大力氣。機器人很難做到這兩件事:手臂和底盤一起動時,可行的組合太多、約束太複雜,很難即時規劃;推車多重、地面多滑又事先不知道,很難建精確的動力學模型。這篇論文用一個簡化的「領導者—跟隨者」模型讓規劃變得可解,再用一個觀測器即時估計干擾、補償回去。

論文資訊卡

  • 標題:Integrating Maneuverable Planning and Adaptive Control for Robot Cart-Pushing under Disturbances
  • 作者:Zhe Zhang、Peijia Xie(共同一作)、Yuhan Pang、Zhirui Sun、Bingyi Xia、Bi-Ke Zhu、Jiankun Wang
  • 機構:南方科技大學、鵬城實驗室
  • 發表:arXiv 2506.18410(2025 年 6 月,v2 更新於 2026 年 3 月)
  • 專案頁:sites.google.com/view/mpac-pushing
  • 系列定位:南科大推車系列的雙臂版本。前作用單連桿機械手、主要著重在全域規劃;本篇改用兩支 SCARA 手臂,專注在局部規劃與控制。DA-VPC 對接系統就是建立在這台機器人上
  • 作者自評:第一個在實驗中系統性地評估推車方法的靈活性與穩健性的研究

問題背景

前人的不足

推車在日常生活很常見:貨物運送、購物輔助、機場行李。之前的研究用移動機器人取代人推車,但簡化的機器人設計和控制策略在高度動態、複雜的真實環境中常常不夠用。

規劃面:

  • 多數研究只做全域規劃,忽略了全身協調。在開放環境還行,但轉彎半徑大,在窄的動態空間很難部署
  • 早期研究分析推車機器人的非完整模型、設計運動動力規劃
  • 同團隊前作用單連桿機械手做機場推車回收與運送,主要著重全域規劃
  • 之後的研究改用冗餘機械手(機械臂、雙臂)提升機動性,但冗餘也讓規劃和控制變複雜。有研究引入降階模型最小化參數化雙臂移動機器人的控制輸入、設計全域規劃,但只能離線計算;有研究發展了以 QP 為基礎的線上推姿最佳化,但只能追蹤預先定義的速度軌跡,沒辦法同時做路徑規劃和推姿最佳化,也沒有充分利用冗餘產生更靈活的推姿

控制面:

  • 有研究用 LQR 控制推車、用 EKF 估計慣性參數;有研究用模糊邏輯系統補償推車的動態不確定性,但很依賴模型精度、需要大量手動調整
  • 推車是一個干擾多、參數變化大、致動非線性的控制問題,很難建立精確的動力學模型,所以大多數既有的自適應控制策略不實用
  • 不依賴(或只弱依賴)模型精度的方法,例如雙迴路 PD、模型參考自適應控制(MRAC),以及各種干擾觀測器(ESO、UIO、GPIO),在線性系統中表現好、能達到零估計誤差,但實驗顯示它們在高度受限的非線性推車系統中有很大的穩態誤差和相位延遲

任務需求

給定全域路徑 Sd=[s0d,…,skd]S_d = [s^d_0, \ldots, s^d_k](稀疏路徑點或連續參考軌跡),sd=[xd,yd,θd]s^d = [x^d, y^d, \theta^d] 是推車在世界座標系的期望姿態,目標是計算手臂和底盤的最佳控制輸入,讓推車精準追蹤 SdS_d,同時滿足多重約束:

min⁡uk ∑k=0N−1(x~k⊤Qkx~k+uk⊤Rkuk)+x~N⊤QNx~Ns.t. xk+1=xk+f(xk,uk)Δt,  x,u∈C\min_{u_k}\ \sum_{k=0}^{N-1}\big(\tilde{x}_k^\top Q_k\tilde{x}_k + u_k^\top R_ku_k\big) + \tilde{x}_N^\top Q_N\tilde{x}_N \quad \text{s.t.}\ x_{k+1} = x_k + f(x_k, u_k)\Delta t,\ \ x, u \in \mathcal{C}

有些研究把 uku_k 定義成關節扭矩,一次解完整個規劃與控制,但動力學的不確定性會降低表現。本文採用階層式架構:uku_k 代表期望位移,關節扭矩由自適應控制器產生。但即使如此,冗餘和複雜約束仍讓這個問題很難解。

作者把需求整理成三點:

1. 滿足複雜約束:夾爪一直握著推車把手,雙臂和推車形成一個多邊形結構,帶來幾何等式約束;手臂的物理範圍帶來不等式約束;差速底盤有非完整約束 x˙=vcos⁡θ\dot{x} = v\cos\theta、y˙=vsin⁡θ\dot{y} = v\sin\theta、θ˙=ω\dot{\theta} = \omega。

2. 全身協調:冗餘讓問題有很多可行解,但充分利用冗餘對機動性很關鍵。機器人在窄空間要用雙臂的冗餘自由度側推來縮小轉彎半徑(偏轉姿態,Deflection Pose),其他時候則維持平衡的**置中姿態(Centered Pose)**來提升控制穩健性。直接解原問題容易陷入局部極小值;有些研究限制自由度來簡化問題,但會犧牲冗餘。

3. 複雜動力學下的控制:推車的動力學受很多因素影響:負載重量變化、負載移動造成的重心偏移、摩擦和輪子阻力、機器人接觸狀態(抓握位置)的變化。輪子阻力高度不確定,摩擦也隨地面和負載大幅變化,難以觀測和建模。目標是不依賴精確動力學模型的穩健自適應控制。

硬體平台

跟前作相似的移動機器人:

  • 感知:32 線 Ouster OS0 LiDAR + RealSense 相機
  • 致動:CAN box + 差速驅動底盤,從動輪是全向輪搭配扭力樑懸吊
  • 雙臂:兩支 SCARA 機械臂,由 6 個直流馬達驅動。致動器使用 MIT 協議,可做力—位置混合控制;CAN bus 以 120 Hz 運作
  • 雙臂可以沿線性滑台垂直移動,適應不同高度的推車

全身運動規劃

整體思路:先把高維、受約束的雙臂控制輸入,投影到一個低維、無約束的局部座標;再設計 LF-MPC 同時做推姿最佳化和局部規劃。全域路徑由 Hybrid A* 產生。

局部座標表示:虛擬兩連桿手臂

多邊形表示雖然簡化了約束,但用一個會變形的多邊形做規劃仍然很難;而且不同構型、不同自由度的機械臂,多邊形的形狀和邊數都要調整。作者注意到:受約束的冗餘系統,本質維度可能比原本的表述低。

假設夾爪抓得夠對稱(多數推車把手是對稱的,視覺方法也能做到精準的對稱抓取),可以把多邊形約束簡化成一支虛擬兩連桿手臂:

  • Joint1 在手臂的基座連桿
  • Joint2 在兩個夾爪的中點
  • 末端執行器在推車的幾何中心
  • θ1\theta_1、θ2\theta_2:Joint1、Joint2 的朝向角
  • RR:Link1 長度;LcL_c:Link2 長度;LL:兩夾爪間距

這樣雙臂—推車的構型就完全由一支虛擬手臂參數化,而且天然滿足多邊形約束。局部座標的控制輸入定義為 ϕ=[θ1,θ2,R,L]∈R4\phi = [\theta_1, \theta_2, R, L] \in \mathbb{R}^4。

正逆映射:

ϕ=g(s)=g(fFK(q)),q=fIK(s)=fIK(g−1(ϕ))\phi = g(s) = g(f_{FK}(q)), \qquad q = f_{IK}(s) = f_{IK}(g^{-1}(\phi))

3 自由度手臂的正逆運動學是唯一的;冗餘手臂可以透過最佳化額外目標(例如最小能量)達成唯一性。作者也證明了 gg 和 g−1g^{-1} 是唯一的:在以 Joint1 為原點的底盤座標系中,Joint2 和左右夾爪的姿態都可以由 θ1\theta_1、θ2\theta_2、RR、LcL_c、LL 寫出解析式。

忽略對推車運送影響不大的 RR 和 LL,狀態和控制輸入變成:

x=[xc, yc, θc, θ1, θ2],u=[v0, ω0, θ˙1, θ˙2],θc=θ0+θ1+θ2x = [x_c,\ y_c,\ \theta_c,\ \theta_1,\ \theta_2], \qquad u = [v_0,\ \omega_0,\ \dot{\theta}_1,\ \dot{\theta}_2], \qquad \theta_c = \theta_0 + \theta_1 + \theta_2

這已經簡化了問題,但直接解完整階數的問題仍然很難:窄環境需要多用手臂動作來縮小轉彎半徑,穩定運送又要避免過度使用手臂。只靠調權重很難在靈活和穩定之間取捨,還容易陷入局部最佳。需要一個適當的降階模型。

穩定規劃:卡車—拖車模型(TT-MPC)

卡車—拖車系統天然滿足需求:連結器在卡車和拖車之間多提供一個自由度,可以縮小轉彎半徑;轉完彎後,連結器會自動把拖車拉回穩定的置中姿態。

所以把推車和底盤建模成虛擬的卡車和拖車,手臂當連結器。狀態 x=[xc,yc,θ0,θ1]x = [x_c, y_c, \theta_0, \theta_1],控制 u=[v0,δ]u = [v_0, \delta](δ\delta 是卡車轉向角),θ2≡0\theta_2 \equiv 0。L1L_1 是虛擬卡車長度的一半,L2L_2 是虛擬拖車長度。代入原問題就是 TT-MPC。

TT-MPC 規劃 δ\delta 就能帶動手臂和底盤協調轉向,轉向結束後構型會自動回到置中姿態。但它沒用到 θ2\theta_2,所以做不到「卡車相對拖車側移」這種姿態,限制了推車本身的機動性。

靈活規劃:領導者—跟隨者模型(LF-MPC)

在 TT 模型的基礎上,在卡車和連結器之間多加一個旋轉自由度 θ2\theta_2,把推車當成領導者、機器人當成跟隨者。

設計基於獨輪車模型的線性化方法:

引理 1:考慮一個從中心點偏移的點 pr=p+rhp_r = p + rh,rr 是距離,h=[cos⁡θ,sin⁡θ]h = [\cos\theta, \sin\theta],則

p˙r=[cos⁡θ−rsin⁡θsin⁡θrcos⁡θ][vω]\dot{p}_r = \begin{bmatrix}\cos\theta & -r\sin\theta \\ \sin\theta & r\cos\theta\end{bmatrix}\begin{bmatrix}v \\ \omega\end{bmatrix}

這個偏移點擺脫了非完整約束,變成一個能側向滑動的單積分器;而且映射 p˙r↔[v,ω]\dot{p}_r \leftrightarrow [v, \omega] 是唯一可逆的。

LF 模型中,領導者和跟隨者的中心點受非完整約束,但跟隨者的前方點 pFp_F 和領導者的後方點 pLp_L 都變成不受約束的偏移點。給定推車的運動 [vc,ωc][v_c, \omega_c],可以推得 pFp_F,再依剛體運動學傳遞,得到底盤動作 [v0,ω0][v_0, \omega_0] 和手臂動作 (θ˙1,θ˙2)(\dot{\theta}_1, \dot{\theta}_2)。狀態轉移函數:

fLF: x˙c=vccos⁡θc,y˙c=vcsin⁡θc,θ˙c=ωc,θ˙1=ωc−ω0−θ˙2,θ˙2=−1R(wL−)⊤μcf_{LF}:\ \dot{x}_c = v_c\cos\theta_c,\quad \dot{y}_c = v_c\sin\theta_c,\quad \dot{\theta}_c = \omega_c,\quad \dot{\theta}_1 = \omega_c - \omega_0 - \dot{\theta}_2,\quad \dot{\theta}_2 = -\frac{1}{R}(w_L^-)^\top\mu_c v0=(wL+)⊤μccos⁡θ1,ω0=2L2(wL+)⊤μcsin⁡θ1v_0 = (w_L^+)^\top\mu_c\cos\theta_1, \qquad \omega_0 = \frac{2}{L_2}(w_L^+)^\top\mu_c\sin\theta_1

其中 wL+=[sin⁡θ2,L1cos⁡θ2]w_L^+ = [\sin\theta_2, L_1\cos\theta_2]、wL−=[cos⁡θ2,−L1sin⁡θ2]w_L^- = [\cos\theta_2, -L_1\sin\theta_2]。

引理 2:LF 模型滿足任務需求,而且在 vc>0v_c > 0、ωc→0\omega_c \to 0 時會最終收斂到置中姿態(θ1→0\theta_1 \to 0、θ2→0\theta_2 \to 0)。也就是說,它可以充分利用手臂自由度產生靈活的推姿、提升機動性,同時仍像 TT 模型一樣,轉完彎會自己回正。

避障:用膠囊形狀的 CBF

推車和底盤都是長條形,為了在窄空間也能靈活避障,用 2D 膠囊形狀(兩個半徑 rcapr_{cap} 的半圓 + 長 2Lcap2L_{cap}、寬 2rcap2r_{cap} 的矩形)建構控制屏障函數。CBF 定義為膠囊的有號距離函數:

h(pobs(xk))=[x−clip(x,−Lcap,Lcap)]2+y2−rcap−dsafeh(p_{obs}(x_k)) = \sqrt{\big[x - \text{clip}(x, -L_{cap}, L_{cap})\big]^2 + y^2} - r_{cap} - d_{safe}

pobs(xk)p_{obs}(x_k) 是障礙物點從世界座標轉到膠囊座標系的位置。實作上把推車和底盤建模成兩個膠囊,中心分別在底盤中心和推車中心;把離兩個膠囊最近的 NobsN_{obs} 個障礙物點分別投影到兩個座標系,算出 CBF 值放進最佳化。

最終的 LF-MPC

min⁡uk∈[umin,umax] ∑k=0N−1(x~k⊤Qx~k+uk⊤Ruk)+x~N⊤QNx~Ns.t. xk+1=xk+fLF(xk,uk)Δtωˉ0−1rF(wL−)⊤μcsin⁡θ1=0vˉ0−1rF(wL+)⊤μccos⁡θ1=0h(xk+1)−h(xk)≥−γh(xk)\begin{aligned} \min_{u_k\in[u_{min},u_{max}]}\ & \sum_{k=0}^{N-1}\big(\tilde{x}_k^\top Q\tilde{x}_k + u_k^\top Ru_k\big) + \tilde{x}_N^\top Q_N\tilde{x}_N \\ \text{s.t.}\ & x_{k+1} = x_k + f_{LF}(x_k, u_k)\Delta t \\ & \bar{\omega}_0 - \tfrac{1}{r_F}(w_L^-)^\top\mu_c\sin\theta_1 = 0 \\ & \bar{v}_0 - \tfrac{1}{r_F}(w_L^+)^\top\mu_c\cos\theta_1 = 0 \\ & h(x_{k+1}) - h(x_k) \geq -\gamma h(x_k) \end{aligned}

xd=[xd,yd,θd,0,0]x_d = [x_d, y_d, \theta_d, 0, 0](期望 θ1=θ2=0\theta_1 = \theta_2 = 0,也就是置中姿態),u=[vc,ωc,vˉ0,ωˉ0]u = [v_c, \omega_c, \bar{v}_0, \bar{\omega}_0]。中間變數 (vˉ0,ωˉ0)(\bar{v}_0, \bar{\omega}_0) 用來施加不等式約束,避免底盤動作超出硬體限制。離散 CBF 的衰減率 γ=0.9\gamma = 0.9。

穩健自適應控制

規劃層產生最佳的全身動作後,控制層要把它執行出來,重點在手臂轉向用的扭矩。主要困難:

  • 轉向力必須透過手臂扭矩傳遞,而非完整推車通常有很大的轉動慣量,轉向方向需要比其他方向更高的剛性
  • 直接用關節層級的 PD 控制,轉向方向剛性常常不夠;單純提高馬達剛性又會引起振盪
  • 換更大扭矩的馬達似乎是唯一辦法,但成本更高、設計更複雜

所以設計一個自適應控制器,線上補償剛性不足和干擾。

參考模型:別讓推車加速太快

推車慣量大,要避免把它加速到難以控制的速度。用**追蹤微分器(TD)**平滑期望狀態:

z˙1=z2,z˙2=−r fhan(z1−zd, vmax)\dot{z}_1 = z_2, \qquad \dot{z}_2 = -r\,\text{fhan}(z_1 - z_d,\ v_{max})

TD 避免期望狀態突然跳變造成控制不穩,平滑後的 zˉd=[θˉ1d,θˉ2d,Rˉd]\bar{z}_d = [\bar{\theta}_{1d}, \bar{\theta}_{2d}, \bar{R}_d] 當作回授控制的參考輸入。

幾何觀測器(GOB)

在局部座標中,把模型不確定性和干擾的總和當成一個統一的變數 ξ\xi,二階動態寫成:

z¨=f(z,z˙,u)+ξ,z=[θ1,θ2,R]\ddot{z} = f(z, \dot{z}, u) + \xi, \qquad z = [\theta_1, \theta_2, R]

線性 ESO 用狀態估計誤差 e=z−z^e = z - \hat{z} 估計干擾,但簡單的線性誤差不適合角度變數。所以引入 SO(2) 上的幾何誤差:

eθ=12[R^⊤R−R⊤R^]∨=sin⁡θ~,θ~=θ−θ^e_\theta = \frac{1}{2}\big[\hat{R}^\top R - R^\top\hat{R}\big]^\vee = \sin\tilde{\theta}, \qquad \tilde{\theta} = \theta - \hat{\theta}

這個誤差跟角度 θ1\theta_1、θ2\theta_2 的量測更一致。對 θ1\theta_1、θ2\theta_2 用 GOB:

R^˙=R^[ω^+l1 fal(eθ,α1,δ1)]×ω^˙=bu+l2 fal(eθ,α2,δ2)+d^d^˙=l3 fal(eθ,α3,δ3),ξ^=clip(d^,ξmin,ξmax)\begin{aligned} \dot{\hat{R}} &= \hat{R}\big[\hat{\omega} + l_1\,\text{fal}(e_\theta, \alpha_1, \delta_1)\big]_\times \\ \dot{\hat{\omega}} &= bu + l_2\,\text{fal}(e_\theta, \alpha_2, \delta_2) + \hat{d} \\ \dot{\hat{d}} &= l_3\,\text{fal}(e_\theta, \alpha_3, \delta_3), \qquad \hat{\xi} = \text{clip}(\hat{d}, \xi_{min}, \xi_{max}) \end{aligned}

fal 函數是一個非線性函數:誤差小時近似線性(e/δ1−αe/\delta^{1-\alpha}),誤差大時變成 ∣e∣αsign(e)|e|^\alpha\text{sign}(e)。對半徑 RR 則直接用線性 ESO。GOB 是 ESO 的非線性變體,觀測角度變數時精度更高。

控制策略

非線性回授:小誤差時提供高剛性,大偏差時刻意降低剛性,提升穩健性:

uz=β1 fal(z~,α1,δ1)+β2 fal(z~˙,α2,δ2)u_z = \beta_1\,\text{fal}(\tilde{z}, \alpha_1, \delta_1) + \beta_2\,\text{fal}(\dot{\tilde{z}}, \alpha_2, \delta_2)

總補償力:

τ=bz−1(uz−ξ^)\tau = b_z^{-1}(u_z - \hat{\xi})

在局部座標中依觀測到的干擾 ξ^\hat{\xi} 產生補償力,有效減少干擾和轉向時剛性不足造成的控制誤差;非線性的控制策略也幫助減少相位延遲和振盪。

力投影:把補償力分配到雙臂

根據虛功原理,把局部座標的補償力投影到關節空間:

τcom=[τlτr]=[λJl⊤Jl†⊤τ(1−λ)Jr⊤Jr†⊤τ]\tau_{com} = \begin{bmatrix}\tau_l \\ \tau_r\end{bmatrix} = \begin{bmatrix}\lambda J_l^\top J_l^{\dagger\top}\tau \\ (1-\lambda)J_r^\top J_r^{\dagger\top}\tau\end{bmatrix}

λ=0.5\lambda = 0.5 是左右手臂的輸出比例,Jl†J_l^\dagger、Jr†J_r^\dagger 是虛擬手臂中左右末端的雅可比矩陣,JlJ_l、JrJ_r 是真實手臂的雅可比矩陣。實作上補償扭矩搭配一個低增益的關節 PD:τcmd=τPD+τcom\tau_{cmd} = \tau_{PD} + \tau_{com}。

實驗

設定

  • 模擬:i7-11657 筆電,Python,Ubuntu 20.04 + ROS Noetic
  • 真實:C++11,Ubuntu 20.04 + ROS2 Galactic
  • 所有規劃器用 CasADi 建模、IPOPT 求解;整體框架以 22 Hz 運作
  • 依實際量測:L1=Lcap=0.35L_1 = L_{cap} = 0.35 m、L2=rcap=0.2L_2 = r_{cap} = 0.2 m

實驗一:運動規劃

比較四種規劃器,差別在利用冗餘自由度的程度:

規劃器做法
NMPC手臂固定在置中姿態,只控制底盤前進和轉向(同前作)
WB-MPC直接在完整階數模型上做全身規劃
TT-MPC卡車—拖車降階模型
LF-MPC領導者—跟隨者降階模型

所有規劃器共用相同參數:Q=blkdiag(diag(2,2,0.5), 0.1I)Q = \text{blkdiag}(\text{diag}(2, 2, 0.5),\ 0.1I)、R=0.1IR = 0.1I、N=50N = 50。實驗只在模擬中進行,比較容易量位置誤差,足以驗證規劃表現。

追蹤五種刻意設計得陡峭、不平滑、甚至帶強雜訊的參考軌跡:正弦波、梯形波、尖銳正弦波、方波、白雜訊波。追蹤誤差定義為 e=2∥pd−pc∥2+0.5∥θd−θc∥2e = 2\lVert p_d - p_c\rVert_2 + 0.5\lVert\theta_d - \theta_c\rVert_2。

結果:

  • 因為轉彎半徑大,其他方法追蹤陡峭軌跡時會出現尖點(局部倒退)甚至發散
  • NMPC 在所有任務的追蹤誤差都相對大
  • WB-MPC 在梯形波和尖銳正弦波任務發散
  • TT-MPC 降低了追蹤誤差,但在梯形波任務因規劃逾時失敗
  • LF-MPC 利用全身協調平滑地追蹤陡峭軌跡、誤差小,平均以 80 Hz(50~100 Hz)運作;加入避障約束後約 22 Hz,仍滿足即時需求

作者用這組實驗說明:全身協調不足會導致很大的追蹤誤差,甚至讓局部規劃發散。

實驗二:自適應控制

設計一個 θ1\theta_1 的期望軌跡,在特定時刻加入陡峭變化,負載越重越容易延遲或超調,測試收斂速度和穩定性。負載為 5.1 kg 和 22.2 kg。

比較的控制器(都是不太依賴精確模型的先進控制器,反映推車在不同負載下很難精確感知和建模的現實):

  • PD:組態空間 PD,Kp=15K_p = 15(再高馬達就會振盪),Kd=30K_d = 30
  • PD+L:關節空間 PD + 局部座標 PD 補償(組態空間 Kp=5K_p = 5、局部座標 KP=20K_P = 20),速度由 EKF 估計
  • DPD:局部座標中的雙迴路 PD,常用於足式機器人機身穩定
  • MRAC:模型參考自適應控制,增益用李雅普諾夫法則線上更新
  • 本文:GOB + 非線性回授 + 力投影

所有控制器參數先在無負載條件下調到最佳,再固定參數加入負載。GOB 的增益調到雜訊放大出現之前的最大值:l1=12l_1 = 12、l2=48l_2 = 48、l3=60l_3 = 60,ξ\xi 範圍 ±3.0。

結果:

  • 無負載時大部分演算法都表現不錯
  • 一加負載,PD 的追蹤表現明顯變差;PD+L 略有改善,但仍無法把誤差控制在可接受範圍
  • 其他控制器滿足收斂要求,但 DPD 有明顯延遲
  • 重負載(22.2 kg)下幾乎所有方法都失敗,只有本文仍維持高追蹤精度、延遲極小
  • GOB 和自適應控制器實際以 超過 3000 Hz 運作
  • 同樣的自適應控制器,用 GOB 比用線性 ESO 振盪更小、收斂更快,因為角度誤差大時 GOB 的干擾估計更準

另外測試調節表現:期望軌跡在 ±0.3 rad 之間,在特定時刻加上 22.2 kg 負載,等控制器的自適應參數收斂後再拿掉。以 PD 和 DPD 為基準,本方法達到快速、穩定的調節。

實驗三:導航任務

三個有挑戰的推車任務,需要規劃器的靈活性和控制器的執行精度:

  • 長距離導航:通過多個急彎,從狹窄的門離開實驗室
  • 窄空間導航:繞過障礙物,在有限空間內 U 型迴轉
  • 動態避障:在人群中把推車推到目標,同時避開行人

設定:FAST-LIO2 定位、GICP 算初始姿態、Octomap 把 3D 地圖壓成 2D 成本地圖、以 TT 模型的 Hybrid A* 當全域規劃器。比較三種框架:NMPC+PD、WB-MPC+PD、本文,所有規劃器都加入 CBF 避障約束。

結果:

  • 長距離導航:兩個基準方法無法完成急彎、撞到環境;本文成功完成 3 個急彎並抵達目標
  • 窄空間導航:只有本文能透過全身協調充分縮小轉彎半徑,在受限走廊內完整掉頭
  • 動態避障:LiDAR 點雲依到底盤的距離和高度過濾,選出 SDF 距離最近的 5 個點建構 CBF,dsafe=0.1d_{safe} = 0.1 m。多位行人橫越軌跡,機器人在模擬和真實世界中都展現反應式避障,同時追蹤參考軌跡

實驗四:極端條件

單臂故障:模擬一支手臂故障,只用剩下那支手臂完成運送任務,規劃器根據 10 個參考路徑點產生手臂和底盤軌跡。在無負載和 22.2 kg 負載下比較各控制器的 RMSE:本方法的控制精度最好,穩定性明顯優於其他控制器。

撞擊測試:撞擊通常對控制器造成很大干擾——撞擊時手臂剛性不足會造成無法控制的加速,干擾補償太激進又會嚴重超調。對推車施加約 200 N 的突然側向撞擊:因為非線性控制律,控制器在撞擊時切換到抵抗模式,迅速提高剛性穩定系統、快速回到期望狀態;誤差下降後,在參考模型的約束下切換到柔順模式,只有很小的超調。

限制與未來方向

作者指出演算法不對推車構型或機械手自由度做任何假設,理論上可以延伸到各種類似推車的物體(平板車、輪椅)和不同的硬體平台。未來會在更多種推車和機器人上驗證。

影響與定位

這篇論文的核心貢獻是兩個層次的「降維」:

  1. 幾何降維:把雙臂 + 推車的多邊形約束系統,簡化成一支虛擬兩連桿手臂,天然滿足約束
  2. 模型降維:用領導者—跟隨者模型取代完整階數模型,讓 MPC 能即時解、不易陷入局部極小值,又能證明會自動回到置中姿態

控制層則是「不建模,但估計」:用幾何觀測器把所有說不清楚的動力學都當成干擾估出來,再用力投影分配到兩支手臂。

跟推車系列其他論文對照,可以看出團隊如何一步步把系統變得更通用:

論文機械手規劃控制
推車回收(2022)單連桿NMPC + CBF—
多推車回收(2024)可切換狀態的單臂A* + NMPC 避障CLF-CBF-QP
推車推行(2025)雙 SCARA 臂LF-MPC(全身協調)+ CBFGOB + 非線性回授 + 力投影
DA-VPC(2025)雙 SCARA 臂視覺預測控制ESO 補償

相關論文推薦

參考資料

相關術語

訂閱 RoboTech Lab 電子報

每週一封,整理新的教學、論文導讀與機器人業界動態。隨時可以取消訂閱。