RDA: An Accelerated Collision Free Motion Planner for Autonomous Navigation in Cluttered Environments



在这里插入图片描述

🧠另一篇

问题描述

  1. 障碍物模型

    1. 环境由M个非点质量障碍物组成。第m个障碍物(m = 1,…,M)被建模为紧凸集Om,由锥不等式表示:

      O m = { o ∈ R o m ∣ D m o ⪯ O m b m } O_m = \{o \in \mathbb{R}^{o_m} | D_m o \preceq_{\mathcal{O}_m} b_m\} Om​={o∈Rom​∣Dm​o⪯Om​​bm​}

      其中 D m ∈ R l m × o m D_m \in \mathbb{R}^{l_m \times o_m} Dm​∈Rlm​×om​, b m ∈ R l m b_m \in \mathbb{R}^{l_m} bm​∈Rlm​, O m \mathcal{O}_m Om​是适当锥。

  2. 机器人模型

    1. 每个机器人在时间t的状态由其中心点表示,记为 s t ∈ R n r s_t \in \mathbb{R}^{n_r} st​∈Rnr​。给定某个状态,机器人可以建模为随状态变量 s t s_t st​变化的紧集 Z t Z_t Zt​:

      Z t ( s t ) = R ( s t ) z + p ( s t ) , ∀ z ∈ C Z_t(s_t) = R(s_t)z + p(s_t), \forall z \in \mathcal{C} Zt​(st​)=R(st​)z+p(st​),∀z∈C

      C = { z ∈ R n r ∣ G z ⪯ K r h } \mathcal{C} = \{z \in \mathbb{R}^{n_r} | Gz \preceq_{\mathcal{K}_r} h\} C={z∈Rnr​∣Gz⪯Kr​​h}

      其中 R ( s t ) R(s_t) R(st​)是表示机器人方向的旋转矩阵, p ( s t ) p(s_t) p(st​)是表示机器人位置的平移矩阵。

  3. 动力学约束

    1. 机器人状态演化可以描述为:

      s t + 1 = s t + f ( s t , u t ) Δ t s_{t+1} = s_t + f(s_t, u_t)\Delta t st+1​=st​+f(st​,ut​)Δt

      对于线性机器人动力学:

      s t + 1 = A t s t + B t u t + c t s_{t+1} = A_t s_t + B_t u_t + c_t st+1​=At​st​+Bt​ut​+ct​

      NEUPAN:全向机器人的模型:

      A t = ∂ g ∂ s = [ 1 0 ( − v ˉ x sin ⁡ θ ˉ − v ˉ y cos ⁡ θ ˉ ) Δ t 0 1 ( v ˉ x cos ⁡ θ ˉ − v ˉ y sin ⁡ θ ˉ ) Δ t 0 0 1 ] A_t = \frac{\partial \mathbf{g}}{\partial \mathbf{s}} = \begin{bmatrix} 1 & 0 & \left(-\bar{v}_x \sin \bar{\theta} - \bar{v}_y \cos \bar{\theta} \right) \Delta t \\ 0 & 1 & \left(\bar{v}_x \cos \bar{\theta} - \bar{v}_y \sin \bar{\theta} \right) \Delta t \\ 0 & 0 & 1 \end{bmatrix} At​=∂s∂g​= ​100​010​(−vˉx​sinθˉ−vˉy​cosθˉ)Δt(vˉx​cosθˉ−vˉy​sinθˉ)Δt1​ ​

      B t = ∂ g ∂ u = [ cos ⁡ θ ˉ Δ t − sin ⁡ θ ˉ Δ t 0 sin ⁡ θ ˉ Δ t cos ⁡ θ ˉ Δ t 0 0 0 Δ t ] B_t = \frac{\partial \mathbf{g}}{\partial \mathbf{u}} = \begin{bmatrix} \cos \bar{\theta} \Delta t & -\sin \bar{\theta} \Delta t & 0 \\ \sin \bar{\theta} \Delta t & \cos \bar{\theta} \Delta t & 0 \\ 0 & 0 & \Delta t \end{bmatrix} Bt​=∂u∂g​= ​cosθˉΔtsinθˉΔt0​−sinθˉΔtcosθˉΔt0​00Δt​ ​

c t = g ( s ˉ t , u ˉ t ) − A t s ˉ t − B t u ˉ t = [ x ˉ + ( v ˉ x cos ⁡ θ ˉ − v ˉ y sin ⁡ θ ˉ ) Δ t y ˉ + ( v ˉ x sin ⁡ θ ˉ + v ˉ y cos ⁡ θ ˉ ) Δ t θ ˉ + ω ˉ Δ t ] [ x ˉ + ( − v ˉ x sin ⁡ θ ˉ − v ˉ y cos ⁡ θ ˉ ) θ ˉ Δ t y ˉ + ( v ˉ x cos ⁡ θ ˉ − v ˉ y sin ⁡ θ ˉ ) θ ˉ Δ t θ ˉ ] [ ( v ˉ x cos ⁡ θ ˉ − v ˉ y sin ⁡ θ ˉ ) Δ t ( v ˉ x sin ⁡ θ ˉ + v ˉ y cos ⁡ θ ˉ ) Δ t ω ˉ Δ t ] \begin{aligned} \mathbf{c}_t &= \mathbf{g}(\bar{\mathbf{s}}_t, \bar{\mathbf{u}}_t) - A_t \bar{\mathbf{s}}_t - B_t \bar{\mathbf{u}}_t \\ &= \begin{bmatrix} \bar{x} + \left( \bar{v}_x \cos \bar{\theta} - \bar{v}_y \sin \bar{\theta} \right) \Delta t \\ \bar{y} + \left( \bar{v}_x \sin \bar{\theta} + \bar{v}_y \cos \bar{\theta} \right) \Delta t \\ \bar{\theta} + \bar{\omega} \Delta t \end{bmatrix} \begin{bmatrix} \bar{x} + \left(-\bar{v}_x \sin \bar{\theta} - \bar{v}_y \cos \bar{\theta} \right) \bar{\theta} \Delta t \\ \bar{y} + \left(\bar{v}_x \cos \bar{\theta} - \bar{v}_y \sin \bar{\theta} \right) \bar{\theta} \Delta t \\ \bar{\theta} \end{bmatrix} \begin{bmatrix} \left(\bar{v}_x \cos \bar{\theta} - \bar{v}_y \sin \bar{\theta} \right) \Delta t \\ \left(\bar{v}_x \sin \bar{\theta} + \bar{v}_y \cos \bar{\theta} \right) \Delta t \\ \bar{\omega} \Delta t \end{bmatrix} \end{aligned} ct​​=g(sˉt​,uˉt​)−At​sˉt​−Bt​uˉt​= ​xˉ+(vˉx​cosθˉ−vˉy​sinθˉ)Δtyˉ​+(vˉx​sinθˉ+vˉy​cosθˉ)Δtθˉ+ωˉΔt​ ​ ​xˉ+(−vˉx​sinθˉ−vˉy​cosθˉ)θˉΔtyˉ​+(vˉx​cosθˉ−vˉy​sinθˉ)θˉΔtθˉ​ ​ ​(vˉx​cosθˉ−vˉy​sinθˉ)Δt(vˉx​sinθˉ+vˉy​cosθˉ)ΔtωˉΔt​ ​​

简化得:

c t = [ θ ˉ ( v ˉ x sin ⁡ θ ˉ + v ˉ y cos ⁡ θ ˉ ) Δ t θ ˉ ( v ˉ x cos ⁡ θ ˉ − v ˉ y sin ⁡ θ ˉ ) Δ t 0 ] \mathbf{c}_t = \begin{bmatrix} \bar{\theta} \left( \bar{v}_x \sin \bar{\theta} + \bar{v}_y \cos \bar{\theta} \right) \Delta t \\ \bar{\theta} \left( \bar{v}_x \cos \bar{\theta} - \bar{v}_y \sin \bar{\theta} \right) \Delta t \\ 0 \end{bmatrix} ct​= ​θˉ(vˉx​sinθˉ+vˉy​cosθˉ)Δtθˉ(vˉx​cosθˉ−vˉy​sinθˉ)Δt0​ ​

  1. 碰撞约束

    机器人与障碍物之间的最小距离 dist ( Z t ( s t ) , O ) \text{dist}(Z_t(s_t), O) dist(Zt​(st​),O)满足:

dist ( Z t ( s t ) , O ) = min ⁡ { ∥ e ∥ 2 ∣ ( Z t ( s t ) + e ) ∩ O ≠ ∅ } \text{dist}(Z_t(s_t), O) = \min \{ \|e\|_2 | (Z_t(s_t) + e) \cap O \neq \emptyset \} dist(Zt​(st​),O)=min{∥e∥2​∣(Zt​(st​)+e)∩O=∅}

为了保证碰撞避免,我们有以下约束:

dist ( Z t ( s t ) , O ) ≥ d safe \text{dist}(Z_t(s_t), O) \geq d_{\text{safe}} dist(Zt​(st​),O)≥dsafe​

其中 d safe d_{\text{safe}} dsafe​是表示安全距离的正实数。约束(5)是非凸的

5. 速度约束

  1. u min ⁡ ⪯ u t ⪯ u max ⁡ , ∀ t u_{\min} \preceq u_t \preceq u_{\max}, \forall t umin​⪯ut​⪯umax​,∀t

  2. a min ⁡ ⪯ u t + 1 − u t ⪯ a max ⁡ , ∀ t a_{\min} \preceq u_{t+1} - u_t \preceq a_{\max}, \forall t amin​⪯ut+1​−ut​⪯amax​,∀t


问题形式:

采用 MPC 预测窗口长度为 N N N。路径跟踪的代价函数示例:

C 0 ( { s t , u t } ) = ∑ t = 0 N [ Q t ∥ s t − s ~ t ∥ 2 + P t ( v t − v ~ t ) 2 ] . (12) C_0(\{s_t,u_t\}) = \sum_{t=0}^N \big[ Q_t \|s_t - \tilde s_t\|^2 + P_t (v_t - \tilde v_t)^2 \big]. \tag{12} C0​({st​,ut​})=t=0∑N​[Qt​∥st​−s~t​∥2+Pt​(vt​−v~t​)2].(12)

NEUPAN:

C 0 ( S , U ) = ∑ h = t t + H q ∗ ∣ ∣ s h + 1 − s h + 1 ⋄ ∣ ∣ 2 + p ∗ ∣ ∣ u s p e e d , h − u s p e e d ⋄ ∣ ∣ 2 C₀(S, U) = ∑_{h=t}^{t+H} q * ||s_{h+1} - s_{h+1}^⋄||² + p * ||u_{speed,h} - u^⋄_{speed}||² C0​(S,U)=h=t∑t+H​q∗∣∣sh+1​−sh+1⋄​∣∣2+p∗∣∣uspeed,h​−uspeed⋄​∣∣2

优化目标:在有限预测窗内最小化 C 0 C_0 C0​,受动力学与边界及碰撞约束限制:

P 0 : min ⁡ { s t , u t } C 0 ( { s t , u t } ) s.t. s t + 1 = A t s t + B t u t + c t , ∀ t , u min ⁡ ≤ u t ≤ u max ⁡ , ∀ t , a min ⁡ ≤ u t + 1 − u t ≤ a max ⁡ , ∀ t , dist ⁡ ( Z t ( s t ) , O m ) ≥ d safe , ∀ t , m . (13) \begin{aligned} P_0:\quad &\min_{\{s_t,u_t\}} C_0(\{s_t,u_t\})\\ \text{s.t.}\quad & s_{t+1} = A_t s_t + B_t u_t + c_t, \quad\forall t,\\ & u_{\min} \le u_t \le u_{\max},\quad\forall t,\\ & a_{\min} \le u_{t+1}-u_t \le a_{\max},\quad\forall t,\\ & \operatorname{dist}(Z_t(s_t),O_m) \ge d_{\text{safe}},\quad\forall t,m. \tag{13} \end{aligned} P0​:s.t.​{st​,ut​}min​C0​({st​,ut​})st+1​=At​st​+Bt​ut​+ct​,∀t,umin​≤ut​≤umax​,∀t,amin​≤ut+1​−ut​≤amax​,∀t,dist(Zt​(st​),Om​)≥dsafe​,∀t,m.​(13)

困难点:碰撞约束是充分但非必要,难以满足;障碍数 M M M 可能很大导致计算量激增。后续给出解决方案。


创新点:

  1. 动态安全距离方法:其中 d safe d_{\text{safe}} dsafe​被向量变量 d = [ d 1 , . . . , d N ] T d = [d_1,...,d_N]^T d=[d1​,...,dN​]T替换,但是这样忽略了即将到来和未来状态的不同重要性,于是进一步提出l1正则化方法,通过对d施加稀疏性来在不同时间步之间生成不均匀的 { d t } \{d_t\} {dt​}值,,l1正则化通过向 C 0 C_0 C0​添加d的惩罚函数来实现:

    C 1 ( d ) = − η ∥ d ∥ 1 = − η ∑ t = 0 N d t C_1(d) = -\eta \|d\|_1 = -\eta \sum_{t=0}^N d_t C1​(d)=−η∥d∥1​=−ηt=0∑N​dt​

    其中 η ∈ R ≥ 0 \eta \in \mathbb{R}_{\geq 0} η∈R≥0​是调整不同场景中碰撞避免能力的权重因子。

    1. 可以从表达式看出来,这个会使得d尽可能的变小

    2. d safe d_{\text{safe}} dsafe​原本标量的距离变成向量,在真正危险的地方 d t d_t dt​ 可以 **自动变大,**在安全的位置 d t d_t dt​ 可以 变小甚至为 0

    3. 当 η \eta η较大时 :倾向于 d t → d max ⁡ d_t \to d_{\max} dt​→dmax​(更安全);当 η \eta η较小时 :倾向于 d t → d min ⁡ d_t \to d_{\min} dt​→dmin​(更灵活);l1范数使得 d t d_t dt​在时间维度上不均匀分布

    4. 加上 C 1 C_1 C1​之后,整体的问题变了整体问题为:

      min ⁡ { s t , u t } , d C 0 ( { s t , u t } ) + C 1 ( d ) s.t.  ( 13 a ) – ( 13 d ) , d t ∈ [ d min ⁡ , d max ⁡ ] , ∀ t , dist ⁡ ( Z t ( s t ) , O m ) ≥ d t , ∀ t , m . (14) \begin{aligned} \min_{\{s_t,u_t\}, d} &\quad C_0(\{s_t,u_t\}) + C_1(d)\\ \text{s.t.}\ & (13a)\text{--}(13d),\\ & d_t\in[d_{\min},d_{\max}],\quad\forall t,\\ & \operatorname{dist}(Z_t(s_t),O_m) \ge d_t,\quad\forall t,m. \end{aligned} \tag{14} {st​,ut​},dmin​s.t. ​C0​({st​,ut​})+C1​(d)(13a)–(13d),dt​∈[dmin​,dmax​],∀t,dist(Zt​(st​),Om​)≥dt​,∀t,m.​(14)

      较大的 η \eta η 鼓励 d t d_t dt​ 靠近上界 d max ⁡ d_{\max} dmax​,反之靠近下界。

  2. 将约束 dist ( Z t ( s t ) , O m ) ≥ d t \text{dist}(Z_t(s_t), O_m) \geq d_t dist(Zt​(st​),Om​)≥dt​转换为其线性化对偶,通过ADMM求解

dist ⁡ ( Z t ( s t ) , O m ) ≥ d t    ⟺    λ t , m ⪰ O m ∗ 0 , μ t , m ⪰ K r ∗ 0 , λ t , m ⊤ D m p t ( s t ) − λ t , m ⊤ b m − μ t , m ⊤ h ≥ d t , μ t , m ⊤ G + λ t , m ⊤ D m R t ( s t ) = 0 , ∥ D m ⊤ λ t , m ∥ ∗ ≤ 1. (15) \begin{aligned} &\operatorname{dist}(Z_t(s_t),O_m)\ge d_t \iff \\ &\quad \lambda_{t,m}\succeq_{O_m^*} 0,\quad \mu_{t,m}\succeq_{K_r^*} 0,\\ &\quad \lambda_{t,m}^\top D_m p_t(s_t) - \lambda_{t,m}^\top b_m - \mu_{t,m}^\top h \ge d_t,\\ &\quad \mu_{t,m}^\top G + \lambda_{t,m}^\top D_m R_t(s_t) = 0,\\ &\quad \| D_m^\top \lambda_{t,m} \|_* \le 1. \tag{15} \end{aligned} ​dist(Zt​(st​),Om​)≥dt​⟺λt,m​⪰Om∗​​0,μt,m​⪰Kr∗​​0,λt,m⊤​Dm​pt​(st​)−λt,m⊤​bm​−μt,m⊤​h≥dt​,μt,m⊤​G+λt,m⊤​Dm​Rt​(st​)=0,∥Dm⊤​λt,m​∥∗​≤1.​(15)

这里 λ t , m \lambda_{t,m} λt,m​ 与 μ t , m \mu_{t,m} μt,m​ 是对偶变量; ∥ ⋅ ∥ ∗ \|\cdot\|_* ∥⋅∥∗​ 为对偶范数(Euclidean 的对偶范数仍为 Euclidean)。这个变换与文献 [12] 不同之处在于本文对平移 p t p_t pt​ 与旋转 R t R_t Rt​ 做了线性化,从而得到一个平滑的双凸(bi-convex)对偶形式,便于并行求解。

之后把上面的约束都写进拉格朗日,其中第三行经过非负数松弛变成I,第三项转换成H

推导:

参考Apollo星火计划学习笔记——Apollo开放空间规划算法原理与实践_apollo openspace-CSDN博客

对偶是对原来的变量求极小值,然后对拉格朗系数求极大值

补充:

对于任何范数 ∥ ⋅ ∥ \|\cdot\| ∥⋅∥ 及其对偶范数 ∥ ⋅ ∥ ∗ \|\cdot\|_* ∥⋅∥∗​,都有

∥ x ∥ = sup ⁡ ∥ w ∥ ∗ ≤ 1 w ⊤ x . \|x\| = \sup_{\|w\|_* \le 1} w^\top x. ∥x∥=∥w∥∗​≤1sup​w⊤x.

对欧几里得范数, ∥ ⋅ ∥ 2 \|\cdot\|_2 ∥⋅∥2​ 的对偶也是 ∥ ⋅ ∥ 2 \|\cdot\|_2 ∥⋅∥2​。

把这个应用到目标上:

∥ R z + p − o ∥ 2 = sup ⁡ ∥ w ∥ 2 ≤ 1    w ⊤ ( R z + p − o ) . \|Rz + p - o\|_2 = \sup_{\|w\|_2\le 1} \; w^\top (Rz + p - o). ∥Rz+p−o∥2​=∥w∥2​≤1sup​w⊤(Rz+p−o).

因此:在满足强对偶(Slater)条件时可以交换 min ⁡ \min min 和 sup ⁡ \sup sup

δ = min ⁡ z , o sup ⁡ ∥ w ∥ ≤ 1 w ⊤ ( R z + p − o ) = sup ⁡ ∥ w ∥ ≤ 1 min ⁡ z , o w ⊤ ( R z + p − o ) \delta = \min_{z,o}\sup_{\|w\|\le1} w^\top (Rz + p - o) = \sup_{\|w\|\le1}\min_{z,o} w^\top(Rz + p - o) δ=z,omin​∥w∥≤1sup​w⊤(Rz+p−o)=∥w∥≤1sup​z,omin​w⊤(Rz+p−o)

三、对内层 min 做对偶 → 引入 λ 与μ

内层问题(固定 w w w)是

min ⁡ z , o    w ⊤ ( R z + p − o ) s.t.  D m o − b m ∈ − O m , G z − h ∈ − K r . \min_{z,o}\; w^\top(Rz + p - o) \quad\text{s.t. } D_m o - b_m \in -O_m,\quad G z - h \in -K_r. z,omin​w⊤(Rz+p−o)s.t. Dm​o−bm​∈−Om​,Gz−h∈−Kr​.

对这两个锥约束引入对偶变量:

  • λ ∈ O m ∗ \lambda\in O_m^* λ∈Om∗​(对应障碍约束 D m o ⪯ b m D_m o \preceq b_m Dm​o⪯bm​),

  • μ ∈ K r ∗ \mu\in K_r^* μ∈Kr∗​(对应机器人形状约束 G z ⪯ h G z \preceq h Gz⪯h)。

构造 Lagrangian(只对内层问题):

L ( z , o ; λ , μ ) = w ⊤ ( R z + p − o ) + λ ⊤ ( D m o − b m ) + μ ⊤ ( G z − h ) , \mathcal{L}(z,o;\lambda,\mu) = w^\top(Rz+p-o) + \lambda^\top(D_m o - b_m) + \mu^\top(G z - h), L(z,o;λ,μ)=w⊤(Rz+p−o)+λ⊤(Dm​o−bm​)+μ⊤(Gz−h),

要求内层最小值不是 − ∞ -\infty −∞ 的条件是:对 z z z 与 o o o 的线性项系数必须为零(否则可以把变量推向 ± ∞ \pm\infty ±∞ 使目标趋 − ∞ -\infty −∞)。因此求极小化对 z , o z,o z,o 给出必要条件:

对 o o o:

∂ ∂ o : − w + D m ⊤ λ = 0 ⇒ w = D m ⊤ λ . (A) \frac{\partial}{\partial o}:\quad -w + D_m^\top\lambda = 0 \quad\Rightarrow\quad w = D_m^\top\lambda. \tag{A} ∂o∂​:−w+Dm⊤​λ=0⇒w=Dm⊤​λ.(A)

对 z z z:

∂ ∂ z : R ⊤ w + G ⊤ μ = 0 ⇒ R ⊤ w + G ⊤ μ = 0. (B) \frac{\partial}{\partial z}:\quad R^\top w + G^\top \mu = 0 \quad\Rightarrow\quad R^\top w + G^\top \mu = 0. \tag{B} ∂z∂​:R⊤w+G⊤μ=0⇒R⊤w+G⊤μ=0.(B)

把 (A) 代入 (B):

R ⊤ D m ⊤ λ + G ⊤ μ = 0 ⇔ μ ⊤ G + λ ⊤ D m R = 0 , R^\top D_m^\top\lambda + G^\top \mu = 0 \quad\Leftrightarrow\quad \mu^\top G + \lambda^\top D_m R = 0, R⊤Dm⊤​λ+G⊤μ=0⇔μ⊤G+λ⊤Dm​R=0,

这正是论文式 (15) 中的等式约束之一(见论文 (15))

内层最小值(代入可行的 λ , μ \lambda,\mu λ,μ 与 w w w)变为:

w ⊤ p − λ ⊤ b m − μ ⊤ h . w^\top p - \lambda^\top b_m - \mu^\top h. w⊤p−λ⊤bm​−μ⊤h.

将 w = D m ⊤ λ w=D_m^\top\lambda w=Dm⊤​λ 替回,得到对偶目标(关于 λ , μ \lambda,\mu λ,μ)的线性形式:

λ ⊤ D m p ⏟ 来自  w ⊤ p − λ ⊤ b m − μ ⊤ h . \underbrace{\lambda^\top D_m p}_{\text{来自 }w^\top p} - \lambda^\top b_m - \mu^\top h. 来自 w⊤p λ⊤Dm​p​​−λ⊤bm​−μ⊤h.

同时因为我们要求 ∥ w ∥ ∗ ≤ 1 \|w\|_* \le 1 ∥w∥∗​≤1(这是原来 sup ⁡ ∥ w ∥ ∗ ≤ 1 \sup_{\|w\|_*\le1} sup∥w∥∗​≤1​ 的约束),代入 w = D m ⊤ λ w=D_m^\top\lambda w=Dm⊤​λ 得到

∥ D m ⊤ λ ∥ ∗ ≤ 1. \|D_m^\top\lambda\|_* \le 1. ∥Dm⊤​λ∥∗​≤1.

最后把“ δ ≥ d t \delta \ge d_t δ≥dt​”(距离不小于某个 d t d_t dt​)转成对偶不等式:

λ ⊤ D m p − λ ⊤ b m − μ ⊤ h ≥ d t . \lambda^\top D_m p - \lambda^\top b_m - \mu^\top h \ge d_t. λ⊤Dm​p−λ⊤bm​−μ⊤h≥dt​.

把这些条件合起来就是论文式 (15) 的全部内容(写成对偶变量形式):

{ λ t , m ∈ O m ∗ , μ t , m ∈ K r ∗ , μ t , m ⊤ G + λ t , m ⊤ D m R t ( s t ) = 0 , λ t , m ⊤ D m p t ( s t ) − λ t , m ⊤ b m − μ t , m ⊤ h ≥ d t , ∥ D m ⊤ λ t , m ∥ ∗ ≤ 1. \begin{cases} \lambda_{t,m}\in O_m^*,\quad \mu_{t,m}\in K_r^*,\\[4pt] \mu_{t,m}^\top G + \lambda_{t,m}^\top D_m R_t(s_t) = 0,\\[4pt] \lambda_{t,m}^\top D_m p_t(s_t) - \lambda_{t,m}^\top b_m - \mu_{t,m}^\top h \ge d_t,\\[4pt] \|D_m^\top\lambda_{t,m}\|_* \le 1. \end{cases} ⎩ ⎨ ⎧​λt,m​∈Om∗​,μt,m​∈Kr∗​,μt,m⊤​G+λt,m⊤​Dm​Rt​(st​)=0,λt,m⊤​Dm​pt​(st​)−λt,m⊤​bm​−μt,m⊤​h≥dt​,∥Dm⊤​λt,m​∥∗​≤1.​

(论文式 (15))

论文给出带有 H t , m H_{t,m} Ht,m​ 与 I t , m I_{t,m} It,m​ 的非线性等式:

H t , m ( s t , λ t , m , μ t , m ) = μ t , m ⊤ G + λ t , m ⊤ D m R t ( s t ) , I t , m ( s t , λ t , m , μ t , m , d t , z t , m ) = λ t , m ⊤ D m p t ( s t ) − λ t , m ⊤ b m − μ t , m ⊤ h − d t − z t , m . (17-18) \begin{aligned} H_{t,m}(s_t,\lambda_{t,m},\mu_{t,m}) &= \mu_{t,m}^\top G + \lambda_{t,m}^\top D_m R_t(s_t),\\ I_{t,m}(s_t,\lambda_{t,m},\mu_{t,m}, d_t, z_{t,m}) &= \lambda_{t,m}^\top D_m p_t(s_t) - \lambda_{t,m}^\top b_m - \mu_{t,m}^\top h - d_t - z_{t,m}. \tag{17-18} \end{aligned} Ht,m​(st​,λt,m​,μt,m​)It,m​(st​,λt,m​,μt,m​,dt​,zt,m​)​=μt,m⊤​G+λt,m⊤​Dm​Rt​(st​),=λt,m⊤​Dm​pt​(st​)−λt,m⊤​bm​−μt,m⊤​h−dt​−zt,m​.​(17-18)

利用 ADMM,把原问题分为两组主变量:一组为 { s t , u t , d t } \{s_t,u_t,d_t\} {st​,ut​,dt​}(跨时间耦合,因动力学约束);另一组为每个障碍/时刻独立的对偶变量 { λ t , m , μ t , m , z t , m } \{\lambda_{t,m},\mu_{t,m},z_{t,m}\} {λt,m​,μt,m​,zt,m​}。

其要点是:(20a) 求解关于 { s t , u t , d t } \{s_t,u_t,d_t\} {st​,ut​,dt​} 的大规模但与障碍数无关的凸子问题;(20b) 对每个 ( t , m ) (t,m) (t,m) 并行求解小的对偶子问题;(20c)-(20d) 更新拉格朗日乘子。停止准则也给出(原文式 (21)-(22))

为什么引入松弛变量 z t , m z_{t,m} zt,m​ 以及 H t , m , I t , m H_{t,m}, I_{t,m} Ht,m​,It,m​ 的定义

论文把上面的对偶条件写成 ADMM 易处理的等式形式,并为不等式引入松弛量。具体步骤如下:

  1. 原来有(对偶形式)不等式:

    λ ⊤ D m p − λ ⊤ b m − μ ⊤ h ≥ d t . \lambda^\top D_m p - \lambda^\top b_m - \mu^\top h \ge d_t. λ⊤Dm​p−λ⊤bm​−μ⊤h≥dt​.

    我们把它改写成等式,加上非负松弛 z t , m ≥ 0 z_{t,m}\ge 0 zt,m​≥0(它原本来自“≥”加松弛变量变成的“=0”):

    λ ⊤ D m p − λ ⊤ b m − μ ⊤ h − d t − z t , m = 0 , z t , m ≥ 0. \lambda^\top D_m p - \lambda^\top b_m - \mu^\top h - d_t - z_{t,m} = 0,\qquad z_{t,m}\ge0. λ⊤Dm​p−λ⊤bm​−μ⊤h−dt​−zt,m​=0,zt,m​≥0.

    这样把“≥”变成了“=0 且 z≥0”,便于在增广拉格朗日中统一写法。

  2. 把等式约束(来自 R ⊤ w + G ⊤ μ = 0 R^\top w + G^\top\mu =0 R⊤w+G⊤μ=0)写成函数 H t , m ( ⋅ ) = 0 H_{t,m}(\cdot)=0 Ht,m​(⋅)=0,并把上面的等式写成 I t , m ( ⋅ ) = 0 I_{t,m}(\cdot)=0 It,m​(⋅)=0。论文定义(式 (17)-(18)):

  H t , m ( s t , λ t , m , μ t , m )    =    μ t , m ⊤ G    +    λ t , m ⊤ D m R t ( s t )   (17) \boxed{\,H_{t,m}(s_t,\lambda_{t,m},\mu_{t,m}) \;=\; \mu_{t,m}^\top G \;+\; \lambda_{t,m}^\top D_m R_t(s_t)\,} \tag{17} Ht,m​(st​,λt,m​,μt,m​)=μt,m⊤​G+λt,m⊤​Dm​Rt​(st​)​(17)

  I t , m ( s t , λ t , m , μ t , m , d t , z t , m )    =    λ t , m ⊤ D m p t ( s t ) − λ t , m ⊤ b m − μ t , m ⊤ h − d t − z t , m   (18) \boxed{\,I_{t,m}(s_t,\lambda_{t,m},\mu_{t,m},d_t,z_{t,m}) \;=\; \lambda_{t,m}^\top D_m p_t(s_t) - \lambda_{t,m}^\top b_m - \mu_{t,m}^\top h - d_t - z_{t,m}\,} \tag{18} It,m​(st​,λt,m​,μt,m​,dt​,zt,m​)=λt,m⊤​Dm​pt​(st​)−λt,m⊤​bm​−μt,m⊤​h−dt​−zt,m​​(18)

这两式就是论文中 H H H 和 I I I 的来源:把对偶等式与把不等式变成等式后的表达。

增广拉格朗日写成:

L = C 0 ( { s t , u t } ) + C 1 ( d ) + J ( { s , u , d } ) + ∑ t , m Q t , m ( λ t , m , μ t , m , z t , m ) + ρ 2 ∑ t , m ∥ H t , m ( s t , λ t , m , μ t , m ) + ξ t , m ∥ 2 2 + ρ 2 ∑ t , m ∥ I t , m ( s t , λ t , m , μ t , m , d t , z t , m ) + ζ t , m ∥ 2 2 . \begin{aligned} \mathcal{L} = {} & C_0(\{s_t,u_t\}) + C_1(d) + J(\{s,u,d\})+ \sum_{t,m} Q_{t,m}(\lambda_{t,m},\mu_{t,m},z_{t,m}) \\[3pt] & + \frac{\rho}{2}\sum_{t,m}\|H_{t,m}(s_t,\lambda_{t,m},\mu_{t,m}) + \xi_{t,m}\|_2^2+ \frac{\rho}{2}\sum_{t,m}\|I_{t,m}(s_t,\lambda_{t,m},\mu_{t,m},d_t,z_{t,m}) + \zeta_{t,m}\|_2^2. \end{aligned} L=​C0​({st​,ut​})+C1​(d)+J({s,u,d})+t,m∑​Qt,m​(λt,m​,μt,m​,zt,m​)+2ρ​t,m∑​∥Ht,m​(st​,λt,m​,μt,m​)+ξt,m​∥22​+2ρ​t,m∑​∥It,m​(st​,λt,m​,μt,m​,dt​,zt,m​)+ζt,m​∥22​.​

(1) J

表示“动力学和控制范围的可行域”:

J ( { s , u , d } ) = { 0 , 如果  s t + 1 = A t s t + B t u t + c t ,   u ∈ U , + ∞ , 否则 . J(\{s,u,d\}) = \begin{cases} 0, & \text{如果 } s_{t+1}=A_ts_t+B_tu_t+c_t,\ u\in\mathcal{U},\\ +\infty, & \text{否则}. \end{cases} J({s,u,d})={0,+∞,​如果 st+1​=At​st​+Bt​ut​+ct​, u∈U,否则.​

这样在最小化 L \mathcal{L} L 时,就自然强制满足动力学与控制约束。


(2) Q

表示对偶变量的锥可行性(在论文里是 O m ∗ O_m^* Om∗​、 K r ∗ K_r^* Kr∗​、 z ≥ 0 z\ge0 z≥0):

Q t , m ( λ , μ , z ) = { 0 , λ ∈ O m ∗ ,   μ ∈ K r ∗ ,   z ≥ 0 , + ∞ , 否则. Q_{t,m}(\lambda,\mu,z)= \begin{cases} 0, & \lambda\in O_m^*,\ \mu\in K_r^*,\ z\ge0,\\ +\infty, & \text{否则.} \end{cases} Qt,m​(λ,μ,z)={0,+∞,​λ∈Om∗​, μ∈Kr∗​, z≥0,否则.​

这样在最小化 L \mathcal{L} L 的时候,也自然保证这些变量在正确的锥里。


  • ps:复杂度

论文说:

O ( ( N ( n r + n u + 1 ) ) 3.5 ) O((N(n_r+n_u+1))^{3.5}) O((N(nr​+nu​+1))3.5)

与障碍数 M M M 无关;
然后并行解 N × M N\times M N×M 个小问题,每个复杂度 O ( ( ℓ m + h + 1 ) 3.5 ) O((\ell_m + h + 1)^{3.5}) O((ℓm​+h+1)3.5)。

在 RDA 中有两类变量:

  • 状态变量: s t ∈ R n r s_t \in \mathbb{R}^{n_r} st​∈Rnr​

  • 控制变量: u t ∈ R n u u_t \in \mathbb{R}^{n_u} ut​∈Rnu​

  • 再加上动态安全距离 d t ∈ R d_t \in \mathbb{R} dt​∈R

所以在一个时刻的决策变量维度是 n r + n u + 1 n_r + n_u + 1 nr​+nu​+1。

预测窗口长度为 N N N 的 MPC 问题

{ s 0 , s 1 , … , s N , u 0 , u 1 , … , u N − 1 , d 0 , … , d N } \{ s_0, s_1, \dots, s_N, u_0, u_1, \dots, u_{N-1}, d_0, \dots, d_N \} {s0​,s1​,…,sN​,u0​,u1​,…,uN−1​,d0​,…,dN​}

总维度近似为:

dim ≈ N × ( n r + n u + 1 ) \text{dim} \approx N \times (n_r + n_u + 1) dim≈N×(nr​+nu​+1)

这就是复杂度里 N ( n r + n u + 1 ) N(n_r+n_u+1) N(nr​+nu​+1) 的来源。

求解凸优化(特别是二次规划 QP 或二次锥规划 SOCP)时,IPM 的迭代次数是 O ( n ) O(\sqrt{n}) O(n ​),每次迭代要解一个 n × n n\times n n×n 线性系统(成本 O ( n 3 ) O(n^3) O(n3)),所以总体复杂度约为:

O ( n 3.5 ) O(n^{3.5}) O(n3.5)

👉 注意这是理论上界,表示“随维度增长的趋势”,不是实际程序运行时间。

因此,如果 (20a) 的 QP 子问题维度是 N ( n r + n u + 1 ) N(n_r+n_u+1) N(nr​+nu​+1),
则它的理论复杂度为:

O ( ( N ( n r + n u + 1 ) ) 3.5 ) O((N(n_r+n_u+1))^{3.5}) O((N(nr​+nu​+1))3.5)

这一步求解的时间复杂度不随障碍数 M M M 变化,因为每个障碍的对偶变量都被固定了

第二部分:复杂度

O ( ( ℓ m + h + 1 ) 3.5 ) O((\ell_m + h + 1)^{3.5}) O((ℓm​+h+1)3.5)

在 ADMM 的 (20b) 步,每个障碍 / 时刻的子问题变量是:

λ t , m , μ t , m , z t , m \lambda_{t,m}, \mu_{t,m}, z_{t,m} λt,m​,μt,m​,zt,m​

其中:

  • λ t , m ∈ R ℓ m \lambda_{t,m} \in \mathbb{R}^{\ell_m} λt,m​∈Rℓm​:障碍多面体的面数;

  • μ t , m ∈ R h \mu_{t,m} \in \mathbb{R}^h μt,m​∈Rh:机器人形状约束的行数;

  • z t , m z_{t,m} zt,m​ 是标量松弛。

所以子问题维度为 ℓ m + h + 1 \ell_m + h + 1 ℓm​+h+1,
使用相同的 IPM 理论复杂度为:

O ( ( ℓ m + h + 1 ) 3.5 ) O((\ell_m + h + 1)^{3.5}) O((ℓm​+h+1)3.5)

而且有 N × M N\times M N×M 个这样的子问题可以并行求解。

综上:

  • (20a):大问题,复杂度随 N N N 增,但与 M M M 无关;

  • (20b):小问题,复杂度随 M M M 线性增长,但每个都可并行。


1️⃣ 什么是 “sup”-(上确界)

  • 如果最大值存在,sup = max;

  • 如果函数没有真正达到最大值,但有一个“最小上界”,那它就是 sup。

  • 举个例子:

    sup ⁡ x < 1 x = 1 \sup_{x<1} x = 1 x<1sup​x=1

    虽然 x = 1 x=1 x=1 取不到,但 1 是所有 x < 1 x<1 x<1 的最小上界。

    所以在数学上,

sup ⁡ ∥ w ∥ ∗ ≤ 1 w ⊤ x = ∥ x ∥ \sup_{\|w\|_* \le 1} w^\top x = \|x\| ∥w∥∗​≤1sup​w⊤x=∥x∥

这就是所谓的 范数对偶(dual norm) 关系。

这是一个非常重要的结论:

对于任意范数 ∥ ⋅ ∥ \|\cdot\| ∥⋅∥,存在一个对偶范数 ∥ ⋅ ∥ ∗ \|\cdot\|_* ∥⋅∥∗​,定义为:

∥ y ∥ ∗ = sup ⁡ ∥ x ∥ ≤ 1 x ⊤ y \|y\|_* = \sup_{\|x\| \le 1} x^\top y ∥y∥∗​=∥x∥≤1sup​x⊤y

也就是说:

∥ x ∥ = sup ⁡ ∥ y ∥ ∗ ≤ 1 y ⊤ x \|x\| = \sup_{\|y\|_* \le 1} y^\top x ∥x∥=∥y∥∗​≤1sup​y⊤x

对欧几里得范数 ∥ x ∥ 2 \|x\|_2 ∥x∥2​,它的对偶也是 ∥ ⋅ ∥ 2 \|\cdot\|_2 ∥⋅∥2​。


增广拉格朗日函数

🧩 一、从标准约束问题开始

我们从一般的优化问题开始:

min ⁡ x f ( x ) s.t.  A x = 0. \min_x f(x) \quad \text{s.t. } A x = 0. xmin​f(x)s.t. Ax=0.

这个等式约束的标准 拉格朗日函数 (Lagrangian) 是:

L ( x , y ) = f ( x ) + y ⊤ ( A x ) , \mathcal{L}(x,y) = f(x) + y^\top (A x), L(x,y)=f(x)+y⊤(Ax),

其中 y y y 是拉格朗日乘子。

🧩 二、加上“增广”项——得到增广拉格朗日

在 ADMM 中,为了更好收敛,我们不是只用线性乘子项,而是再加一个 二次罚项:

L ρ ( x , y ) = f ( x ) + y ⊤ ( A x ) + ρ 2 ∥ A x ∥ 2 2 . \mathcal{L}_\rho(x,y) = f(x) + y^\top (A x) + \frac{\rho}{2}\|A x\|_2^2. Lρ​(x,y)=f(x)+y⊤(Ax)+2ρ​∥Ax∥22​.

其中 ρ > 0 \rho>0 ρ>0 是罚参数。
它相当于既保证约束残差 A x = 0 A x=0 Ax=0,又让违反约束的解被二次惩罚。

🧩 三、改写为“scaled form”——引入缩放乘子

我们定义新的变量:(可以凑平方项)

u = 1 ρ y ⇒ y = ρ u . u = \frac{1}{\rho} y \quad\Rightarrow\quad y = \rho u. u=ρ1​y⇒y=ρu.

把上式代入:

L ρ ( x , u ) = f ( x ) + ρ u ⊤ ( A x ) + ρ 2 ∥ A x ∥ 2 = f ( x ) + ρ 2 ∥ A x + u ∥ 2 − ρ 2 ∥ u ∥ 2 . \mathcal{L}_\rho(x,u) = f(x) + \rho u^\top (A x) + \frac{\rho}{2}\|A x\|^2 = f(x) + \frac{\rho}{2}\|A x + u\|^2 - \frac{\rho}{2}\|u\|^2. Lρ​(x,u)=f(x)+ρu⊤(Ax)+2ρ​∥Ax∥2=f(x)+2ρ​∥Ax+u∥2−2ρ​∥u∥2.

这个形式就是 ADMM 通常使用的 scaled augmented Lagrangian。
为什么?因为更新时 u u u 的规则变得非常简单:

u k + 1 = u k + A x k + 1 , u^{k+1} = u^k + A x^{k+1}, uk+1=uk+Axk+1,

不需要显式乘上 ρ \rho ρ,数值稳定且易写。


Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐