You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AnyLogic报错Cannot change space while agent is moving问题求助

解决AnyLogic中Fleet Agent移动时无法切换空间的报错

报错核心原因

Fleet Agent仍处于移动状态(或移动动作未完全结束)时,流程图尝试切换其空间环境,触发AnyLogic的安全校验机制,抛出Cannot change the space while agent is moving. Please call stop() method.错误。

具体解决步骤

  • 确保Fleet完全到达节点后再启动流程图
    必须在Fleet到达节点的onArrival事件中,先强制停止移动,再启动流程图任务。示例代码:

    // 在目标节点的「On agent arrives」事件中编写
    agent.stop(); // 终止所有移动动作
    agent.myFlowChart.start(); // 启动流程图
    
  • 切换空间前先停止移动
    若流程图中需要切换Agent的空间环境(比如切换到另一个路径网络),必须先执行stop(),再调用setEnvironment:

    agent.stop();
    agent.setEnvironment(targetPathNetwork.getEnvironment());
    
  • 排查异步执行冲突
    若流程图使用了异步输出块,可能和移动动作的事件队列冲突。建议改为同步执行,或在移动动作完成的回调逻辑中启动流程。

常见误区

  • 不要在移动动作的「On exit」事件中直接启动流程,此时Agent可能仍处于移动收尾状态,未完全停止。
  • Fleet Agent的移动是异步执行的,必须等待onArrival事件确认到达后,再进行空间切换或流程启动操作。

内容的提问来源于stack exchange,提问作者Green Madam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 16:01:47