最近很多网友问到,如何快速按照自己规划的区域跑仿真,看到效果。其实整个交通仿真牵涉的内容比较多。但是如果只是简单的让它跑起来,其实还是很快的。很多的内容都是在跑起来以后再修改或者做调整的。比入信号灯、车道数目、转向方向等等,甚至是程序本身的跟驰模型和换道模型。先不管其他的,跑起来就是王道啊!
1、下载路网
选择osm(OpenStreetMap)作为路网来源。通过Josm下载即可得到对应区域的.osm文件;
2、转换路网格式
通过netconvert程序可以将osm的路网转换成net.xml格式,用于sumo的路网导入;转换过程会有提示,可以根据提示判断是不是发生了转换错误,还是最后成功转换。转换成功会有success提示。
提示:上面命令行应该为--osm-files ,少一个-
3、路网细节修改
路网转换以后,可能并不和真实情况符合(osm开源修改,信息同步并不如商业的迅速准确),可以使用提供的netedit修改,包括车道、转向等情况。
4、道路瘦身
上图中,删去了路网中的地铁、火车、高速服务站三个类型,基本上路网只剩下了城市路网和高速公路之类的,使用osm打开之后,路网显得很简洁明了。这个可以按照自己的研究对象来进行调整,如果必须要有地铁之类的,那么只能保留了。
5、生成车辆数据
如果有OD数据是最好的,如果没有的话,为了查看路网的效果,只能生成随机的路网车辆数据。生成随机的话,在tool文件夹下有randomTrips.py脚本文件,可以通过查看源码了解参数的具体解释和使用方法。
上面的是一些基础的命令使用,random文件的命令比较多,这里没有罗列,如果有需要请查看randomTrips.py的源码。
6、配置文件
有了路网和车辆数据,那么只需要路网就可以运行仿真了,配置文件可以手动编辑。如果使用命令行,那么可以直接在命令行输入,不需要写配置文件。
上图就是一个最基本的配置文件,net和rou文件。然后在sumo-gui导入即可;
7、大功告成,跑起来!
后期的工作就是修改仿真的一些内容,来达到自己的要求了。
相关文件:https://github.com/renguoqing/sumoOther/tree/master/G103Road