赞
踩
上次基于Minimum Snap的轨迹生成,有许多优点,比如:
环境当中的障碍物表示机器人不可通行的区域,其对偶问题就是环境里的可通行的区域。现在想让Minimum Snap不碰到障碍物:
一个模型,其目标函数为 f ( x ) {f}(x) f(x),有很多的约束条件(等式或者不等式),其中硬约束要求这两类的约束条件一定要在全局的条件下满足的。软约束就是把约束条件全部加到目标函数 f ( x ) {f}(x) f(x)里,相当于拉格朗日乘子?
这些约束是被倾向于实现的,而不是严格满足的。因为要减少全局,所以使得 h ( x ) 和 g ( x ) {h}(x)和{g}(x) h(x)和g(x)的值变小,其实一开始的目的是全局最小,没怎么要求 h ( x ) 和 g ( x ) {h}(x)和{g}(x) h(x)和g(x)的值,所以就是倾向性的。也称 λ 1 ∗ g ( x ) + λ 2 ∗ h ( x ) {\lambda}_{1}*g(x)+{\lambda}_{2}*h(x) λ1∗g(x)+λ2∗h(x)为损失函数,下面几幅图就是常用的损失函数。
把环境中的信息塞入八叉树地图(格子有大有小,不像栅格地图那样规整),之后利用图搜索算法(A*,JPS)进行搜索,就找到了一条飞行走廊,参考图二的蓝色方框,之后由于空余的位置还很多,所以对走廊膨胀,参考黄色的部分,在膨胀过后的飞行走廊生成分段连续的多项式表示的无人机轨迹。12维到4维同样是利用之前的微分平坦性。
与之前不同的是,在Minimum Snap当中,一段段轨迹之间是有WayPoint的(连续性约束,必须要经过定好的WayPoint),现在的WayPoint是存在在前后两个方块的交界处,只需要通过交界处的走廊就行。
如红色的阴影面积。
那么问题来了,如何使一段多项式的轨迹一定位于这个Cube里面?
Bezier曲线一定是可以与某个多项式函数有映射的关系的。
以下是B曲线的一些性质。
B曲线总是能通过起始点,并且会终止于最后一个点。
各个性质的应用。
来自因特尔实验室的一篇文章,也是前端找Path(RRT Star),在找Path之前会对环境按照方块的大小对障碍物进行膨胀,这个环境膨胀不光是防止碰撞的膨胀,还会把环境进行更多保守的膨胀,之后有了Path会有很多点,在很多点上再继续构造一个个小方块。
以下是利用在无人机编队的轨迹优化。
相当于规划安全距离。
软约束是对机器人产生一个力,使得机器人远离障碍物。最直观的展现方式就是距离描述。
一些硬约束的缺陷如下,对传感器噪点敏感等;软约束就能通过推力而产生一条光滑的轨迹,其优势就是自然的产生光滑的轨迹。软约束也有缺陷,是倾向满足而不是严格满足。
以上推导参考上篇Blog的Minimum Snap推导
ESDF是距离场(参考人工势场法的思想,障碍物较远,惩罚就趋于0;障碍物较近,惩罚呈指数上升。)
下降优化方法(容易陷入局部最小值)
线性搜索优化
梯度下降法(同样容易陷入局部最小值)
牛顿方法(不光只看梯度)
Leven法,就是一阶法与二阶法的折中。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。