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

AnyLogic中能否调整TransporterFleet内单个AGV速度并覆盖障碍限速?

AnyLogic TransporterFleet AGV 个性化速度设置方案

一、单个AGV的障碍物附近速度调整

  • 可以单独调整单个AGV的障碍物附近速度,且不会覆盖TransporterFleet的全局设置,需通过代码手动干预实现。
  • 具体操作:在目标AGV的On Before Move或On Move事件中,编写代码修改当前AGV的maxSpeedNearObstacles属性,示例如下:
    this.maxSpeedNearObstacles = 1.5; // 将当前AGV的障碍物附近最大速度设为1.5m/s
    
  • 该设置仅对当前AGV生效,其余AGV仍遵循TransporterFleet的全局Max Speed near Obstacles配置。

二、基于位置密度的AGV动态调速

要实现根据AGV当前位置的密度调整速度,可按以下步骤操作:

  1. 计算区域密度:
    • 通过getNearestAgvs(double radius)方法获取当前AGV周围指定半径内的其他AGV数量,以此作为密度指标,示例代码:
      int nearbyAgvs = this.getNearestAgvs(5.0).size(); // 获取当前AGV5米范围内的其他AGV数量
      
    • 也可结合地图区域划分,统计当前区域内的AGV总数作为密度依据。
  2. 动态调整速度:
    • 在AGV的On Move事件中,根据计算出的密度值,动态修改maxSpeedNearObstacles或直接调整全局maxSpeed,示例逻辑:
      int density = this.getNearestAgvs(5.0).size();
      if(density >= 3){
          this.maxSpeedNearObstacles = 0.8; // 密度高时降低障碍物附近速度
          this.maxSpeed = 1.0; // 同步降低全局最大速度
      } else if(density >= 1){
          this.maxSpeedNearObstacles = 1.2;
          this.maxSpeed = 1.8;
      } else {
          // 密度低时恢复TransporterFleet的全局设置
          this.maxSpeedNearObstacles = transporterFleet.maxSpeedNearObstacles;
          this.maxSpeed = transporterFleet.maxSpeed;
      }
      
  3. 全局设置兼容(可选):
    • 若完全依赖自定义调速逻辑,可关闭TransporterFleet中的“Limit Speed near Obstacles”选项,避免全局配置与自定义代码冲突,完全通过代码控制AGV速度行为。

内容的提问来源于stack exchange,提问作者Srinjoy Chatterjee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 08:40:59