you can use edge.getLastStepVehicleIDs to loop over all vehicles on an edge where the type must be changed.
Am Sa., 8. Mai 2021 um 18:50 Uhr schrieb SHANTANU PHANSE via sumo-dev < sumo-dev@eclipse.org>: > Thank you for your kind response. > > 1. I have implemented the first option successfully for different vtypes. > > 2. By Traci I used the following code. It is working successfully for a > single vehicle and will work for multiple vehicles. > > If the number of vehicles increases and we want to check for each vehicle, > then this code will have a lot of redundancy. > Can you suggest me some changes so that I will be able to improve the code? > > def run(): > > # intialisation of variable > steps = 0 > edge_id ="e0" > > while steps < 3000: > > traci.simulationStep() > > #to get the edge id > edge_id0 = traci.vehicle.getRoadID("0") > > edge_id1 = traci.vehicle.getRoadID("1") > > #if the edge id is e1 then change vtype to d > if(edge_id0 == "e1"): > traci.vehicle.setType("0", "d") > > if(edge_id1 == "e1"): > traci.vehicle.setType("0", "d") > > #if the edge id is e1 then change vtype to c > if(edge_id0 == "e2"): > traci.vehicle.setType("0", "c") > if(edge_id1 == "e2"): > traci.vehicle.setType("0", "c") > > steps+=1 > > traci.close() > > > > Thanks and Regards > Shantanu Phanse > DA-IICT, India > > > > > > > On Sat, May 8, 2021 at 12:10 AM Jakob Erdmann <namdre.s...@gmail.com> > wrote: > >> There are several options for changing parameters based on location: >> - exchange the vehicle type with another vehicle type based on >> pre-defined xml input: >> https://sumo.dlr.de/docs/Simulation/Calibrator.html#calibrating_vehicle_types >> - monitor the vehicle location with traci and then use traci functions to >> change the type based on the current vehicle edge >> - define custom parameters for the edges (i.e. in netedit) and then use >> those parameters within your custom car following model to modify its own >> parameters based on the current edge >> >> regards, >> Jakob >> >> Am Fr., 7. Mai 2021 um 14:52 Uhr schrieb SHANTANU PHANSE via sumo-dev < >> sumo-dev@eclipse.org>: >> >>> Thank you for your kind response. >>> >>> I had one more doubt. Can we have different values of the user-defined >>> car following model parameters "I", "d" for different edges of a road >>> network? >>> >>> eg. We have a road network of edges (e1---e2---e3) and say edge 1 has >>> value i = 2, d = 10, and edge 2 has value i = 5, d = 40 in the same road >>> network. >>> >>> Thanks and regards >>> Shantanu Phanse >>> DA-IICT, India >>> >>> On Thu, Apr 22, 2021 at 2:03 PM Jakob Erdmann <namdre.s...@gmail.com> >>> wrote: >>> >>>> see >>>> https://sumo.dlr.de/docs/Developer/How_To/Car-Following_Model.html#using_custom_parameters_via_traci >>>> >>>> Am Do., 22. Apr. 2021 um 10:13 Uhr schrieb SHANTANU PHANSE via sumo-dev >>>> <sumo-dev@eclipse.org>: >>>> >>>>> Thank you for your kind response. >>>>> I there any other way I can manipulate my user-defined parameters 'i' >>>>> and 'd' while the simulator is running. >>>>> >>>>> On Thu, Apr 1, 2021 at 4:51 PM <maria.armell...@dlr.de> wrote: >>>>> >>>>>> Hi Shantanu, >>>>>> >>>>>> >>>>>> >>>>>> I have tried it myself and saw that when you use .setParameter a new >>>>>> parameter is created. For example, when you call >>>>>> *traci.vehicletype.setParameter("c", >>>>>> "maxSpeed", '4.00')*, you don’t change the maximum speed parameter, >>>>>> but a new parameter “param:maxSpeed” is created with that value (see >>>>>> picture). If you want to change the maximum speed, you can use >>>>>> *.setMaxSpeed()*. See VehicleType_Value_Retrieval >>>>>> <https://sumo.dlr.de/docs/TraCI/VehicleType_Value_Retrieval.html> and >>>>>> VehicleType_State >>>>>> <https://sumo.dlr.de/docs/TraCI/Change_VehicleType_State.html>. >>>>>> >>>>>> As for the “i” and “d” parameters of your CF model, I think this is >>>>>> still under development, see GitHub-Issue >>>>>> <https://github.com/eclipse/sumo/issues/6932>. >>>>>> >>>>>> >>>>>> >>>>>> Regards, >>>>>> >>>>>> Giuliana >>>>>> >>>>>> >>>>>> >>>>>> *Von:* sumo-dev <sumo-dev-boun...@eclipse.org> *Im Auftrag von *SHANTANU >>>>>> PHANSE via sumo-dev >>>>>> *Gesendet:* Mittwoch, 31. März 2021 15:49 >>>>>> *An:* sumo-dev@eclipse.org >>>>>> *Cc:* SHANTANU PHANSE <201911...@daiict.ac.in> >>>>>> *Betreff:* [sumo-dev] Regrading Retrieval of vtype parameter using >>>>>> traci >>>>>> >>>>>> >>>>>> >>>>>> Hello, >>>>>> >>>>>> >>>>>> >>>>>> I have created a new car-following model in SUMO for practice. >>>>>> >>>>>> >>>>>> >>>>>> rou.xml has vtype attribute as follows >>>>>> >>>>>> >>>>>> >>>>>> <vType id = "c" departLane = "best" maxSpeed = "16.67" >>>>>> carFollowModel="W" d = "30" i = "12"/> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------------------------ >>>>>> >>>>>> I aim to change the vtype parameters of maxSpeed, i, d using traci. >>>>>> >>>>>> >>>>>> >>>>>> The snippet of the code I am using is as follows >>>>>> >>>>>> >>>>>> >>>>>> def run(): >>>>>> >>>>>> steps = 0 >>>>>> >>>>>> while steps < 1000: >>>>>> traci.simulationStep() >>>>>> steps+=1 >>>>>> >>>>>> >>>>>> >>>>>> #get the parameters >>>>>> >>>>>> if(steps == 5): >>>>>> print(traci.vehicletype.getParameterWithKey("c", "d")) >>>>>> print(traci.vehicletype.getParameterWithKey("c", "i")) >>>>>> print(traci.vehicletype.getParameterWithKey("c", >>>>>> "maxSpeed")) >>>>>> >>>>>> >>>>>> #set the parameters at step 1 >>>>>> if(steps == 10): >>>>>> traci.vehicletype.setParameter('c', 'depth', '0') >>>>>> traci.vehicletype.setParameter('c', 'intensity', '0') >>>>>> traci.vehicletype.setParameter("c", "maxSpeed", '4.00') >>>>>> >>>>>> >>>>>> Print statements Output is as follows: >>>>>> >>>>>> ('depth', '') #parameter name with empty string as value >>>>>> >>>>>> ('intensity', '') >>>>>> ('maxSpeed', '') >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------------------------------- >>>>>> >>>>>> >>>>>> Note: There is no change reflected in the sumo-GUI. >>>>>> >>>>>> >>>>>> >>>>>> Thanks and Regards >>>>>> >>>>>> Shantanu Phanse >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> sumo-dev mailing list >>>>>> sumo-dev@eclipse.org >>>>>> To unsubscribe from this list, visit >>>>>> https://www.eclipse.org/mailman/listinfo/sumo-dev >>>>>> >>>>> _______________________________________________ >>>>> sumo-dev mailing list >>>>> sumo-dev@eclipse.org >>>>> To unsubscribe from this list, visit >>>>> https://www.eclipse.org/mailman/listinfo/sumo-dev >>>>> >>>> _______________________________________________ >>>> sumo-dev mailing list >>>> sumo-dev@eclipse.org >>>> To unsubscribe from this list, visit >>>> https://www.eclipse.org/mailman/listinfo/sumo-dev >>>> >>> _______________________________________________ >>> sumo-dev mailing list >>> sumo-dev@eclipse.org >>> To unsubscribe from this list, visit >>> https://www.eclipse.org/mailman/listinfo/sumo-dev >>> >> _______________________________________________ >> sumo-dev mailing list >> sumo-dev@eclipse.org >> To unsubscribe from this list, visit >> https://www.eclipse.org/mailman/listinfo/sumo-dev >> > _______________________________________________ > sumo-dev mailing list > sumo-dev@eclipse.org > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/sumo-dev >
_______________________________________________ sumo-dev mailing list sumo-dev@eclipse.org To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-dev