GitHub TCST Arxiv

2. 问题描述

2.1 障碍物建模

障碍物用如下公式表示

O(m)={yRnA(m)yKb(m)}\mathbb{O}^{(m)} = \left\{ \bm{y} \in \mathbb{R} ^n \mid \bm{A}^{(m)} \bm{y} \preceq _{\mathcal{K}} \bm{b}^{(m)}\right\}

上标(m)^{(m)}表示在时间步为mm时的障碍物位置;A(m)yKb(m)\bm{A}^{(m)} \bm{y} \preceq _{\mathcal{K}} \bm{b}^{(m)}可以展开为b(m)A(m)yK\bm{b}^{(m)} - \bm{A}^{(m)} \bm{y} \in \mathcal{K}。若令K=R+l\mathcal{K} = \mathbb{R} ^l_+即非负象限锥,则此广义不等式变为逐元素不等式\leq,此时障碍物由不同的半空间组成,是一个多面体;若令锥为二阶锥,此时障碍物是一个椭球

2.2 被控物体建模

被控物体用符号E(xk)\mathbb{E}(\bm{x}_k)表示,其中xk\bm{x}_k表示被控物体在时间步为kk时的状态

当被控物体被视为质点时,它可以表示为

E(xk)=pk\mathbb{E}(\bm{x}_k) = \bm{p}_k

pk\bm{p}_k表示质点在时间步为kk时的位置

当被控物体被视为全维度物体时,即形状不可忽略,它可以表示为

E(xk)=R(xk)B+t(xk),B{yGyKˉg}\mathbb{E}(\bm{x}_k) = \bm{R}(\bm{x}_k) \mathbb{B} + \bm{t}(\bm{x}_k) , \mathbb{B} \coloneqq \left\{ \bm{y} \mid \bm{Gy} \preceq _{\bar{\mathcal{K}}} \bm{g}\right\}

可以视为对一个已知的锥B\mathbb{B}进行旋转G\bm{G}和平移g\bm{g}

2.3 带避碰的最优控制问题

可以构造一个具备避障功能的模型预测控制

minx,u,λ k=0N(xk,uk)s.t. x0=xS,xN+1=xFxk+1=f(xk,uk),h(xk,uk)0E(xk)O(m)=\begin{align*} \min_{\bm{x},\bm{u},\bm{\lambda}} \ &\sum_{k=0}^{N} \ell(\bm{x}_k, \bm{u}_k) \\ \text{s.t.} \ & \bm{x}_0 = \bm{x}_S, \quad \bm{x}_{N+1} = \bm{x}_F \\ & \bm{x}_{k+1} = f(\bm{x}_k,\bm{u}_k), \quad h(\bm{x}_k, \bm{u}_k) \leq 0 \\ & \mathbb{E}(\bm{x}_k) \cap \mathbb{O}^{(m)} = \emptyset \end{align*}

其中()\ell(\cdot)为代价函数;xk+1=f(xk,uk)\bm{x}_{k+1} = f(\bm{x}_k,\bm{u}_k)为运动方程;h(xk,uk)0h(\bm{x}_k, \bm{u}_k) \leq 0为输入u\bm{u}和状态x\bm{x}约束;E(xk)O(m)=\mathbb{E}(\bm{x}_k) \cap \mathbb{O}^{(m)} = \emptyset为避障约束,通常是非凸的且不可微的,因此需要使用等价方式来表示避障

2.4 避碰约束

dist(E(x),O)=mint ts.t. (E(x)+t)O\begin{align*} \operatorname{dist} (\mathbb{E}(\bm{x}),\mathbb{O}) = \min _{\bm{t}} \ & \lVert \bm{t} \rVert \\ \text{s.t.} \ & (\mathbb{E}(\bm{x}) + \bm{t}) \cap \mathbb{O} \neq \emptyset \end{align*}

即计算两个集合的距离,因此E(xk)O(m)=\mathbb{E}(\bm{x}_k) \cap \mathbb{O}^{(m)} = \emptysetdist(E(x),O)>0\operatorname{dist} (\mathbb{E}(\bm{x}),\mathbb{O}) > 0是等价的

3. 质点模型下的无碰撞轨迹生成

结合质点模型和避碰约束,可以得到

dist(E(x),O)=mint ts.t. A(pk+t)Kb\begin{align*} \operatorname{dist} (\mathbb{E}(\bm{x}),\mathbb{O}) = \min _{\bm{t}} \ & \lVert \bm{t} \rVert \\ \text{s.t.} \ & \bm{A} (\bm{p}_k + \bm{t}) \preceq _{\mathcal{K}} \bm{b} \end{align*}

它的拉格朗日对偶问题可以写为

maxλmint t+λ(A(pk+t)b)=maxλmint t+λAt+λApkλb=maxλmint t+(Aλ)t+(Apkb)λ\begin{align*} & \max _{\bm{\lambda }} \min _{\bm{t}} \ \lVert \bm{t} \rVert + \bm{\lambda }^\top (\bm{A} (\bm{p}_k + \bm{t}) - \bm{b}) \\ = & \max _{\bm{\lambda }} \min _{\bm{t}} \ \lVert \bm{t} \rVert + \bm{\lambda }^\top \bm{At} + \bm{\lambda }^\top \bm{A \bm{p}}_k - \bm{\lambda }^\top \bm{b} \\ = & \max _{\bm{\lambda }} \min _{\bm{t}} \ \lVert \bm{t} \rVert + (\bm{A}^\top \bm{\lambda})\bm{t} + (\bm{A \bm{p}}_k - \bm{b})^\top \bm{\lambda } \end{align*}

为了保证内层的极小化结果是有限的,需要令Aλ1\lVert \bm{A}^\top \bm{\lambda} \rVert_* \leq 1,其中\lVert \cdot \rVert_*为对偶范数,证明如下

便于讨论,令μ=Aλ\bm{\mu} = \bm{A}^\top \bm{\lambda},令t=αt0\bm{t} = -\alpha \bm{t}_0,其中α>0\alpha >0,则

t+(Aλ)t=αt0αμt0=α(1μt0)\lVert \bm{t} \rVert + (\bm{A}^\top \bm{\lambda})\bm{t} = \alpha \lVert \bm{t}_0 \rVert - \alpha \bm{\mu }^\top \bm{t}_0 = \alpha (1-\bm{\mu }^\top \bm{t}_0)

μ>1\lVert \bm{\mu } \rVert_* > 1,则存在μt0>1\bm{\mu }^\top \bm{t}_0 >1,括号里为负,当α+\alpha \to + \infty,整个表达式无界。因此需要μ1\lVert \bm{\mu } \rVert_* \leq 1,即Aλ1\lVert \bm{A}^\top \bm{\lambda} \rVert_* \leq 1,此时mint t+(Aλ)t=0\min _{\bm{t}} \ \lVert \bm{t} \rVert + (\bm{A}^\top \bm{\lambda})\bm{t} = 0

因此拉格朗日对偶问题为

maxλ (Apkb)λs.t. Aλ1λK0\begin{align*} \max _{\bm{\lambda }} \ &(\bm{A \bm{p}}_k - \bm{b})^\top \bm{\lambda } \\ \text{s.t.} \ & \lVert \bm{A}^\top \bm{\lambda} \rVert_* \leq 1 \\ & \bm{\lambda} \succeq _{\mathcal{K}^*} 0 \\ \end{align*}

其中λK0\bm{\lambda} \succeq _{\mathcal{K}^*} 0意味着λ\bm{\lambda}属于对偶锥,等价于拉格朗日乘子时参数大于零。因为O\mathbb{O}具有非空相对内部,具有强对偶性。因此原问题与对偶问题等价

dist(E(x),O)=maxλ (Apkb)λs.t. Aλ1λK0\begin{align*} \operatorname{dist} (\mathbb{E}(\bm{x}),\mathbb{O}) = \max _{\bm{\lambda }} \ &(\bm{A \bm{p}}_k - \bm{b})^\top \bm{\lambda } \\ \text{s.t.} \ & \lVert \bm{A}^\top \bm{\lambda} \rVert_* \leq 1 \\ & \bm{\lambda} \succeq _{\mathcal{K}^*} 0 \\ \end{align*}

因此

dist(E(x),O)>dminλK0:(Apkb)λ>dmin,Aλ1\operatorname{dist} (\mathbb{E}(\bm{x}),\mathbb{O}) > d_{\min} \Leftrightarrow \exists \bm{\lambda} \succeq _{\mathcal{K}^*} 0 :(\bm{A \bm{p}}_k - \bm{b})^\top \bm{\lambda } > d_{\min} ,\lVert \bm{A}^\top \bm{\lambda} \rVert_* \leq 1

可以把此存在问题直接放进约束条件中,但若是任意问题,需要转成 “极值约束”放进约束中。因为存在是 “只要有一个就行”,优化器帮我们找到它即可;但是任意是 “所有都要满足”,优化器没法同时验证无穷多个

因此具备避障功能的模型预测控制可以改写为

minx,u,λ k=0N(xk,uk)s.t. x0=xS,xN+1=xFxk+1=f(xk,uk),h(xk,uk)0(Apkb)λ>dminλK0,Aλ1\begin{align*} \min_{\bm{x},\bm{u},\bm{\lambda}} \ &\sum_{k=0}^{N} \ell(\bm{x}_k, \bm{u}_k) \\ \text{s.t.} \ & \bm{x}_0 = \bm{x}_S, \quad \bm{x}_{N+1} = \bm{x}_F \\ & \bm{x}_{k+1} = f(\bm{x}_k,\bm{u}_k), \quad h(\bm{x}_k, \bm{u}_k) \leq 0 \\ & (\bm{A \bm{p}}_k - \bm{b})^\top \bm{\lambda } > d_{\min} \\ & \bm{\lambda} \succeq _{\mathcal{K}^*} 0, \quad \lVert \bm{A}^\top \bm{\lambda} \rVert_* \leq 1 \end{align*}

4. 全维度模型下的无碰撞轨迹生成

结合全维度模型和避碰约束,可以得到

dist(E(x),O)=mine,o eos.t. AoKbeE(x)=mine,o R(x)e+t(x)os.t. AoKbGeKˉg=mine,o,y ys.t. AoKbGeKˉgR(x)e+t(x)oy=0\begin{align*} \operatorname{dist} (\mathbb{E}(\bm{x}),\mathbb{O}) = \min _{\bm{e},\bm{o}} \ & \lVert \bm{e} - \bm{o} \rVert \\ \text{s.t.} \ & \bm{Ao} \preceq _{\mathcal{K}} \bm{b} \\ & \bm{e} \in \mathbb{E}(\bm{x}) \\ = \min _{\bm{e}',\bm{o}} \ & \lVert \bm{R}(\bm{x})\bm{e}'+\bm{t}(\bm{x}) - \bm{o} \rVert \\ \text{s.t.} \ & \bm{Ao} \preceq _{\mathcal{K}} \bm{b} \\ & \bm{Ge}' \preceq _{\bar{\mathcal{K}}} \bm{g} \\ = \min _{\bm{e}',\bm{o},\bm{y}} \ & \lVert \bm{y} \rVert \\ \text{s.t.} \ & \bm{Ao} \preceq _{\mathcal{K}} \bm{b} \\ & \bm{Ge}' \preceq _{\bar{\mathcal{K}}} \bm{g} \\ & \bm{R}(\bm{x})\bm{e}'+\bm{t}(\bm{x}) - \bm{o} - \bm{y} = 0 \end{align*}

y=R(x)e+t(x)o\bm{y}=\bm{R}(\bm{x})\bm{e}'+\bm{t}(\bm{x}) - \bm{o},它的拉格朗日对偶问题可以写为

maxλ,μ,ηminy,o,e y+λ(Aob)+μ(Geg)+η(R(x)e+t(x)oy)=maxλ,μ,η miny (yηy)+mino (λAoηo)+mine (μGeηR(x)e)λb(x)μg+ηt=maxλ,μ,η miny (yηy)+mino (ηAλ)o+mine (GμR(x)η)eλb(x)μg+ηt\begin{align*} & \max _{\bm{\lambda }, \bm{\mu },\bm{\eta}} \min _{\bm{y},\bm{o},\bm{e}'} \ \lVert \bm{y} \rVert + \bm{\lambda }^\top (\bm{Ao}-\bm{b})+ \bm{\mu }^\top (\bm{Ge}'-\bm{g}) + \bm{\eta }^\top (\bm{R}(\bm{x})\bm{e}'+\bm{t}(\bm{x}) - \bm{o} - \bm{y})\\ = & \max _{\bm{\lambda }, \bm{\mu },\bm{\eta}} \ \min _{\bm{y}} \ (\lVert \bm{y} \rVert - \bm{\eta }^\top \bm{y}) + \min _{\bm{o}} \ (\bm{\lambda }^\top \bm{Ao} - \bm{\eta}^\top \bm{o}) + \min _{\bm{e}'} \ (\bm{\mu }^\top \bm{Ge}' - \bm{\eta}^\top \bm{R}(\bm{x})\bm{e}') -\bm{\lambda }^\top \bm{b}(\bm{x}) - \bm{\mu}^\top \bm{g} + \bm{\eta}^\top \bm{t} \\ = & \max _{\bm{\lambda }, \bm{\mu },\bm{\eta}} \ \min _{\bm{y}} \ (\lVert \bm{y} \rVert - \bm{\eta }^\top \bm{y}) + \min _{\bm{o}} \ ( \bm{\eta}-\bm{A}^\top \bm{\lambda })^\top\bm{o} + \min _{\bm{e}'} \ (\bm{G}^\top \bm{\mu} - \bm{R}(\bm{x})^\top \bm{\eta})^\top\bm{e}' -\bm{\lambda }^\top \bm{b}(\bm{x}) - \bm{\mu}^\top \bm{g} + \bm{\eta}^\top \bm{t} \end{align*}

为了保证内层的极小化结果是有限的,需要令η1\lVert \bm{\eta}\rVert_* \leq 1ηAλ=0\bm{\eta}-\bm{A}^\top \bm{\lambda } = 0GμR(x)η=0\bm{G}^\top \bm{\mu} - \bm{R}(\bm{x})^\top \bm{\eta} = 0,因此可以将η=Aλ\bm{\eta}=\bm{A}^\top \bm{\lambda }代入

因此拉格朗日对偶问题为

maxλ,μ gμ+(At(x)b)λs.t. Aλ1Gμ+R(x)Aλ=0λK0μKˉ0\begin{align*} \max _{\bm{\lambda },\bm{\mu}} \ &-\bm{g}^\top \bm{\mu } + (\bm{At}(\bm{x}) - \bm{b})^\top \bm{\lambda} \\ \text{s.t.} \ & \lVert \bm{A}^\top \bm{\lambda} \rVert_* \leq 1 \\ & \bm{G}^\top \bm{\mu} + \bm{R}(\bm{x})^\top \bm{A}^\top \bm{\lambda}= 0 \\ & \bm{\lambda} \succeq _{\mathcal{K}^*} 0 \\ & \bm{\mu} \succeq _{\bar{\mathcal{K}}^*} 0 \end{align*}

因为O\mathbb{O}B\mathbb{B}具有非空相对内部,具有强对偶性。因此原问题与对偶问题等价

dist(E(x),O)=maxλ,μ gμ+(At(x)b)λs.t. Aλ1Gμ+R(x)Aλ=0λK0μKˉ0\begin{align*} \operatorname{dist} (\mathbb{E}(\bm{x}),\mathbb{O}) = \max _{\bm{\lambda },\bm{\mu}} \ &-\bm{g}^\top \bm{\mu } + (\bm{At}(\bm{x}) - \bm{b})^\top \bm{\lambda} \\ \text{s.t.} \ & \lVert \bm{A}^\top \bm{\lambda} \rVert_* \leq 1 \\ & \bm{G}^\top \bm{\mu} + \bm{R}(\bm{x})^\top \bm{A}^\top \bm{\lambda}= 0 \\ & \bm{\lambda} \succeq _{\mathcal{K}^*} 0 \\ & \bm{\mu} \succeq _{\bar{\mathcal{K}}^*} 0 \end{align*}

因此

dist(E(x),O)>dminλK0,μKˉ0:gμ+(At(x)b)λ>dmin,Aλ1,Gμ+R(x)Aλ=0\begin{align*} &\operatorname{dist} (\mathbb{E}(\bm{x}),\mathbb{O}) > d_{\min} \\ \Leftrightarrow &\exists \bm{\lambda} \succeq _{\mathcal{K}^*} 0 , \bm{\mu} \succeq _{\bar{\mathcal{K}}^*} 0 :-\bm{g}^\top \bm{\mu } + (\bm{At}(\bm{x}) - \bm{b})^\top \bm{\lambda} > d_{\min} , \\ &\lVert \bm{A}^\top \bm{\lambda} \rVert_* \leq 1 , \quad \bm{G}^\top \bm{\mu} + \bm{R}(\bm{x})^\top \bm{A}^\top \bm{\lambda}= 0 \end{align*}

因此具备避障功能的模型预测控制可以改写为

minx,u,λ k=0N(xk,uk)s.t. x0=xS,xN+1=xFxk+1=f(xk,uk),h(xk,uk)0gμ+(At(x)b)λ>dminGμ+R(x)Aλ=0Aλ1,λK0,μKˉ0\begin{align*} \min_{\bm{x},\bm{u},\bm{\lambda}} \ &\sum_{k=0}^{N} \ell(\bm{x}_k, \bm{u}_k) \\ \text{s.t.} \ & \bm{x}_0 = \bm{x}_S, \quad \bm{x}_{N+1} = \bm{x}_F \\ & \bm{x}_{k+1} = f(\bm{x}_k,\bm{u}_k), \quad h(\bm{x}_k, \bm{u}_k) \leq 0 \\ & -\bm{g}^\top \bm{\mu } + (\bm{At}(\bm{x}) - \bm{b})^\top \bm{\lambda} > d_{\min} \\ & \bm{G}^\top \bm{\mu} + \bm{R}(\bm{x})^\top \bm{A}^\top \bm{\lambda}= 0 \\ & \bm{A}^\top \bm{\lambda} \rVert_* \leq 1, \quad \bm{\lambda} \succeq _{\mathcal{K}^*} 0, \quad \bm{\mu} \succeq _{\bar{\mathcal{K}}^*} 0 \end{align*}


参考资源

凸优化基础

机器人中的数值优化