Hello, there are several factors affecting lane-changing behavior. - If the emergency vehicle cannot continue it's route from the lane it would use for overtaking, then it will not do so unless you set vType parameter lcStrategic to a low value - if the lateral resolution is not fine enough, the vehicles will occupy excessive space (by default vehicles have a width of 1.8 m and with resolution 0.8 they would occupy 3 stripes and thus take 2.4m. - changing for speed-gain is not triggered instantly but after experiencing delay for some time. This time can be configured by setting the paramter lcSpeedGain
Regarding --opposites.guess: If you use the latest development version (at least 25094), you can set the option --opposites.guess.fix-lengths to word around the error. See http://sumo.dlr.de/wiki/Simulation/OppositeDirectionDriving#Limitations http://sumo.dlr.de/wiki/Downloads#SUMO_-_Latest_Development_Version regards, Jakob 2017-07-04 22:24 GMT+02:00 Luke Kakadukl via sumo-user < [email protected]>: > Hello, > > I'm trying to implement road traffic simulation where emergency vehicle is > overtaking other vehicles on the road. > > First let me list the steps of simulation implementation: > > 1. At first I downloaded osm file of specific map area (e.g. Berlin) > from openstreetmap.org > 2. Using *NETCONVERT* is map.osm file converted into map.net.xml > (command: *netconvert --osm-files map.osm -o map.net.xml*) > 3. Using TraCI are generated random trips and started simulation (with > parameters: *--lateral-resolution 0.8*). > 4. During simulation is added emergency vehicle: > - > *traci.vehicle.add(vehicle.id <http://vehicle.id>, vehicle.route_id) * > - *traci.vehicle.setVehicleClass(vehicle.id <http://vehicle.id>, > 'emergency')* > - > *traci.vehicle.setSpeedFactor(vehicle.id <http://vehicle.id>, 1.5) * > - *traci.vehicle.setSpeedMode(vehicle.id <http://vehicle.id>, 0)* > - *traci.vehicle.setLateralAlignment(vehicle.id <http://vehicle.id>, > 'left')* > 5. At each step of the simulation, I check if any vehicle is in front of > emergency vehicle. If it is, I'm slowing it down (using: > traci.vehicle.slowDown(...)) > 6. The vehicle in front of the intervening vehicle is stopped and at the > moment it should have been overtaken. Only this does not happen and the > intervention vehicle stops as well. > > I'm looking for any hint or idea why overtaking is not performed. > > I also tried to use netconvert with parameter *--opposites.guess true*, > but the conversion failed because of error: *Opposite lane <lane_id> > (length x1) differs in length from edge <edge_id> (length x2)*. > > Thank you in advance for your reply. > > Best regards, > Luka > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > sumo-user mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/sumo-user > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ sumo-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sumo-user
