traci.vehicle.setRoute()探索


title: setRoute()函数探索
author: Tang Hui
date: 2020-05-15 14:14:00 +0800
categories: [Blogging, SUMO]
tags: [sumo, traci]

traci.vehicle.setRoute()

正如所描述的那样,函数调用需要两个参数,第一个参数是车辆ID,第二个参数是车辆要经过的edgeID构成的列表,且列表内的第一个元素即为车辆生成点所在的edgeID。如果函数调用成功,新设置的车辆行驶路径将会代替rou.xml文件内初始设置的路径。

遇到的问题

函数调用设置主车新路径成功,并且明显看出来主车是按照新设置的路径行驶的(sumo-gui车辆在路口转弯会打转向灯),并且输出车辆行驶路径发现也是新设置的路径。

print(traci.vehicle.getRoute("1"))

但是在车辆即将通过第一个路口时,sumo-gui报错,gui停止运行。注意图片中橙色内容。注意橙色内容

最终的方案

在设置别的函数时,在程序中加入了try和except函数,鬼使神差地把 traci.vehicle.setRoute()函数也加入到了try函数下。这样子运行sumo-gui地时候,主车经过第一个路口,虽然gui报出相同地错误,但是gui会继续运行下去,主车最后是成功地按照新设置地路径跑完直到消失。

            try:
                traci.vehicle.setRoute('1', ['33.0.00', '31.0.00', '-29.0.00', '-0.0.00'])
            except:
                pass

附:github issues交流内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值