这两天虽然没有实质性收获,但是总算无人机和无人车的轨迹优化梳理清楚了。
1.轨迹优化梳理
经过周五晚上熬夜梳理,和今天一天的梳理,整个白天都是晕的,看来看去,也没有实质收获,直到晚上才渐渐理清楚。
按照系统模型分
- 无人机
- 无人车
按照求解类型分
- 二次规划(无人机),NLopt,Moesk,闭式解,OOQP
- 非线性规划(无人车),包括李柏的最优控制,目前见到的都是IPM求解器-Ipopt
2.开源项目梳理
因为目前急需掌握一套轨迹优化的方法,梳理了高飞老师的开源项目:
- Btraj,基于硬约束(走廊)的贝塞尔轨迹,求解器是Mosek,这个求解器不开源,而且不知道怎么使用走廊,
- grad_traj_optimization,基于软约束的多项式轨迹,需要ESDF地图,求解器NLopt,求解器开源,这个是比较合适的,因为没有强制约束到waypoint。
- Teach-repeat-replan中的Global planning,就是走廊+spatial optimization(求解器OOQP) + temporal optimization(求解器Mosek),这个也是很合适的
- large_scale_traj_optimizer,仅需两个头文件,可以用于替换Teach-repeat-replan中的Global planning 中的轨迹优化,仅需两个头文件即可,但是具体如何使用走廊,还没有开源,coming soon
- Am_traj,两个头文件即可,看样子是闭式解
- 深蓝第六章作业,minimum snap trajectory generation,可以用闭式解,也可以用OOQP,这个是最基础的,应该要掌握的是如何建模,如何C++写这些数学公式。
- CMPCC,基于飞行走廊的MPC,OSQP求解器,关于MPC,是另一个话题了,先记录一下。
- 李柏,最优控制,NLP问题,Ipopt求解。
- multi_robot_traj_planner,这个就是今晚发现的很好的资源啦,无人车,用到了走廊,用到Ipopt求解,当前正好缺少无人车轨迹优化的开源项目学习。