| | |
| | | |
| | | this.calcDynamicNodeWhenBoot(); |
| | | |
| | | while (!Thread.currentThread().isInterrupted()) { |
| | | |
| | | this.calcWaveScope(); |
| | | |
| | | try { Thread.sleep(500); } catch (InterruptedException ignore) {} |
| | | } |
| | | // while (!Thread.currentThread().isInterrupted()) { |
| | | // |
| | | // this.calcWaveScope(); |
| | | // |
| | | // try { Thread.sleep(500); } catch (InterruptedException ignore) {} |
| | | // } |
| | | |
| | | }); |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * buildMinorTask 没有设置lane,lane只需要关注起始点(走行只需要关注终点) |
| | | * 4个地方调用了buildMinorTask,在什么时候、哪里设置task的lane |
| | | * ( |
| | | * HandlerController, 手动 (手动是否需要判断lane) |
| | |
| | | * TrafficService, 自动 (寻址时已经处理过 lane) ✔ |
| | | * ) |
| | | * 评估HandlerController没有调用buildMajorTask,手动创建task的可行性 |
| | | * patrolOfMove没有判断lane的容量 |
| | | * 抢占待机位 |
| | | * agv地图图标变化 |
| | | */ |
| | | public Code getDestinationCode(Agv agv, AgvDetail agvDetail) { |
| | |
| | | // 无可走行路径 |
| | | } else { |
| | | |
| | | if (Cools.isEmpty(blockVehicleList)) { |
| | | log.warn("AGV[{}] can't reach to code: {}, because there is too many vehicle in the lane...", agvNo, endCode.getData()); |
| | | } else { |
| | | |
| | | assert !Cools.isEmpty(blockVehicleList); |
| | | Integer maxJamTimeoutFactor = null; |
| | | |
| | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | if (!Cools.isEmpty(pathList)) { |
| | | |