软约束和硬约束的轨迹优化

左边是软约束,右边是硬约束

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------分界线

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

基于“走廊”的轨迹优化

这个走廊是指,用bounding box组合成的一个通道,每个bounding box都不包括障碍物但是都包括几乎全部的空闲区域,如下图所示(黄色部分)

然后生成连续的分段多项式轨迹

根据之前的基于A*轨迹生成的方法,要使得分段多项式轨迹的链接点在每对bounding box 的重叠处,但是这也无法保证某段轨迹会一直在安全区域内。所以需要在每次生成轨迹后,再进行检验,然后加入新的约束,保证轨迹在安全的区域内。(检查轨迹点的极值是否在yb在)

这就需要一个求多项式root 的方法,对于高阶的多项式求root,不好求,可以用matlab中提示的方法,将:

多项式求root   转换成   求伴随矩阵特征值的问题。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------分界线

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Bezier Curve Optimization

用Bezier多项式去替代之前的多项式,这样的优势是:保证了一定能取到一个解,而不是通过反复迭代才能判断是否有解。

 这就是Bezier曲线

曲线有多少个控制点,Bezier多项式就有多少阶

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------分界线

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

硬约束容易使机器人碰到障碍物,并且这个方法对噪声很明显

 

不能用凸优化,只能用非线性优化的方法

关键公式入下

学到一个有用的: 

非线性优化问题的解决库:ceres 和 nlopt!!!!!!!!!

十四讲中有ceres的介绍

发布了42 篇原创文章 · 获赞 43 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_34754836/article/details/105174624
今日推荐