赞
踩
通过py文件打开sumo,还可以对sumo中一些文件进行配置。
如果显示
import traci
ModuleNotFoundError: No module named 'traci'
或者import traci、from sumolib import checkBinary报错,那就是因为没有按照下述步骤实现;
1、找到python或Anaconda3(根据自己python安装)情况来定
2、找到traci.pth
3、利用记事本打开traci.pth,将自己SUMO目录下的tools路径放置里面
PS:如果发现你没有管理员权限进行修改,你可以先将文件复制在桌面,然后修改完之后进行代替就行。
最后在你所需运行的sumo文件创建py文件即可。注意代码的打开路径
- import traci
- import os
- import time
- import sys
- from sumolib import checkBinary
-
- 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'")
-
- #相关的配置的声明,比如运行的是哪一个sumocfg,
- #是否要有GUI(Graphical User Interface 图形化用户接口)
- show_gui = True
- sumoconfig_path = r'D:/new_project/vehicle/test_02/map.sumo.cfg'
-
-
- if not show_gui:
- sumoBinary = checkBinary('sumo')
- else:
- sumoBinary = checkBinary('sumo-gui')
-
- traci.start([sumoBinary,'-c',sumoconfig_path])
- for step in range(0,200):
- time.sleep(1)
- #操控时间
- traci.simulationStep(step + 1)
- simulation_current_time=traci.simulation.getTime()
- print("仿真时间是",simulation_current_time)
- #获取所有车的ID
- all_vehicle_id = traci.vehicle.getIDList()
- #获取所有车的position
- all_vehicle_position = [(i,traci.vehicle.getPosition(i))for i in all_vehicle_id]
- #获取所有车是否经过过车线
- print(all_vehicle_position)
- traci.close()
-
-
py文件运行自动打开sumo的cfg文件
第一次写文章,如有不全请多多包涵。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。