我正在做一个关于使用树莓派和激光雷达 2D 扫描仪定位遥控车的研究项目。基本上,一辆汽车将通过扫描仪穿过该地点以获取该地点的 2D 表示,然后它将返回起点。之后,您将能够选择一个适当的点,它会在其中找到一条路径。由于我几乎是编程的初学者,因此在 1 个月内几乎不可能做到这一点,但我会尽力而为 :) 那么我现在想知道的是我应该使用哪种寻路算法?由于 2D 位置的分辨率约为 5000 x 5000“像素”,以厘米为单位表示该位置,我相信我需要一个相当有效的分辨率。是否有任何特定的算法可以在树莓派上运行得足够快,几乎可以立即完成这项工作?如果有,
一些附加信息:我正在使用“像素”二维数组,其中的值表示:
EMPTY_SPACE = 0
FILLED_SPACE = 1
START_POINT = 2
END_POINT = 3
PROCESSING = 4
PROCESSED = 5
VISUAL_ASSISTANCE_POINTS = 6
他们还有第二个可选参数,这意味着到终点的距离,因为我发现这是寻路所必需的。
您可能会发现这是一个骗局:Pathfinding in 2D Arrays,但我并没有真正找到解决我所有问题的方法,因为我正在寻找更具体的答案。
编辑:
我发现这段代码实现了 A* 算法,但我发现它很慢......有什么方法可以加快速度吗?我使用下面相关的图像进行测试,大约需要 80 分钟才能解决。