- 首先利用栅格法确定栅格粒度,建立环境空间模型。
- 在起点与终点之间存在障碍物的前提下,向两侧扫描获取周围障碍物信息,并确定子节点。子节点不断扫描和更新下一级子节点,从而扫描到终点,并通过终点反选父节点确定最终路线。减少了传统算法规划路径中最终的结果并非最优解的问题
采用栅格法建立环境模型
- 尤其要注意栅格大小的确定。取值过小,将会造成环境空间的信息量过大,使系统负担过大; 取值过大,当障碍物较多时,将导致无法找到有效路径。计算公式如下:
算法实现
- 利用栅格法建立环境模型
- 从起点向终点方向发射射线,扫描路上有没有障碍( 注意: 射线真实宽度不是 1,而是单个栅格的边长)
- 碰到障碍物后,沿障碍物边界向两侧扫点,此时的射线方向是从起点到扫的点
- 当新向量比旧向量短,且短的长度超过一个单位时,判断为有缺口,此时绿色格子(射线能通过前的最后一个格子)为起点,在射线方向上下一个格子建立子起点
- 子节点只需向外发射一条射线,新扫描的栅格需要不断判断是否超过了上级起点的扫描范围。如果超过,则上级起点也需要继续扫描( 此时如父节点通了,路径更短
- 如此重复,最后从字节点反向链接父节点
疑问:1、湖面平整的情况下,此算法应用面较窄
2、如果只是捡垃圾的话,需要用到扫描无死角,而不是找最短路径
3、从起点开始去负责区域的过程中也可能会碰上垃圾![]所以就把这些垃圾当做障碍物吗?避过这些只捡负责区域吗?在前往目的地的过程中碰上垃圾咋办
4、无人船似乎研究路径没啥用哎
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。