当前位置:   article > 正文

sumo的简单使用_sumo日志文件在哪里打开

sumo日志文件在哪里打开

如果你也对交通仿真感兴趣,且是一个小白,但是有python基础,我想我可以帮到你。

安装

首先安装为我们入门的第一步:

  1. 下载地址:https://sumo.dlr.de/docs/Downloads.php;推荐安装windos,乌班图啥的也可以但是在环境问题很难搞。

  2. 双击安装;这里推荐msi很方便,几乎是傻瓜式安装。在这里插入图片描述

  3. 不同于pyhcarm,sumo不会为我们添加环境变量,所以安装时你要记住自己的安装路径,方便一会配置。如果你是默认安装方式那你的路径大概是:C:\Program Files (x86)\Eclipse\Sumo在这里插入图片描述

配置环境变量

这步很重要,因为后期我们要配合Python:

  1. 方法在官网:https://sumo.dlr.de/docs/Basics/Basic_Computer_Skills.html#additional_environment_variables在这里插入图片描述
  2. 如果你成功了应该是这样:在这里插入图片描述
  3. 好了你现在已经成功了,你用好友了两个软件:在这里插入图片描述
  4. gui是仿真界面,netedit是你将来画或修改路网的。

文件配置

一般的仿真文件会有三个:在这里插入图片描述
.net.xml:车辆配置文件
.rou.xml:路网配置文件
.sumocfg:仿真配置文件
文件的编写为大家提供以为大哥的参考:https://blog.csdn.net/weixin_46870466/article/details/115558448
实际上sumo也为我们提供了演示文件:在这里插入图片描述

运行

下一步让我们跑起来:

  1. 找到之前说的.sumocfg文件比如上面的hello.sumocfg,右键用sumo-gui打开,箭头1是运行,箭头2是延迟(如果跑的太快左拉就会变慢),如果看不清,可以用鼠标拖动,配合滑轮调整图大小这都是基本操作啦:在这里插入图片描述
  2. 找到之前说的.rou.xml文件比如上面的hello.rou.xml右键用netedit打开就可以修改路网,这部分教程太复杂为大家推荐一个教学视频:https://www.bilibili.com/video/BV1Kt411N7Xp/?spm_id_from=autoNext&vd_source=f9a4b1d50147e488803b17ca19871210
    当然我们的目标是python自动生成真实的路网啦。

python文件生成真实路网

现在就是利用真实地图生成真实路网啦,这真的很有意思:

  1. 首先你得有python解释器,所以说有Python基础是我们的前提,然后我们用Spyder打开这个文件(pycharm打开不好使原因暂时未知),地图能否成功打开极大的依赖你的网速,所以建议大家用手机开个热点:在这里插入图片描述

  2. 打开以后是这样的,1是我们设置路网的地方,3可以框选区域,2可以培植我们想要的车辆。
    在这里插入图片描述

  3. 然后点击这里生成文件;稍等一会,他会自己打开gui界面。在这里插入图片描述

  4. 生成的文件应该在这里,文件名是你的日期;在这里插入图片描述

  5. 看着真的很有趣;在这里插入图片描述

python调用

现在就是用python跑起来,让python调用sumo:

  1. 直接给大家上代码:
import os
import sys
import optparse
import traci

if 'SUMO_HOME' in os.environ:
   tools = os.path.join(os.environ['SUMO_HOME'], 'tools')
   sys.path.append(tools)
else:
   sys.exit("please declare environment variable 'SUMO_HOME'")

from sumolib import checkBinary  

def get_options():
   optParser = optparse.OptionParser()
   optParser.add_option("--nogui", action="store_true",
                        default=False, help="run the commandline version of sumo")
   options, args = optParser.parse_args()
   return options

if __name__ == "__main__":
   options = get_options()
   print(1)
   if options.nogui:

       sumoBinary = checkBinary('sumo')
   else:
       sumoBinary = checkBinary('sumo-gui')

   traci.start([sumoBinary, "-c", r"C:\Users\glp10765\Sumo\2022-10-14-10-33-00\osm.sumocfg"])


   for step in range(0,3600000):

#        traci.vehicle.setSpeed('a12.5',10)
#        print(traci.vehicle.getIDList())
#        print(traci.edge.getIDList())
#        print(traci.inductionloop.getVehicleData('abcd'))
       traci.simulationStep()
       if step <= 10:
           print(traci.vehicle.getIDList())


   traci.close()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

2.记得在这里修改自己的.sumocfg文件路径哦,这个for循环是你运行的次数;在这里插入图片描述

3.最后对于自动生成的路网,虽然你打开了gui但是并不能跑起来是因为你的文件缺了这几句,加上他!!!在这里插入图片描述
然后就能跑起来啦,至此就是剩下一些traci的函数,如果我后续学会了会更新哒。再见啦

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/645654
推荐阅读
相关标签
  

闽ICP备14008679号