我正在尝试使用Rinsim进行路线规划。我想考虑collisionAvoidance,所以我通过这种方法加载地图(因为似乎只有dynamicGraph支持collisionAvoidance):
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) - &gt;(3296782.7337179,2.5724994399343655E7)定义的长度数据太短:0.8
在com.google.common.base.Preconditions.checkArgument(Preconditions.java:146) 在com.github.rinde.rinsim.core.model.road.CollisionGraphRoadModelImpl.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) 在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) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 在com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
我试图改变车辆长度,但错误仍然退出。有谁知道如何克服这个错误?
谢谢
答案 0 :(得分:0)
来自OpenStreetMap的图表(例如Leuven地图)并不打算与您尝试使用的CollisionGraphRoadModel结合使用。原因是CollsionGrahpRoadModel
适用于类似仓库的环境,而非公共街道。该模型不支持多个并行通道,这在城市中是不现实的。 WarehouseExample定义了两个示例图,可以与CollsionGrahpRoadModel
结合使用。