我正在尝试与 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.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) 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)
我试图改变车辆长度,但错误仍然存在。有谁知道如何克服这个错误?
谢谢