|
|
@ -14,6 +14,7 @@ import com.galaxis.rcs.ptr.receiveEntity.base.CurBatteryData; |
|
|
import com.galaxis.rcs.ptr.sendEntity.RcsConfigMessage; |
|
|
import com.galaxis.rcs.ptr.sendEntity.RcsConfigMessage; |
|
|
import com.galaxis.rcs.ptr.sendEntity.RcsSRMessage; |
|
|
import com.galaxis.rcs.ptr.sendEntity.RcsSRMessage; |
|
|
import com.galaxis.rcs.ptr.sendEntity.RcsSetLocationMessage; |
|
|
import com.galaxis.rcs.ptr.sendEntity.RcsSetLocationMessage; |
|
|
|
|
|
import com.google.common.base.Joiner; |
|
|
import com.google.common.collect.Queues; |
|
|
import com.google.common.collect.Queues; |
|
|
import lombok.SneakyThrows; |
|
|
import lombok.SneakyThrows; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
@ -262,22 +263,14 @@ public abstract class PtrAgvItem extends ExecutorItem { |
|
|
oldDirection, direction); |
|
|
oldDirection, direction); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
BannerUtils.printConfig(log, "updatePosition", new String[]{ |
|
|
|
|
|
"logicX: " + logicX, |
|
|
|
|
|
"logicY: " + logicY, |
|
|
|
|
|
"direction: " + direction, |
|
|
|
|
|
"runningDeviceSize:" + (this.runningDeviceTaskList == null ? "null" : this.runningDeviceTaskList.size()), |
|
|
|
|
|
"planTaskSize:" + (this.planTaskSequence == null ? "null" : this.planTaskSequence.size()) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
boolean needCompute = false; |
|
|
boolean needCompute = false; |
|
|
|
|
|
|
|
|
// 从 runningDeviceTaskList 里面,找到完成到什么阶段
|
|
|
// 从 runningDeviceTaskList 里面,找到完成到什么阶段
|
|
|
// 比如 (1,2) -> (2,2) -> (3,2) , 如果 updatePosition=3,2 ,那么前2个任务都要完成
|
|
|
// 比如 (1,2) -> (2,2) -> (3,2) , 如果 updatePosition=3,2 ,那么前2个任务都要完成
|
|
|
|
|
|
int finishTargetIndex = -1; |
|
|
if (this.runningDeviceTaskList != null && !this.runningDeviceTaskList.isEmpty() && |
|
|
if (this.runningDeviceTaskList != null && !this.runningDeviceTaskList.isEmpty() && |
|
|
this.planTaskSequence != null && !this.planTaskSequence.isEmpty()) { |
|
|
this.planTaskSequence != null && !this.planTaskSequence.isEmpty()) { |
|
|
|
|
|
|
|
|
int finishTargetIndex = -1; |
|
|
|
|
|
for (int i = 0; i < runningDeviceTaskList.size(); i++) { |
|
|
for (int i = 0; i < runningDeviceTaskList.size(); i++) { |
|
|
PtrAgvDeviceTask task = runningDeviceTaskList.get(i); |
|
|
PtrAgvDeviceTask task = runningDeviceTaskList.get(i); |
|
|
if (task.checkLogicX == logicX && task.checkLogicY == logicY) { |
|
|
if (task.checkLogicX == logicX && task.checkLogicY == logicY) { |
|
|
@ -311,6 +304,17 @@ public abstract class PtrAgvItem extends ExecutorItem { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
BannerUtils.printConfig(log, "updatePosition", new String[]{ |
|
|
|
|
|
"logicX: " + logicX, |
|
|
|
|
|
"logicY: " + logicY, |
|
|
|
|
|
"direction: " + direction, |
|
|
|
|
|
"finishTargetIndex: " + finishTargetIndex, |
|
|
|
|
|
"runningDeviceSize:" + (this.runningDeviceTaskList == null ? "null" : this.runningDeviceTaskList.size()), |
|
|
|
|
|
"planTask:" + (this.planTaskSequence == null ? "null" : |
|
|
|
|
|
("\n" + Joiner.on("\n").join((List) this.planTaskSequence.toPrettyMap().get("items"))) |
|
|
|
|
|
) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
if (needCompute) { |
|
|
if (needCompute) { |
|
|
LockSupport.unpark(connectorThread); |
|
|
LockSupport.unpark(connectorThread); |
|
|
} |
|
|
} |
|
|
|