The reason for the strange routes lies in the use of the function vehicle.rerouteEffort insteaf of rerouteTraveltime. The effort value is something that must loaded from an input file (---weight-file FILE --weight-attribute ATTR) or set via traci.edge.setEffort). When the efforit is not defined a value of -1 is used. This causes longer routes to be preferred over shorter ones. see http://sumo.dlr.de/wiki/Simulation/Routing#Routing_by_effort
regards, Jakob 2018-07-21 18:27 GMT+02:00 Stefano Niero <[email protected]>: > I attach all the files necessary to run the simulation. I also made two > vehicles run through the street using a routing file. The ones from the > routing file follow the shortest routing. The taxis instead keep on going > through the longer way. Taxis receive the targets by means of a csv file. > > > > Thank you very much for the help > > Stefano > > > > *Da:* [email protected] <[email protected]> *Per > conto di *Jakob Erdmann > *Inviato:* 21 July 2018 00:10 > *A:* Sumo project User discussions <[email protected]> > *Oggetto:* Re: [sumo-user] R: Weird Routing > > > > Hello, > > I cannot find anything unusual about the this network but I also cannot > reproduce the detour issue. > > Can you send a minimal traci script that shows the problem? > > > > > > 2018-07-20 13:03 GMT+02:00 Stefano Niero <[email protected]>: > > I attach a minimal version and also a bigger one, if it helps. > > > > Thank you very much > > Stefano Niero > > > > *Da:* [email protected] <[email protected]> *Per > conto di *Jakob Erdmann > *Inviato:* 19 July 2018 22:09 > *A:* Sumo project User discussions <[email protected]> > *Oggetto:* Re: [sumo-user] Weird Routing > > > > Hello, > > 1) this looks very strange. Please cut out a smaller network that contains > the invalid buttonhole-route and send it to me > > 2) getRoadID() only returns '' if the vehicle has not yet entered the > network or is being teleported (due to jamming or collision) > > regards, > > Jakob > > > > 2018-07-19 17:08 GMT+02:00 Stefano Niero <[email protected]>: > > Dear sumo community, > > I downloaded greater Munich map from the following website: > https://extract.bbbike.org/ > > Then I applied the following instructions for Netconvert: > > --geometry.remove --roundabouts.guess --ramps.guess --junctions.join > --tls.guess-signals --tls.discard-simple --tls.join > > Subsequently I removed all the cycling and pedestrian paths and I allowed > service roads to every vehicle (I am using only passenger cars). I am > directing passenger cars using traci commands, mostly changeTarget. What I > found weird is that if the street draws a buttonhole such as the one in the > picture, none of the cars go straight. They all take the longer path. The > strange thing is that the longer path is a service road so the speed limit > is even lower. Also following some cars, I had the suspicion that they > could take in general more direct routes. Do you have any idea why? Am I > missing anything? I am afraid that in the long run this affects my results. > > [image: cid:[email protected]] > > > > Moreover, since these vehicles are supposed to behave as taxis, I have > implemented a loop that calculates the routing from the current position of > the taxi to the position of the customer, obtains the travel time and > assigns the trip to the vehicle that has the lowest travel time. The loop > consists in the following commands: > > for j in listOfVehicles: > #for each vehicle we check the > route, j is the vehicle ID > > if traci.vehicle.getTypeID(j)=="taxi_at_the_station" > or traci.vehicle.getTypeID(j)=="taxi_going_to_station": #to speed up > the process, we first compare the types of vehicles so that only available > taxi class is checked > > carIDCount.append(j) > #to > every car considered, we save its name in a new vector so that we can > easily retrieve it back when we check the minimum > > currentEdge = > traci.vehicle.getRoadID(j) #gets the ID of > the current edge > > edgelist = > traci.simulation.findRoute(currentEdge, > edge1[k], vtype="taxi_at_the_station", depart=step, routingMode=0) > > travelTimesList.append( > edgelist.travelTime) > > count+=1 > > > > then it finds the minimum in the travelTimeList. The problem is that > sometimes it gave me this error: > > Error: Answered with error to command 0xab: Unknown from edge ''. > > > > I assumed it failed in the command traci.vehicle.getRoadID(j). In order to > overcome it at the moment I inserted the condition that if no current > position edge is found a fixed one is assigned (this is unlikely to affect > my simulation but still it could). Can you tell me how is it possible that > a vehicle doesn’t provide the position information? > > > > I thank you very much > > Stefano Niero > > > > > _______________________________________________ > sumo-user mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/sumo-user > > > > > _______________________________________________ > sumo-user mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/sumo-user > > > > _______________________________________________ > sumo-user mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/sumo-user > >
_______________________________________________ sumo-user mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/sumo-user
