setting flags=2 in setStop defines a "triggered" stop. The vehicle will
only resume after stop_time has passed *and* a person has entered. Setting
the flag to 0 will fix this.

Am Di., 23. Apr. 2024 um 18:56 Uhr schrieb Belikhov, Danil via sumo-user <
sumo-user@eclipse.org>:

> Hello, SUMO community,
>
> I would appreciate any help on my issue.
>
> In my scenario, I want vehicles to stop for several seconds when they
> enter a specific edge and then resume driving. For that, I am using TraCI
> with the ‘setStop’ function and a dictionary to store the ‘hasStopped’
> value for vehicles that have already stopped. But after making a stop, the
> vehicle does not resume driving and the simulation runs indefinitely. What
> could be the problem here?
>
>
>
> Best Regards,
> Danil
>
>
> Here is my code:
>
> class EvaluationVehicle:
>
>
> *"""Data container class for the individual vehicles. Stores all relevant
> data for the Evaluation vehicle-related."""     *def __init__(self, id,
> type):
>         self.id = id
>         self.type = type
>         self.hasStopped = False
>
>
> def run():
>     start = datetime.now()
>     print(str(datetime.now()))
>
>     # create empty dictionaries to store data
>     vehicleMap = {}
>
>     # begin and end times of the simulation in seconds from 00:00
>     begin = 0
>     end = 4000
>     seed = 1
>
>     # set parking entrance edge ID and parking exit edge ID
>     pEntrEdgeID = "988716348.13"
>     nextToEntryID = "988716348.13.3"
>
>     # start Traci
>     traci.start(["sumo-gui", "-n", "osm_1.net.xml",
>                  "-r", "osm.bicycle.trips.xml",
>                  "-a", "parking.add.xml",
>                  "--step-length", "0.25",
>                  "--delay", "250",
>                  "--parking.maneuver", "true",
>                  "-b", f"{begin}", "-e", f"{end}", "--seed", f"{seed}"])
>
>
>     while traci.simulation.getMinExpectedNumber() > 0:
>         traci.simulationStep()
>
>         # get the list of vehicles currently in the simulation
>         vehIdList = traci.vehicle.getIDList()
>
>         # loop over each vehicle in the simulation
>         for vehicle_id in vehIdList:
>             vehEdgeID = traci.vehicle.getRoadID(vehicle_id)
>             vehType = traci.vehicle.getTypeID(vehicle_id)
>
>             # check if the vehicle ID is not in vehicleMap
>             if vehicle_id not in vehicleMap:
>                 # if not, create an EvaluationVehicle object for the
> vehicle and store it in vehicleMap
>                 vehicleMap[str(vehicle_id)] = 
> EvaluationVehicle(str(vehicle_id),
> str(vehType))
>
>             # If the vehicle enters the edge and has not stopped before,
> stop it for a specific time
>             if vehEdgeID == pEntrEdgeID and not vehicleMap[str
> (vehicle_id)].hasStopped:
>                 stop_time = 2
>                 traci.vehicle.setStop(vehID=vehicle_id, edgeID
> =nextToEntryID,
>                                       pos=1, laneIndex=0, duration=stop_time,
> flags=2)
>                 vehicleMap[str(vehicle_id)].hasStopped = True
>
>     # close simulation
>     traci.close()
>
>
> if __name__ == '__main__':
>
>     run()
>
>
> _______________________________________________
> sumo-user mailing list
> sumo-user@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
>
_______________________________________________
sumo-user mailing list
sumo-user@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/sumo-user

Reply via email to