1

我正在尝试与 Rinsim 进行路线规划。而且我想考虑collisionAvoidance,所以我通过这种方法加载地图(因为似乎collisionAvoidance仅在dynamicGraph中支持):

private static ListenableGraph<LengthData> loadGrDynamicGraph(String name){
    try {
        Graph<LengthData>  g = DotGraphIO.getLengthGraphIO(Filters.selfCycleFilter())
                .read(DDRP.class.getResourceAsStream(name));
        return new ListenableGraph<>(g);

    }catch (Exception e){

    }
    return null;
}

我将车辆长度设置为 1d,将距离单位设置为 SI.METER。最后出现以下错误。

线程“main”java.lang.IllegalArgumentException中的异常:无效图:最小连接长度为1.0,连接(3296724.2131123254,2.5725043247255992E7)->(3296782.7337179,2.5724994399343655E7)定义的长度数据太短:0。

在 com.google.common.base.Preconditions.checkArgument(Preconditions.java:146) 在 com.github.rinde.rinsim.core.model.road.C​​ollisionGraphRoadModelImpl.checkConnectionLength(CollisionGraphRoadModelImpl.java:261) 在 com.github.rinde .rinsim.core.model.road.RoadModelBuilders$CollisionGraphRMB.build(RoadModelBuilders.java:702) 在 com.github.rinde.rinsim.core.model.road.RoadModelBuilders$CollisionGraphRMB.build(RoadModelBuilders.java:606) 在 com .github.rinde.rinsim.core.model.DependencyResolver$Dependency.build(DependencyResolver.java:223) 在 com.github.rinde.rinsim.core.model.DependencyResolver$Dependency.(DependencyResolver.java:217) 在 com. github.rinde.rinsim.core.model.DependencyResolver.add(DependencyResolver.java:71) at com.github.rinde.rinsim.core.model.ModelManager$Builder.doAdd(ModelManager.java:231) 在 com.github.rinde.rinsim.core.model.ModelManager$Builder.add(ModelManager.java:212) 在 com.github.rinde.rinsim.core.Simulator$Builder.addModel(Simulator.java:324)在 com.github.rinde.rinsim.examples.project.DDRP.run(DDRP.java:86) 在 com.github.rinde.rinsim.examples.project.DDRP.main(DDRP.java:60) 在 sun.reflect .NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method .java:498) 在 com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)addModel(Simulator.java:324) at com.github.rinde.rinsim.examples.project.DDRP.run(DDRP.java:86) at com.github.rinde.rinsim.examples.project.DDRP.main(DDRP. java:60) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang .reflect.Method.invoke(Method.java:498) 在 com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)addModel(Simulator.java:324) at com.github.rinde.rinsim.examples.project.DDRP.run(DDRP.java:86) at com.github.rinde.rinsim.examples.project.DDRP.main(DDRP. java:60) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang .reflect.Method.invoke(Method.java:498) 在 com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)在 com.intellij.rt.execution.application .AppMain.main(AppMain.java:147)在 com.intellij.rt.execution.application .AppMain.main(AppMain.java:147)

我试图改变车辆长度,但错误仍然存​​在。有谁知道如何克服这个错误?

谢谢

4

1 回答 1

0

来自 OpenStreetMap 的图表(例如鲁汶地图)并不意味着与您尝试使用的CollisionGraphRoadModel结合使用。原因是它CollsionGrahpRoadModel适用于类似仓库的环境,而不是公共街道。该模型不支持多条平行车道,这在城市中是不现实的。WarehouseExample定义了两个可以与CollsionGrahpRoadModel.

于 2017-05-18T07:18:00.967 回答