当前位置:   article > 正文

6软硬约束下的轨迹优化_软约束和硬约束

软约束和硬约束

Introduction

Minimum snap trajectory optimization

在这里插入图片描述

Minimum snap这种方法只限制轨迹应该会通过的中间路径点(中继点),collision checking存在于轨迹搜寻中。
优点在于计算成本低,易于实现。但对轨迹本身没有约束,轨迹的“超调”不可避免如图所示。
基于Minimum snap 框架有利于平滑曲线但不利于避障。所以需要我们进行优化.

方法

产生障碍物推力(人工势场法),添加硬约束(bound box绿色方块)
在这里插入图片描述

Hard/Soft constraints

min ⁡ f ( x ) s . t . g i ( x ) = c i , i = 1 , . . . , n    等式约束    h j ( x ) ⩾ d j , j = 1 , . . . , n    不等式约束 \min f\left( x \right) \\ s.t. g_i\left( x \right) =c_i, i=1,...,n\,\,\text{等式约束} \\ \,\, h_j\left( x \right) \geqslant d_j, j=1,...,n\,\,\text{不等式约束} minf(x)s.t.gi(x)=ci,i=1,...,n等式约束hj(x)dj,j=1,...,n不等式约束
硬约束必须要满足


软约束目标是尽量减少下面函数值
min ⁡ f ( x ) + λ 1 ⋅ g ( x ) + λ 2 ⋅ h ( x ) \min f\left( x \right) +\lambda _1\cdot g\left( x \right) +\lambda _2\cdot h\left( x \right) minf(x)+λ1g(x)+λ2h(x)
λ \lambda λ后面惩罚项/损失函数
•首选但不是严格要求的约束。
•包含各种损失函数。

在这里插入图片描述

Hard-constrained Optimization

Corridor-based Trajectory Optimization

[论文](Online generation of collision-free trajectories for quadrotor flight in unknown cluttered environments , Jing Chen et al.)
八叉树地图->搜寻处一条几何空间的路径(不考虑动力学)->对方格进行膨胀->生成走廊里的轨迹
在这里插入图片描述
在这里插入图片描述

问题是凸优化是不考虑初值的A

Problem formulation

如何将一段轨迹放在方框里,特别是重叠区域,中间区域
在这里插入图片描述

  • 瞬时线性约束,比较好施加
    • 起始点,重点约束( A p = b A_p=b Ap=b
    • 变化点 ( A p = b , A p ⩽ b A_p=b,A_p \leqslant b Ap=bApb)
    • 连续约束( A p i = A p ( i + 1 ) A_{p_i}=A_{p_(i+1)} Api=Ap(i+1)
  • 间隔线性的约束
  • 对于 A ( t ) p ⩽ b , ∀ t ∈ [ t l , t r ] A\left( t \right) p \leqslant b, \forall t\in \left[t_l,t_r \right] A(t)pb,t[tl,tr]
  • 边界约束
  • 动力学约束(v,a限制)在这里插入图片描述

Advantages

效率:简化图中的路径搜索,凸优化在走廊上是高效率的。(二次规划问题)
高质量:走廊提供大的优化自由度。
红色为时间点,能够移动,可以根据需要调节
在这里插入图片描述

Disadvantages

所有的约束只在分段节点上执行,如何保证它们是有效的
迭代检查极值并添加额外的约束。将它压下去,直到符合给定约束的机制
在这里插入图片描述

  • 但是QP问题迭代求解非常耗时。
  • 如果没有严格可行的解决方案满足所有约束。那我们要跑10次迭代来确定解决方案?
  • 原因:
    •检验极值(多项式求极值转变为导数为0的问题)是另一个多项式求根问题。
    •四次等式有求根公式,容易求,但是高阶呢。

Polynomial roots finding

•高阶多项式需要数值解,使用伴随矩阵,转化为矩阵求根问题.在matlab的root公式中说明如下
在这里插入图片描述

Bezier Curve Optimization贝塞尔曲线优化

Y:替换多项式的形式,因为其不方便施加约束

Trajectory basis changing

使用Bernstein多项式基。
•将轨迹的基从单项多项式改为伯恩斯坦多项式
•Bézier曲线只是一个特殊的多项式,它可以通过以下方法映射为单项多项式:
p = M c ˙ p=M \dot c p=Mc˙之前的推导仍然成立。
在这里插入图片描述
[ n i ] 相当于 c n i \left[ ni \right] \text{相当于}c_{n}^{i} [ni]相当于cni

Properties:
Bezier的系数c称为控制点,有实际的物理意义
•端点插值。贝塞尔曲线总是从第一个控制点开始,到最后一个控制点结束,绝不通过任何其他控制点。如图
•凸包。贝塞尔曲线声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】

推荐阅读
相关标签