![21ec7f268cbdb6986955cabc8675982d.png](https://img-blog.csdnimg.cn/img_convert/21ec7f268cbdb6986955cabc8675982d.png)
本文涵盖离散的以及连续的路径规划, 尽管现实世界是连续的, 但在很多情况下, 将世界离散化使得解决路径规划问题变得更加容易和快速.
学习路径规划, 主要的思考点有三个:
- 成本函数以及如何将人类洞察力(比如“右转比左转更容易”)纳入我们的规划算法
- 寻找最佳解决方案与寻找足够好的解决方案相关的最优性和权衡
- 在线算法与离线算法, 以及我们如何通过预先计算最佳路径尽可能避免路上的复杂计算
路径规划的目的是为了寻找成本最小的路径, 需要给出的条件包括: 地图, 起始地点, 目标地点, 成本函数.
1 何理 解成 本 函数?成本函数是基于人的安全驾驶行为的权衡, 最简单的例子是, 右转比左转方便, 在快递公司的路径规划中, 往往优先选择右转的道路, 因此我们可以假设左转的成本远高于右转. 如下图, 在交叉路口右转绕路的成本为16, 却低于左转的总成本, 为最优路径.
![38b739f7804d4e8e78f722fae8c61b7d.png](https://img-blog.csdnimg.cn/img_convert/38b739f7804d4e8e78f722fae8c61b7d.png)
2A-Star 算法
启发函数(Heuristic function)是一个有关我们距离目标多远的乐观猜测.它使用一个简单的欧几里得距离作为启发值来找出到达目标的路径.
![8001a43857a0eeb5b960ed8de5e47002.png](https://img-blog.csdnimg.cn/img_convert/8001a43857a0eeb5b960ed8de5e47002.png)
启发值h(x,y)的结果比实际距离小, 最佳情况是与实际距离相等.g value 实际是到这个位置的已经付出去的代价.启发函数为f = g + h(x,y) .如上图, 假设每步的代价是1, 从S位置到[3,2]的步骤是7步, 它的启发值是4, 因此总成本是11, 从S位置到[4,3]的步骤也是7步, 然而启发值仅为2, 总成本为9, 低于移动到[3,2]的成本, 因此[4,3]为最佳路径点.
执行代码:
# -----------# User Instructions:## Modify the the search function so that it becomes# an A* search algorithm as defined in the previous# lectures.## Your function should return the expanded grid# which shows, for each element, the count when