KINODYNAMIC PATH FINDING
前言:博客介绍非常简单,具体的 请参考课程。
1.Introduction
概念:
- 解决动力学约束(如避障)和 dynamic constraints (如 速度、加速度、力的限制)
- solution 是从时间映射到 力和加速度
作用:虽然有后期规划,但是如果前期考虑了运动学约束,就会为后期优化带来便利。
2.State Lattice Planning
2.1基础的理念
- 已经有很多方法用于图搜索,现在重点就是如何产生图
- 要求生成可行的运动连接:
- 正向:离散控制空间,比如栅格地图的四连接,八连接
- 反向:离散采样空间,比如RRT,空间随机采样
- State Lattice Planning 就是最直接的一种
2.2如何生成图:
2.2.1 离散控制空间
- 离散控制空间:挑选不同的控制 u ,固定时间 T ,前向仿真整个系统;
- 没有目标倾向
- 容易实现,但是效率低。
- 会产生很多无用的路径(目标点不在状态空间里)
- 容易依赖初始状态,产生聚类现象,同时很多路径失败
-如下图:离散了加速度和加加速度,直接利用状态转移方程就可以求解。
2.2.2 离散状态空间
- 离散状态空间:挑选终点s_f,反向找到起点和终点的连接
- 有目标倾向
- 较难实现,但是效率高,BVP 或OBVP
- 空间内均匀离散点,得到lattice graph
2.3 Boundary Value Problem(BVP)
BVP:知道初值和终值,比如位置和速度,计算中间路径
- 没有一般的解法,要根据实际案例设计
- 通常是结合一些数值解法
通过起点和终点的信息进行参数选择,但是可能存在很多解,并不是最优的。
2.4 Optimal Boundary Value Problem(OBVP)
通过庞特里亚金最小值原理进行优化,得到一个最优的解答(T固定),以及得到最优的时间T。
应用:无人机接求、打羽毛球等等
- 建模、庞特里亚金最小值原理求解,参考论文2:
- 庞特里亚金最小值原理的应用:
- 得到要优化的项:final state and transition cost
- 写出哈密尔顿函数和costate
- 得到具体的哈密尔顿函数和costate的表达式
- 代入初值,得到最优解,并且可以计算最优的时间T
- 若只是部分状态固定,比如位置,但是其他的状态(速度)是不确定的 OBVP 问题
3.Hybird A*
将 lattice 和A*算法混合起来规划路径;
- 启发式函数设计
- 不考虑障碍
- 不考虑动力学约束
4.Kinodynamic RRT*
在 RRT* 的基础上结合动力学约束进行路径规划,具体参考课程
- 如何采样:在状态空间进行采样
- 如何定义near:通过obvp 计算 cost function
- 如何选择父节点
- 如何发现 near nodes
- 如何重连接
参考
- 1.深蓝学院:移动机器人运动规划课程,具体内容请看课程,若内容侵权联系删除。
- 2.A Computationally Efficient Motion Primitive for Quadrocopter Trajectory Generation, Mark W. Mueller, Markus Hehn, and Raffaello D’Andrea Dynamic Programming and Optimal Control, D. P. Bertsekas