~.slowDown() 方法的一些问题
Some problems with ~.slowDown() method
我想强制 SUMO 使用 traci 让一些车辆在特定时间步减速。我使用了以下脚本,但是一旦 'c1' 车辆离开网络,就会出现“车辆 'c1' 未知并停止”的错误问题。我知道这是由于 'for' 循环造成的,但我不知道。
def slowdown():
traci.start(sumoCmd)
N = 1000
step = 0
traci.vehicle.add(vehID = 'c1', typeID = "car1", routeID = "route_1", departLane='0', depart = 30)
traci.vehicle.add(vehID = 'c2', typeID = "car1", routeID = "route_1", departLane='0', depart = 60)
for step in range(N):
if step % 10 == 5:
traci.vehicle.slowDown('c1', 0, 5)
traci.vehicle.slowDown('c2 ', 0, 5)
step += 1
traci.simulationStep()
traci.close()
sys.stdout.flush()
slowdown()
这里有两种可能性:您可以使用以下方法检查车辆是否还在那里:
if 'c1' in traci.vehicle.getIDList():
或者您捕捉到引发的 TraCIException 并继续。
我想强制 SUMO 使用 traci 让一些车辆在特定时间步减速。我使用了以下脚本,但是一旦 'c1' 车辆离开网络,就会出现“车辆 'c1' 未知并停止”的错误问题。我知道这是由于 'for' 循环造成的,但我不知道。
def slowdown():
traci.start(sumoCmd)
N = 1000
step = 0
traci.vehicle.add(vehID = 'c1', typeID = "car1", routeID = "route_1", departLane='0', depart = 30)
traci.vehicle.add(vehID = 'c2', typeID = "car1", routeID = "route_1", departLane='0', depart = 60)
for step in range(N):
if step % 10 == 5:
traci.vehicle.slowDown('c1', 0, 5)
traci.vehicle.slowDown('c2 ', 0, 5)
step += 1
traci.simulationStep()
traci.close()
sys.stdout.flush()
slowdown()
这里有两种可能性:您可以使用以下方法检查车辆是否还在那里:
if 'c1' in traci.vehicle.getIDList():
或者您捕捉到引发的 TraCIException 并继续。