基于软约束和硬约束的轨迹生成
前言:博客介绍非常简单,具体的 请参考课程。
1.Introduction
- 硬约束:必须满足需求
- 软约束:只是对于约束有倾向性,并不能百分百满足
2. 基于硬约束的轨迹优化
2.1 基于安全走廊的轨迹生成步骤(corridor-based)
- 1.检测障碍物
- 2.搜索飞行走廊
- 3.膨胀飞行走廊
- 4.在走廊内产生轨迹
最后就是解凸优化问题
- 优缺点:
- 优点:高效,高质量(飞行走廊的大面积提供了可优化的空间)
- 缺点: 只是在中间点有限制,生成的曲线需要迭代的去检验是否超过最大约束,耗时耗力,并且不知道是否一定会有解。
2.2 Bezier Curve Optimization
Bezier Curve 的一些特点:
- 保证了都在凸多边形里(安全走廊里),不用迭代检验
- 只是解凸优化问题,不用迭代检验,并且可以很快知道是否有解答。
3. 基于软约束的轨迹优化
为什么需要
3.1基于距离的轨迹优化问题
- 问题描述:约束中添加了光滑项、碰撞项、和dynamic cost(类比 碰撞项)
- 基于欧式距离场:惩罚函数的选择以及求的最优值
- 求最优值(局部最优)
- 梯度下降
- Linear search
- 梯度下降(一阶)
- 牛顿法(二阶)
- 。。。
3.2 规划策略
3.2.1 Receding horizon re-planning
- 1.生成全局路径
- 2.局部路径优化
- 3.追踪局部路径,经过一段时间之后再优化下一阶段的路径
3.2.2 Exploration strategy
轨迹初始化:
- minimum snap
- global path(安全优先)
软约束可以分成两步走:
- 1.值考虑障碍物,把路径往中间推
- 2.考虑光滑性(smooth cost)
4. 案例学习:Fast Planner
Kinodynamic path searching + B-Spline trajectory optimization + time adjustment
具体参看课程和论文【2】
B-Spline:
- 凸包特性
- Continuity: no need of constraints at segments joints:不用考虑中间点
参考:
- 1.深蓝学院:移动机器人运动规划课程,具体内容请看课程,若内容侵权联系删除。
- 2.Gradient-Based Online Safe Trajectory Generation for Quadrotor Flight in Complex Environments, Fei Gao et al