global_planner包中A*算法的疑问

#1

网上介绍A算法的博客都使用8连接的地图扩展方式(比如https://www.jianshu.com/p/8905d4927d5f),会产生第二次扩展的栅格点与第一次扩展的栅格点重复的情况,需要进行G值的判断更新。但是global_planner中A算法用calculatePotentials()函数进行扩展,但是我在astart.cpp中所看的calculatePotentials()函数源代码只有4个add()函数,我理解是4连接的地图扩展方式,并不会出现需要判断G值更新的情况,是这样吗?

0 Likes

#2

能否提供一下代码片段

0 Likes

#3

0 Likes

#4

在此只贴出了A*扩展的代码,在calculatePotentials函数中只有4个add

0 Likes

#5

这个要看地图是否支持对角线扩展吧

0 Likes

#6

基本上大家都是建立栅格地图,是否支持对角线扩展取决于代码怎么写的。不过看到它相应的A*代码只有上下左右4个add,所以我觉得不支持对角线扩展。后面地图的相关代码我还么有看,所以想问问有没有看过的大佬

0 Likes