Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[sumo-user] problem using subscribeContext

Good afternoon,

 

I have been trying to retrieve values via context subscription with no success. Here are some of the links I visited:

 

http://sumo.sourceforge.net/userdoc/TraCI.html

 

where there is this Code snippet:

 

       for veh_id in traci.simulation.getDepartedIDList():
           traci.vehicle.subscribe(veh_id, [traci.constants.VAR_POSITION])
            positions = traci.vehicle.getSubscriptionResults()

 

This works perfectly and my simulation Exits cleanly.

 

Then I tried subscribe context, as decribed in http://sumo.sourceforge.net/userdoc/TraCI/Interfacing_TraCI_from_Python.html

 

traci.junction.subscribeContext(junctionID, tc.CMD_GET_VEHICLE_VARIABLE, 42, [tc.VAR_SPEED, tc.VAR_WAITING_TIME])
print(traci.junction.getContextSubscriptionResults(junctionID))
while k == 0 or traci.simulation.getMinExpectedNumber() > 0:
 
   … 
 
   k += 1
   traci.simulationStep()
   print(traci.junction.getContextSubscriptionResults(junctionID))
 
traci.close()

 

Junction subscription also works.

 

But what I am interested at is actually the vehicle context subscription, and this one does not work. I have tried this Code snippet:

 

 

while k == 0 or traci.simulation.getMinExpectedNumber() > 0:
    …
    for veh_id in traci.simulation.getDepartedIDList():
            traci.vehicle.subscribeContext(str(veh_id),  
            tc.CMD_GET_VEHICLE_VARIABLE, 0.0, [tc.VAR_SPEED])
            traci.vehicle.addSubscriptionFilterLanes([-1,0,1],  
            noOpposite=True, downstreamDist=100, upstreamDist=50)
            print traci.vehicle.getContextSubscriptionResults(str(veh_id))
    k += 1
    traci.simulationStep()
traci.close()

 

I get the following error:

 

raceback (most recent call last):

  File "C:/Users/gama_/LRZ Sync+Share/semester_3/Study_project/Interstate80/I80_runner.py", line 88, in <module>

    traci.vehicle.addSubscriptionFilterLanes([-1,0,1], noOpposite=True, downstreamDist=100, upstreamDist=50)

TypeError: addSubscriptionFilterLanes() got an unexpected keyword argument 'noOpposite'

 

Then, if I just leave the lane Parameter, and delete from noOpposit on, like this:

 

for veh_id in traci.simulation.getDepartedIDList():
    traci.vehicle.subscribeContext(
str(veh_id), tc.CMD_GET_VEHICLE_VARIABLE, 100.0, [tc.VAR_SPEED])
    traci.vehicle.addSubscriptionFilterLanes([-
1,0,1])
   
print traci.vehicle.getContextSubscriptionResults(str(veh_id))

 

I can get some results, but they don’t seem to be filtered neither by neighbouring lanes, nor by the same lane the vehicle is at. And the Simulation also does not Exit cleanly. This is the error I get in this case:

 

Traceback (most recent call last):

  File "C:/Users/gama_/LRZ Sync+Share/semester_3/Study_project/Interstate80/I80_runner.py", line 100, in <module>

    traci.simulationStep()

  File "C:\Program Files (x86)\Eclipse\Sumo\tools\traci\__init__.py", line 127, in simulationStep

    responses = _connections[""].simulationStep(step)

  File "C:\Program Files (x86)\Eclipse\Sumo\tools\traci\connection.py", line 323, in simulationStep

    result = self._sendExact()

  File "C:\Program Files (x86)\Eclipse\Sumo\tools\traci\connection.py", line 99, in _sendExact

    raise FatalTraCIError("connection closed by SUMO")

traci.exceptions.FatalTraCIError: connection closed by SUMO

 

Process finished with exit code 1

 

Could anyone please help?

 

Thank you in Advance,

 

Thais

 

Gesendet von Mail für Windows 10

 


Back to the top