论文阅读-RDA
RDA: An Accelerated Collision Free Motion Planner for Autonomous Navigation in Cluttered Environments
文章目录

🧠另一篇
问题描述
-
障碍物模型
-
环境由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∣Dmo⪯Ombm}
其中 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是适当锥。
-
-
机器人模型
-
每个机器人在时间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⪯Krh}
其中 R ( s t ) R(s_t) R(st)是表示机器人方向的旋转矩阵, p ( s t ) p(s_t) p(st)是表示机器人位置的平移矩阵。
-
-
动力学约束
-
机器人状态演化可以描述为:
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=Atst+Btut+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= 100010(−vˉxsinθˉ−vˉycosθˉ)Δt(vˉxcosθˉ−vˉysinθˉ)Δ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θˉΔt000Δ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)−Atsˉt−Btuˉt= xˉ+(vˉxcosθˉ−vˉysinθˉ)Δtyˉ+(vˉxsinθˉ+vˉycosθˉ)Δtθˉ+ωˉΔt xˉ+(−vˉxsinθˉ−vˉycosθˉ)θˉΔtyˉ+(vˉxcosθˉ−vˉysinθˉ)θˉΔtθˉ (vˉxcosθˉ−vˉysinθˉ)Δt(vˉxsinθˉ+vˉycosθˉ)Δ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ˉxsinθˉ+vˉycosθˉ)Δtθˉ(vˉxcosθˉ−vˉysinθˉ)Δt0
-
碰撞约束
机器人与障碍物之间的最小距离 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. 速度约束
-
u min ⪯ u t ⪯ u max , ∀ t u_{\min} \preceq u_t \preceq u_{\max}, \forall t umin⪯ut⪯umax,∀t
-
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+Hq∗∣∣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}minC0({st,ut})st+1=Atst+Btut+ct,∀t,umin≤ut≤umax,∀t,amin≤ut+1−ut≤amax,∀t,dist(Zt(st),Om)≥dsafe,∀t,m.(13)
困难点:碰撞约束是充分但非必要,难以满足;障碍数 M M M 可能很大导致计算量激增。后续给出解决方案。
创新点:
-
动态安全距离方法:其中 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∑Ndt
其中 η ∈ R ≥ 0 \eta \in \mathbb{R}_{\geq 0} η∈R≥0是调整不同场景中碰撞避免能力的权重因子。
-
可以从表达式看出来,这个会使得d尽可能的变小
-
d safe d_{\text{safe}} dsafe原本标量的距离变成向量,在真正危险的地方 d t d_t dt 可以 **自动变大,**在安全的位置 d t d_t dt 可以 变小甚至为 0
-
当 η \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在时间维度上不均匀分布
-
加上 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},dmins.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,反之靠近下界。
-
-
将约束 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⊤Dmpt(st)−λt,m⊤bm−μt,m⊤h≥dt,μt,m⊤G+λt,m⊤DmRt(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∥∗≤1supw⊤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≤1supw⊤(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∥≤1supw⊤(Rz+p−o)=∥w∥≤1supz,ominw⊤(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,ominw⊤(Rz+p−o)s.t. Dmo−bm∈−Om,Gz−h∈−Kr.
对这两个锥约束引入对偶变量:
λ ∈ O m ∗ \lambda\in O_m^* λ∈Om∗(对应障碍约束 D m o ⪯ b m D_m o \preceq b_m Dmo⪯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)+λ⊤(Dmo−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+λ⊤DmR=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 λ⊤Dmp−λ⊤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. λ⊤Dmp−λ⊤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⊤DmRt(st)=0,λt,m⊤Dmpt(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⊤DmRt(st),=λt,m⊤Dmpt(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 易处理的等式形式,并为不等式引入松弛量。具体步骤如下:
原来有(对偶形式)不等式:
λ ⊤ D m p − λ ⊤ b m − μ ⊤ h ≥ d t . \lambda^\top D_m p - \lambda^\top b_m - \mu^\top h \ge d_t. λ⊤Dmp−λ⊤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. λ⊤Dmp−λ⊤bm−μ⊤h−dt−zt,m=0,zt,m≥0.
这样把“≥”变成了“=0 且 z≥0”,便于在增广拉格朗日中统一写法。
把等式约束(来自 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⊤DmRt(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⊤Dmpt(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=Atst+Btut+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<1supx=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∥∗≤1supw⊤x=∥x∥
这就是所谓的 范数对偶(dual norm) 关系。
这是一个非常重要的结论:
对于任意范数 ∥ ⋅ ∥ \|\cdot\| ∥⋅∥,存在一个对偶范数 ∥ ⋅ ∥ ∗ \|\cdot\|_* ∥⋅∥∗,定义为:
∥ y ∥ ∗ = sup ∥ x ∥ ≤ 1 x ⊤ y \|y\|_* = \sup_{\|x\| \le 1} x^\top y ∥y∥∗=∥x∥≤1supx⊤y
也就是说:
∥ x ∥ = sup ∥ y ∥ ∗ ≤ 1 y ⊤ x \|x\| = \sup_{\|y\|_* \le 1} y^\top x ∥x∥=∥y∥∗≤1supy⊤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. xminf(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=ρ1y⇒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 ρ,数值稳定且易写。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)