Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 验证moveTo()方法中的异常_Java_Rinsim - Fatal编程技术网

Java 验证moveTo()方法中的异常

Java 验证moveTo()方法中的异常,java,rinsim,Java,Rinsim,我的车辆在无事可做时会随机移动,并寻找新的工作,但有时,在碰撞之前,会出现以下例外情况: Exception in thread "Thread-0" com.google.common.base.VerifyException: [(14.11111111111111,0.0), (16.0,0.0), -0.36111111111111116] at com.google.common.base.Verify.verify(Verify.java:462) at com.g

我的车辆在无事可做时会随机移动,并寻找新的工作,但有时,在碰撞之前,会出现以下例外情况:

Exception in thread "Thread-0" com.google.common.base.VerifyException:  [(14.11111111111111,0.0), (16.0,0.0), -0.36111111111111116]
    at com.google.common.base.Verify.verify(Verify.java:462)
    at com.github.rinde.rinsim.core.model.road.CollisionGraphRoadModelImpl.computeTravelableDistance(CollisionGraphRoadModelImpl.java:138)
    at com.github.rinde.rinsim.core.model.road.GraphRoadModelImpl.doFollowPath(GraphRoadModelImpl.java:178)
    at com.github.rinde.rinsim.core.model.road.CollisionGraphRoadModelImpl.doFollowPath(CollisionGraphRoadModelImpl.java:82)
    at com.github.rinde.rinsim.core.model.road.AbstractRoadModel.moveTo(AbstractRoadModel.java:133)
    at com.github.rinde.rinsim.core.model.road.AbstractRoadModel.moveTo(AbstractRoadModel.java:102)
    at project.agents.AgvAgent.movementTick(AgvAgent.java:281)
    at project.agents.AgvAgent.tickImpl(AgvAgent.java:213)
    at com.github.rinde.rinsim.core.model.pdp.Vehicle.tick(Vehicle.java:55)
    at com.github.rinde.rinsim.core.model.time.TimeModel.tickImpl(TimeModel.java:139)
    at com.github.rinde.rinsim.core.model.time.SimulatedTimeModel.doStart(SimulatedTimeModel.java:32)
    at com.github.rinde.rinsim.core.model.time.TimeModel.start(TimeModel.java:94)
    at com.github.rinde.rinsim.ui.SimulationViewer$5.run(SimulationViewer.java:401)
以下是移动到目的地(tickImpl方法的一部分)以及选择新目的地和路径的代码:

CollisionGraphRoadModelImpl model = (CollisionGraphRoadModelImpl) getRoadModel();

if (!randomDestination.isPresent()) {
    nextRandomDestination(model);
}

getRoadModel().moveTo(this, randomDestination.get(), time);

if (model.getPosition(this).equals(randomDestination.get())) {
    nextRandomDestination(model);
}

void nextRandomDestination(CollisionGraphRoadModelImpl model) {
    randomDestination = Optional.of(model.getRandomPosition(rng));

    Point end = randomDestination.get();
    Point start = model.getPosition(this);
    if (model.getConnection(this).isPresent()) {
          start = model.getConnection(this).get().to();
    }

    randomPath = new LinkedList<>(model.getShortestPathTo(start, end));
  }
CollisionGraphRoadModelImpl模型=(CollisionGraphRoadModelImpl)getRoadModel();
如果(!randomDestination.isPresent()){
nextRandomDestination(模型);
}
getRoadModel().moveTo(这是randomDestination.get(),时间);
if(model.getPosition(this.equals)(randomDestination.get()){
nextRandomDestination(模型);
}
void nextRandomDestination(碰撞图加载模型Impl模型){
randomDestination=可选的.of(model.getRandomPosition(rng));
Point end=randomDestination.get();
点开始=model.getPosition(此);
if(model.getConnection(this.isPresent()){
start=model.getConnection(this.get().to();
}
randomPath=newLinkedList(model.getShortestPathTo(start,end));
}

我尝试移动到该点,并使用
RoadModel.followPath()
跟随路径。我还从
AgvAgent
AgvExample
类复制了一些代码,但即使对它们有效,在我的情况下也不起作用。我确实在
GraphRoadModelImpl.doFollowPath()
中找到了一些关于一些bug的评论。我想知道有没有什么解决办法?还是有什么明显的东西我遗漏了

结果是,在RinSim中有一个bug与导致这种行为的舍入错误有关。此错误已于修复。

您是否可以发布一些代码(即一个最小的工作示例)来演示您描述的问题?下面是一个最小的工作示例:运行main应该会产生错误。