看完了路径规划的内容后,我大致归纳了一下,首先就是把goal加入到graph中,然后在把goal与当前graph里所有的node都做一遍association,接着更新他们的可通行性,通过goal的parent逐步传导回odom。然后我在想,这样子虽然没有问题,但是很多时候探索的路径非常多,特别是#字形岔口,所以应该设计一种,初次探索能减少绕路的方式。
如上图,比如我从白色的点到绿色的点,那就应该直接往右再往上,但是这个只考虑edist距离的话,它就会先探索上面,发现封闭之后在绕路。对此,对于初次探索的效率性而言,我发现只考虑edist是远远不够的。目前加上自己的探索和优化,得到了一个比较好的结果:
我们可以发现它成功的绕开了不需要探索的地方。同样,比如我们从绿色点到黄色点,如果只依靠edist的信息,那么就会多绕一大段路,如下图中的蓝色和青色的路线所示。