赞
踩
Minimum Snap是轨迹优化中的常用方法,其效果如下:
上图中红线为Minimum Snap优化生成的光滑轨迹,可以看出Minimum Snap有利于光滑曲线的生成。该算法虽然可以控制轨迹经过哪些路标点,但是没有考虑环境中的障碍物信息(如图中红色方块),不利于做避障。
软/硬约束
论文名称:Online generation of collision-free trajectories for quadrotor flight in unknown cluttered environments
算法步骤如下:
求解过程类似于Minimum Snap,利用微分平坦将无人机状态空间中的12个变量压缩为4个,并构建多项式轨迹:
定义目标函数(这里使用Mnimum jerk)
与minimum snap相比,目标函数的约束没有waypoint(中间节点)的约束,约束改为了走廊的可通行区域。
约束的构建
Instant linear约束
Interval linear约束
关于边界约束和动力学约束
检查给定约束下轨迹(多项式)的极值,然后检查极值是否超过了边界,若超出边界,给定一个更严格的约束,如下图所示:
上述方法需要迭代求解,然而实际情况中可能出现没有解的情况。
总结
corridor-based 轨迹优化方法存在问题是无法施加全局的安全和动力学可行的约束,一般将这些约束施加在轨迹的若干给定点上,求解完毕后检查极值是否违反约束。若存在违反约束的情况,则给定额外的约束,迭代的求解问题。然而实际使用中需要多次迭代求解,没有解的情况下也需要进行多次迭代。
原理
原理是替换多项式的形式:
Bezier曲线与普通多项式存在一一映射关系,因此可以找到关系使得
p
=
M
∗
c
p=M*c
p=M∗c。
性质
注:Bezier的系数
c
c
c称为控制点,有实际的物理意义
凸包性质的应用
对于一段轨迹而言,将控制点限制在corridor-based 轨迹优化方法的走廊内,意味着轨迹就被约束在走廊内。同样,轨迹的导数即速度可以利用凸包范围内进行限制,加速度同理。
目标函数的定义
硬约束的轨迹优化借助可通行的区域进行轨迹优化,障碍物对可通行区域的影响是一致的,因此生成的轨迹可能离障碍物很近。
软约束的轨迹优化利用障碍物对轨迹形成推力,使其远离障碍物。对目标函数的设计具有较高的要求,它使得约束尽可能满足(无法保证一定满足),因此目标函数设计不好的情况下轨迹可能会撞到障碍物。
问题建模
利用微分平坦性将无人机参数空间进行压缩,并用多项式模拟轨迹
目标函数定义如下:
第一项为平滑项、第二项为碰撞项、第三项为动力学约束项。
得到的目标函数不是一个凸函数,需要通过一步步求导求解。光滑项求解见第1部分,碰撞项对自由变量
d
p
μ
d_{p\mu}
dpμ求导,得到:
上式中,F和G分别为
上式中,
L
d
p
L_{dp}
Ldp为矩阵
M
−
1
C
M^{-1}C
M−1C的右半部分。
V
m
V_m
Vm为位置参数到速度参数的映射矩阵。
T
=
[
T
k
0
,
T
k
1
,
…
,
T
k
n
]
T=[T_k^0,T_k^1,\dots,T_k^n]
T=[Tk0,Tk1,…,Tkn]。
二阶求导结果为:
数值优化
基于梯度的数值优化方法,通过 m i n i m i z e f ( x ) minimizef(x) minimizef(x)求得关于 x ( k ) x^{(k)} x(k)的数值序列使得 f ( x ( k ) ) f(x^{(k)}) f(x(k))逼近最优解,或者使 f ( x ) f(x) f(x)的导数为0。有以下求解方法:
一阶法,即梯度下降,向导数的负方向搜索:
二阶法,牛顿法:
LM法:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。