SUMO1.9.2 TraCI python 简单使用

1 篇文章 0 订阅

1.exa.sumocfg

<configuration>
    <input>
        <net-file value="bilibili.net.xml"/>
        <route-files value="routes.rou.xml"/>
    </input>
    <!-- sim.py's configuration -->
    <time>
        <begin value="0"/>
        <end value="10000"/>
        <step-length value="0.1"/>
    </time>
    <report>
        <no-step-log value="true"/>
    </report>
    <gui_only>
        <start value="true"/>
        <quit-on-end value="true"/>
    </gui_only>
</configuration>

2.sim.py

import optparse
import sys
import time
import traci
from sumolib import checkBinary
import os

if 'SUMO_HOME' in os.environ:
    sys.path.append(os.path.join(os.environ['SUMO_HOME'], 'tools'))
else:
    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))


# gui options
# if you want nogui, please cmd -> python sim.py --nogui
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


# sim loop
# until scenario has no car
def run():
    while traci.simulation.getMinExpectedNumber() > 0:
        traci.simulationStep()
        time.sleep(0.1)
        ElapsedTime = traci.simulation.getTime()
        all_vehicle_id = traci.vehicle.getIDList()
        print("ElapsedTime", ElapsedTime, "car_list", all_vehicle_id)
    traci.close()
    sys.stdout.flush()


if __name__ == "__main__":
    options = get_options()
    if options.nogui:
        sumoBinary = checkBinary('sumo')
    else:
        sumoBinary = checkBinary('sumo-gui')

    sumo_file = "F:\\workSpace\\sumo\\scenario_test\\exa.sumocfg"
    traci.start([sumoBinary, "-c", sumo_file])
    run()

3.效果图

在这里插入图片描述

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值