深入浅出制作全自动Mud机器人-路线规划配置
Script脚本
1
帖子
1
发布者
6
浏览
-
之前有提过,我的最新的机器人的路线规划都是通过HellMapManager和hellmapmanager.ts来实现的。
在HMM中规划路线有3个方法
- APIQueryPathAny 点对点规划,对应To
- APIQueryPathAll 多点遍历,对应Rooms
- APIQueryPathOrdered 顺序遍历,对应Ordered
在外加一个无视地图信息的Path,就是我的地图模块的主要路径规划方式了。
很明显,为了性能考虑,4种路线都是预先生成所有路径的。如果对应到导航App,就是一个大大通向的目标的绿线已经画好了。
但在实际使用时,我并不会把所有路径暴露给外部。
实际上,To,Rooms,Ordered,Path显示的实现了2个方法
- Next(move, map) 返回下一步移动的指令
- Retry(move, map) 重试(重新规划)
正是为了实现重新规划(其实还有迷宫的因素),所以路线规划时是一次全部生成,再分小步喂给行走模块,按需进行重新规划的。
这也和主流的导航 APP的操作一致。
当然,由于To,Rooms,Ordered是和当前位置相关的。
为了实现重新GPS定位,调用了内建的Locate类,因此还需要接管
OnStepTimeout(move, map)这个超时类,以便定位时被拦能超时重试。
-
J jarlyyn 被引用 于这个主题