Sumo运行需要的文件主要由两个,一个是路网文件,一个是route文件。路网文件可由xodr文件转换得到,而route文件可以再路网文件上基础上生成。因此关键就是生成路网文件。
注意:这里以本人电脑上安装的Carla0.9.10为例。Carla版本和安装路径可以根据自己的情况确定。
(1)生成sumo路网文件
只要执行下面的命令即可,
cd G:\soft\CARLA_0.9.10\WindowsNoEditor\Co-Simulation\Sumo\util
python netconvert_carla.py Town01.xodr # 将xodr文件输出为sumo路网文件,输出文件为net.net.xml
开始总是遇到下面的问题:
proj_create: Error -38 (failed to load datum shift file): vgridshift: could not find required grid(s).
Error: Could not set projection. (Could not build projection!)
困扰了很久,后面发现下面的解决办法:
将xodr文件中的<geoReference>…< /geoReference >配置删掉
然后再执行上面的命令就没问题了。
(2)生成sumo出行route文件
利用sumo下面的randomTrips.py,可以由上面的路网生成出行路径文件
python randomTrips.py net.net.xml -r net.rou.xml #输出文件net.rou.xml
注意:randomTrips.py是Sumo下面的一个工具软件,在Sumo安装路径下的tools目录里面,可以复制到其他目录下,直接使用。另外,一般在Sumo软件里面,route文件是要手动生成的,如果不关心具体出行需求,可以用这里的方式生成随机出行的route文件。
(3)生成sumocfg文件
参考G:\soft\CARLA_0.9.10\WindowsNoEditor\Co-Simulation\Sumo\examples下面的例子,复制一个sumocfg文件,只要改动一下里面的路网和route文件就行了,如下图所示。