我正在使用traci库中的python代码来了解是否有某些车辆与所选车辆相距一定距离,为了测试我要实现的解决方案,我需要知道车辆的当前边缘。 / p>
我在Ubuntu 18.04.3 LTS上,使用sublime编辑代码以及os,sys,optparse,子进程,随机,数学库。我尝试使用getLaneId
和getEdgeId
,最后一个不在文档中,但我很难在某个地方看到它并尝试对其进行测试。
。我曾经使用的另一种选择是使用getNeighbors
,但我不知道该怎么使用,它返回的错误信息与以前的命令相同。
def run():
step = 0
while traci.simulation.getMinExpectedNumber() > 0:
traci.simulationStep()
print(step)
print(distancia("veh1","veh0"))
step += 1
if step > 2:
print(traci.vehicle.getLaneId("veh0"))
traci.close()
sys.stdout.flush()
所有人都返回以下错误消息:AttributeError: VehicleDomain instance has no attribute 'getLaneId'
。但是我认为车辆领域确实具有getLaneId
属性,因为它在文档https://sumo.dlr.de/pydoc/traci._vehicle.html#VehicleDomain-getSpeed中。
我期望它返回边缘的ID。请为这个问题我需要帮助。预先谢谢你。
答案 0 :(得分:0)
可以在_vehicle.VehicleDomain
模块中找到edgeID的TraCI命令。语法如下:
traci._vehicle.VehicleDomain.getRoadID(self, vehicleID)
答案 1 :(得分:0)
它必须为getLaneID
,大写字母D
。