凸优化matlab代码轨迹凸可行集算法
这是用于运动规划实时优化的凸可行集算法的实现(Changliu
et
al.2018)()。
我的项目合作伙伴()和我还扩展了该算法,以为多个智能体生成优化的轨迹而不会发生碰撞。
该项目是宾夕法尼亚大学的一门课程,因此由于学术诚信政策,该代码无法公开显示。
我们在论文上的9页报告和扩展结果在这里()链接,在下面的段落中,我将对该算法进行概述。
算法
凸可行集算法是一种用于解决具有凸目标函数和非凸约束的运动规划问题的快速算法。
它将非凸问题转化为一系列凸问题,并迭代求解。
它是通过在非凸域内找到凸可行集并将它们作为凸优化问题求解直到收敛而做到的。
本文中的这张图很好地形象化了此过程:
执行
在我们的实现中,我们将目标函数表述为二次函数,该函数对在规划范围内遵循给定轨迹所必需的加速度进行了惩罚。
这样就形成了平滑而短的轨迹,从而完全避免了障碍。
给定场景的最终轨迹可以在此处看到,其中灰色框是障碍物,细线是先前迭代的解,而收敛的解以黑色显示:
我们将CFS实现的性能与使用Matlab的fmincon的内部点方法进行了比较。
我们在两种不同的计划方案上测
2021-09-03 16:23:46
606KB
系统开源
1