Я пытаюсь смоделировать пересечение со светофором и детекторами и обучить классификатор машинного обучения, чтобы использовать информацию от детекторов для установки фазы светофора.
Я могу запустить симуляцию, используя:
import traci
traci.start(sumoCmd)
step = 0
while step < 1000:
traci.simulationStep()
step += 1
traci.close()
Однако я не знаю, как получить информацию об автомобилях. У меня есть детекторы e2, но я не знаю, как использовать их выход. Я не понимаю документацию traci и sumo.
Я попробовал этот код:
import traci
traci.start(sumoCmd)
step = 0
lanearea = traci._lanearea.LaneAreaDomain()
detlist = lanearea.getIDList()
while step < 1000:
traci.simulationStep()
print([lanearea.getLastStepVehicleNumber(det) for det in detlist])
step += 1
traci.close()
но это не работает. Я получаю эту ошибку
detlist = lanearea.getIDList()
return self._getUniversal(tc.ID_LIST, "")
result = self._connection._sendReadOneStringCmd(self._cmdGetID, varID, objectID)
AttributeError: 'NoneType' object has no attribute '_sendReadOneStringCmd'
Может кто-нибудь сказать мне, как исправить этот код? Или, в общем, если кто-то знает, как использовать любую функцию в: http://sumo.dlr.de/wiki/TraCI/Lane_Area_Detector_Value_Retrieval или любых других способах получения информации об автомобилях.