如何使用TraCi获取边缘的ID?

时间:2019-09-02 21:08:38

标签: sumo

我正在使用traci库中的python代码来了解是否有某些车辆与所选车辆相距一定距离,为了测试我要实现的解决方案,我需要知道车辆的当前边缘。 / p>

我在Ubuntu 18.04.3 LTS上,使用sublime编辑代码以及os,sys,optparse,子进程,随机,数学库。我尝试使用getLaneIdgetEdgeId,最后一个不在文档中,但我很难在某个地方看到它并尝试对其进行测试。 。我曾经使用的另一种选择是使用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。请为这个问题我需要帮助。预先谢谢你。

2 个答案:

答案 0 :(得分:0)

可以在_vehicle.VehicleDomain模块中找到edgeID的TraCI命令。语法如下:

traci._vehicle.VehicleDomain.getRoadID(self, vehicleID)

答案 1 :(得分:0)

它必须为getLaneID,大写字母D