diff --git a/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvConnectorThread.java b/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvConnectorThread.java index f6afee6..e6621b4 100644 --- a/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvConnectorThread.java +++ b/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvConnectorThread.java @@ -76,8 +76,8 @@ public class PtrAgvConnectorThread extends Thread { PtrAgvDeviceTask nextTask = this.ptrAgvItem.deviceTaskQueue.peek(); if (currentTask.isGroupEnd || (taskMessage.Link.size() > 0 && nextTask != null && ((startTask.speed > 0) != (nextTask.speed > 0) || startTask.direction != nextTask.direction)) // 下一个任务和开始任务方向不一致 - // 单向移动距离大于2m时并且点位数量大于1 - || (distance > 2 && taskCount > 1)) { + // 单向移动距离大于2m时并且点位数量大于1 如果碰到当前点位与任务结束点位相同且当前任务还有后续,则继续添加步骤(link)错开,避免任务发生歧义 + || (distance > 2 && taskCount > 1 && nextTask != null && currentTask.endPoint != currentTask.groupEndPoint)) { taskMessage.OperationType = currentTask.operationType; taskMessage.PickMode = currentTask.pickMode; taskMessage.EndX = currentTask.groupEndPoint.logicX; diff --git a/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java b/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java index 5ff2c29..94d60be 100644 --- a/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java +++ b/servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java @@ -779,6 +779,8 @@ public abstract class PtrAgvItem extends ExecutorItem { } deviceTaskQueue.addAll(deviceTaskList); + String json = JsonWrapper.toJson(deviceTaskList); + log.info("deviceTaskList: {}", json); } public boolean isSamePosition(PosDirection startPos) {