用SUMO进行交通模拟

“城市交通模拟”(SUMO)是一个开源、高度可移植、微观和连续的交通模拟包,旨在处理大型网络(SUMO 文档)。

TraCI 是“交通控制接口”模块的简称,它可以访问正在运行的道路交通模拟,以检索模拟对象的值并“在线”操纵其行为(TraCI 文档)。

1、安装Python

这里下载并安装 Python。

2、安装SUMO

这里下载并安装 Windows 版SUMO。

3、准备SUMO配置文件

在此练习中,在 user1 主目录中创建文件夹 SUMO(osm.net.xml、osm.passenger.trips.xml、osm.poly.xml、osm.sumocfg.xml 和 osm.view.xml)

4、安装所需的包

我们需要 TraCI 包来访问 SUMO。

我们还需要 sumolib 包来帮助我们找到主机中的 sumo 二进制文件位置。

pip install traci sumolib

5、运行 TraCI

import sumolib
sumobin=sumolib.checkBinary('sumo')
traci.start([sumobin,'-c','osm.sumocfg'])

还可以通过 Jupyter 运行 TraCI(使用命令 pip install jupyterlab 安装 Jupyter,然后运行命令 jupyter lab):

6、使用谷歌Colab

注:这是一个实验。

安装SUMO:

# install SUMO
!add-apt-repository ppa:sumo/stable -y
!apt-get update -y
!apt-get install sumo sumo-tools sumo-doc
#Install Traci
!pip install traci
!pip install sumolib
#Declare the environment variable, SUMO_HOME
#import os
#os.environ['SUMO_HOME'] = "/usr/share/sumo"

运行TraCI:

import sumbolib
import traci

# Connect to SUMO simulation
sumobin=sumo
traci.start([sumobin,'-c','osm.sumocfg'])

# Simulation loop
step = 0
while step < 1000:
    traci.simulationStep()
    # Your simulation logic here
    step += 1

# Close TraCI connection
traci.close()

原文链接:Road Traffic Simulation Using SUMO, TraCI, and Python

BimAnt翻译整理,转载请标明出处