问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

EGO-Planner详解(1)之论文解读

创作时间:
作者:
@小白创作中心

EGO-Planner详解(1)之论文解读

引用
CSDN
1.
https://blog.csdn.net/weixin_45534376/article/details/137781651

本系列文章主要解析浙大高飞老师FAST-Lab团队的文章EGO-Planner,该算法作为现在无人机的主流轨迹规划算法值得详细解读,笔者利用自己有限的理解力做一个笔记摘录,若有问题请各位大佬评论区指正。本文主要解析论文部分。

原代码和论文

1. Introduction

基于梯度的运动规划是UAV局部轨迹生成的主流方法,将无人机局部轨迹生成问题归结为无约束非线性优化问题。许多轨迹规划算法直接利用ESDF地图中丰富的梯度信息优化轨迹。

本文争对传统的基于梯度优化的轨迹,是先建立ESDF地图然后再利用ESDF地图中的梯度信息对轨迹进行优化,但是在EWOK一文中给出了整个一个轨迹规划流程中的时间分布如下图,建图占用时间过大。本文旨在只在必要时计算梯度,避免在与局部轨迹无关的区域计算ESDF。

主要贡献有下:

  1. 一种新的基于梯度的四旋翼局部规划方法,直接从障碍物中评估和投影梯度信息,而不是预先构建的方法。

  2. 轻量级的轨迹细化算法,产生更平滑的轨迹,制定各向异性的错误惩罚的轨迹拟合问题。

2. 避障估计

避障轨迹的形成过程:

第一步,生成一条只满足终端约束不考虑避障的B样条曲线Φ;

第二步,迭代检测每个碰撞段,用图搜索算法(论文结尾提到用的A*)生成一条无碰撞路径Γ \GammaΓ(图a);

第三步,轨迹Φ上控制点Q i Q_iQi 的切向量定义为R i R_iRi ,过控制点Q i Q_iQi 切向量R i R_iRi (直接用( Q i + 1 − Q i − 1 ) / 2 Δ t (Q_{i+1}-Q_{i-1})/2\Delta t(Qi+1 −Qi−1 )/2Δt计算)的垂直平面Ψ \PsiΨ与Γ \GammaΓ相交形成线l,l与障碍物j的表面相交于点p i j p_{ij}pij ,同时获得向量v i j v_{ij}vij ,v是Q指向p的单位向量,形成(p,v)对(图b);

第四步,根据(p,v)对定义距离场d i j = ( Q i − p i j ) ⋅ v i j d_{ij}=(Q_i-p_{ij})\cdot v_{ij}dij =(Qi −pij )⋅vij (论文中没有讲清楚这个定义,此时的Q i Q_iQi 不是原本的控制点,而是想要寻找的避障的新控制点,而v固定不再改变),d i j d_{ij}dij 大于0表示不在该障碍物j内。

该节还给出了一个减少迭代过程中产生重复{p,v}对,判断是否为新的障碍物标准:如果控制点Q i Q_iQi 处于障碍物中时,并且对于当前得到的所有障碍物j满足d i j > 0 d_{ij}>0dij >0,则障碍物为新发现的障碍物,从而只计算影响轨迹的障碍物信息,减少运行时间。

3. 基于梯度的轨迹优化器

轨迹优化主要用的也是B样条轨迹进行平滑度和最小损失的优化,可以参考FAST-Planner的笔记,根据四旋翼的微分平坦性,优化问题被定义为:

min ⁡ Q J = λ s J s + λ c J c + λ d J d \min_Q J=\lambda_sJ_s+\lambda_cJ_c+\lambda_dJ_dQmin J=λs Js +λc Jc +λd Jd

与FAST-Planner一样J s J_sJs 为平滑项惩罚,J c J_cJc 为碰撞项惩罚,J d J_dJd 为动力学可行性惩罚,λ \lambdaλ为惩罚项的权重。

3.1 平滑度惩罚

根据B样条的两个性质:1.凸包;2.pb阶B样条的k次导数为pb-k阶B样条。只要最小化B样条路径轨迹的二阶和三阶控制点的平方和就能有效减少加速度和加加速度的平方和(这里可参考minimum snap):

J s = ∑ i = 1 N c − 2 ∣ ∣ A i ∣ ∣ 2 2 + ∑ i = 1 N c − 3 ∣ ∣ J i ∣ ∣ 2 2 J_s=\sum_{i=1}^{N_c-2}||A_i||2^2+\sum{i=1}^{N_c-3}||J_i||_2^2Js =i=1∑Nc −2 ∣∣Ai ∣∣22 +i=1∑Nc −3 ∣∣Ji ∣∣22

3.2 碰撞项惩罚

碰撞惩罚使控制点远离障碍物,通过采用安全间隙和惩罚控制点d i j < s f d_{ij}<s_fdij <sf 来实现,下式是该论文设计的一个二次连续可微惩罚函数,随着d i j d_{ij}dij 的减小而抑制其斜率,这里的d i j d_{ij}dij 是第二节的控制点距离场,s f s_fsf 为给定的安全间隙

对所有控制点的惩罚求和得到总的碰撞项惩罚:

J c = ∑ i = 1 N c j c ( Q i ) J_c=\sum_{i=1}^{N_c}j_c(Q_i)Jc =i=1∑Nc jc (Qi )

相比于传统用三线性插值的方法求碰撞项的梯度,本文直接用惩罚函数对控制点求导获得梯度:

3.3 可行性惩罚

也可称为动力学惩罚,受限于物理的速度、加速度、加加速度的极限,在计算轨迹时,要设定可行性惩罚,通过限制轨迹在每一维上的高阶导数来保证其可行性。根据B样条曲线的性质,对控制点的导数进行约束足以约束整个B样条。

3.4 数值优化

本优化目标函数是

min ⁡ Q J = λ s J s + λ c J c + λ d J d \min_Q J=\lambda_sJ_s+\lambda_cJ_c+\lambda_dJ_dQmin J=λs Js +λc Jc +λd Jd

轨迹执行过程中会随着新障碍物的加入不断改变目标函数,这就要求求解器能够快速重启并求解,并且目标函数主要由二次项组成,所以Hessian信息能够加快收敛速度。但是精确的Hessian矩阵求解会消耗大量计算资源。所以采用拟牛顿法(quasi-Newton methods)从梯度信息来近似计算Hessian。

4. 时间重分配以及轨迹进一步优化

  • 与FAST-Planner类似,计算极限超标率(超过限制的最大比例)

r e = max ⁡ { ∣ v i , r / v m ∣ , ∣ A j , r / a m ∣ , J k , r / j m 3 , 1 } r_e=\max{|v_{i,r}/v_m|,\sqrt{|A_{j,r}/a_m|},\sqrt[3]{J_{k,r}/j_m},1}re =max{∣vi,r /vm ∣,∣Aj,r /am ∣ ,3Jk,r /jm ,1}

  • 得到新的时间间隔Δ t ′ = r e Δ t \Delta t'=r_e\Delta tΔt′=re Δt

  • 通过求解一个如下的闭式的最小二乘问题,在速度及其导数的约束下初始生成时间跨度为Δ t ′ \Delta t'Δt′的轨迹Φ f \Phi_fΦf ,同时保持与Φ s \Phi_sΦs 相同的形状和控制点数,然后重新计算光滑度惩罚和可行性惩罚得到新的目标函数:

min ⁡ Q J ′ = λ s J s + λ d J d + λ f J f \min_QJ'=\lambda_sJ_s+\lambda_dJ_d+\lambda_fJ_fQmin J′=λs Js +λd Jd +λf Jf

  • λ f \lambda_fλf 是适应度惩罚权重,J f J_fJf 被定义为从Φ f ( α T ’ ) \Phi_f(\alpha T’)Φf (αT’)到Φ s ( α T ) \Phi_s(\alpha T)Φs (αT)各向异性位移的积分(α ∈ [ 0 , 1 ] \alpha\in[0,1]α∈[0,1]),其中T和T’为轨迹Φ s \Phi_sΦs 和Φ f \Phi_fΦf 的持续时间。

  • Φ s \Phi_sΦs 是第3节中优化获得的无碰撞曲线(安全轨迹),利用低权重的轴向位移d a d_ada 来放宽光滑度调整,用高权重的径向位移d r d_rdr 来防止碰撞。

  • 优化Φ f \Phi_fΦf 轨迹来拟合轨迹Φ s \Phi_sΦs 同时调整平滑度和可行度。椭圆球上的J f J_fJf 惩罚相同。

J f = ∫ 0 1 [ d a ( α T ′ ) 2 a 2 + d r ( α T ′ ) 2 b 2 ] d α J_f=\int_0^1[\frac{d_a(\alpha T')^2}{a^2}+\frac{d_r(\alpha T')^2}{b^2}]d\alphaJf =∫01 [a2da (αT′)2 +b2dr (αT′)2 ]dα

参考博客

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号