跳转至内容
  • 欢迎
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

Hellclient 社区

  1. 主页
  2. Script脚本
  3. 深入浅出制作全自动Mud机器人-路线规划配置

深入浅出制作全自动Mud机器人-路线规划配置

已定时 已固定 已锁定 已移动 Script脚本
mud机器人全自动
1 帖子 1 发布者 6 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • jarlyynJ 离线
    jarlyynJ 离线
    jarlyyn
    编写于 最后由 编辑
    #1

    之前有提过,我的最新的机器人的路线规划都是通过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)
    

    这个超时类,以便定位时被拦能超时重试。

    1 条回复 最后回复
    • jarlyynJ jarlyyn 被引用 于这个主题
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    Powered by Herbrhythm.
    • 第一个帖子
      最后一个帖子
    0
    • 欢迎
    • 版块
    • 最新
    • 标签
    • 热门
    • 用户
    • 群组