Cat*_*ros 5 mapping algorithm memory-management path-finding
我面临一个难题:
想象一下,我有一个整个国家的地图,由巨大的细胞矩阵代表.每个单元代表1平方米的领土.每个Cell表示为double0到1之间的值,表示遍历该单元的成本.
地图显然不适合记忆.
我试图用一种方法来计算机器人的最佳路径,从起点到终点.我的第一个想法就是制作一个类似TCP的移动窗口,移动机器人周围的真实地图的小地图,并在那里执行A*算法,但是我遇到了一些有巨大墙壁的地图的问题,不好寻路等...
我正在搜索关于A*类算法的文献,我无法想象出这个问题的一个很好的解决方案的近似值.
我想知道是否有人遇到类似的问题或者可以帮助解决可能的解决方案!
提前致谢 :)
由于我不知道确切的数据,以下是一些可能有用的信息:
最短路径的部分路径本身就是最短路径。即,您可以将矩阵拆分为子矩阵,并在其中找到(所有)最短路径。请注意,您不必存储所有结果:例如,您可以通过不保存完整路径而仅保存信息来节省内存:路径从A到B。中间节点可能稍后再次计算或存储在文件中以备后用。您甚至可以预先计算某些区域的一些最短路径。
另一种方法是您可以以某种方式压缩矩阵。即,如果您有仅由一个相同数字组成的大区域,则最好只存储该数字和该区域的尺寸。
另一种方法(与预先计算一些最短路径有关)是生成地图的不同细节级别。考虑到美国地图,这可能看起来如下:最粗略的细节级别仅包含纽约、洛杉矶、芝加哥、达拉斯、费城、休斯顿和菲尼克斯等城市。关卡越精细,包含的城市就越多,但另一方面,它们显示的整个地图的区域也越小。