SUMO入门(八) - 从Python引入TraCI接口

本文介绍如何从Python引入SUMO的TraCI接口进行交通模拟控制。讲解了如何设置环境、订阅变量、控制仿真步骤以及使用上下文订阅等功能。示例包括动态添加车辆行程和坐标转换,适用于交通仿真研究。
摘要由CSDN通过智能技术生成

SUMO入门(八) - 从Python引入TraCI接口

TraCI
TraCI/Interfacing TraCI from Python

TraCI命令分为13个部分,它们对应于各个模块: gui,lane,poi,simulation,trafficlight,vehicletype,edge,inductionloop,junction,multientryexit,polygon,route,person,vehicle
有关函数的详细列表,请参阅 pydoc generated documentation。命令的源代码可以在eclipse/sumo找到

1 在脚本中引入TraCI

要使用该库,<SUMO_HOME>/tools 目录必须位于python加载路径上。 通常如下:

 import os, sys
 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'")

这假定在运行脚本之前设置了环境变量SUMO_HOME。 或者,您可以直接在行中声明 sumo/tools 的路径

sys.path.append(os.path.join('c:', os.sep, 'whatever', 'path', 'to', 'sumo', 'tools'))

2 第一步

通常,从Python接入SUMO非常容易(以下示例是 tutorial / traci_tls 的修改)

首先,编写命令行以启动 SUMOSUMO-GUI
(省略在0.28.0版本之前需要的远程端口选项 --remote-port)

sumoBinary = "/path/to/sumo-gui"
sumoCmd = [sumoBinary, "-c", "yourConfiguration.sumocfg"]

然后开始仿真并使用脚本连接到它:

import traci
traci.start(sumoCmd) 

step = 0
while step < 1000:
   traci.simulationStep()
   if traci.inductionloop.getLastStepVehicleNumber("0") >
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值