Sumo中配置Traci接口


最近用sumo的时候需要调用Traci接口,对数据进行处理和绘图,官网文档有点抽象看不懂, 查了点教程,自己总结一手

1.Traci介绍

Traci (Tracl:Traffic control Interface)交通控制接口,主要用于获取SUMO交通模拟环境中的数据,并实时修改、控制,并支持python,C++,Java等多种语言,其中python是最全面的。这里介绍python的用法。

2. 创建一个python项目

在这里插入图片描述

3. 导入Traci

3.1 创建路径文件

在我们创建的这个python项目中找到路径

E:\sumoproject\venv\Lib\site-packages

然后创建一个记事本,里面内容是

D:\CodeTool\sumo\tools\traci

(注意,路径因人而已,前者是从python项目安装路径找的,后者是sumo安装路径找的)
文件保存后,改名为traci.path,如图所示
在这里插入图片描述

3.2 导入traci库文件

将的sumo中自带的traci文件夹和sumolib文件夹复制到与traci.path文件同一路径下,如图所示:在这里插入图片描述

4.测试

测试代码如下:

import os
import sys
import optparse
import traci
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()
    if options.nogui:
        sumoBinary = checkBinary('sumo')
    else:
        sumoBinary = checkBinary('sumo-gui')
    sumocfgfile = "E:\\pythonProject\\Changda\\test.sumocfg"  # sumocfg文件的位置,你需要自己修改,同时文件路径需要双\进行转义
    traci.start([sumoBinary, "-c", sumocfgfile])  # 打开sumocfg文件

    for step in range(0, 300):  # 仿真时间
        traci.simulationStep()  # 一步一步(一帧一帧)进行仿真
        simulation_time = traci.simulation.getTime()  # 获得仿真时间
        print("========================================")
        print("仿真时间是", simulation_time)
        #你可以在此编写你所需要的代码
        """
        可以通过traci接口获取车辆、道路等数据,并进行处理	
        """
    traci.close()

正常打开sumo-gui界面则配置成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值