Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sumo-user] R: R: R: Weird Routing

Rerouting before an intersection is only allowed if the vehicle is still able to come to a stop before the intersection. This is done to prevent situations where rerouting forces the vehicle to change to another lane and the vehicle has to perform emergency braking when lane changing is not possible anymore due to other traffic.
I would suggest to use rerouteTraveltime because that is often the desired criterion. Routing by Effort is useful if you want to route according to emitted polutants or if you want to model road fees.

To clean up unused junctions, press F6 in Netedit.

regards,
Jakob



2018-07-22 7:17 GMT+02:00 Stefano Niero <stefano.niero@xxxxxxxxxx>:

Thank you very much, I used rerouteEffort instead of rerouteTraveltime because in a small test scenario I noticed that if the vehicle is rerouted when it is approaching the last edge (where I always set a stop) and is rerouted few meters before the last junction it does not change route immediately with Traveltime while it does with Effort, am I right? Maybe I saw this case because the car in the second case was slightly farther to the junction.

What should I put in the weight-file if I use Effort? Do you suggest me to use rerouteTravelTime?

 

Moreover as you may have noticed, due to the fact that I erased cycling and walking paths I have a lot of unconnected junctions, is there a way with netedit to select them all at once in order to erase them?


Thank you very much for your availability

Stefano

 

Da: sumo-user-bounces@xxxxxxxxxxx <sumo-user-bounces@xxxxxxxxxxx> Per conto di Jakob Erdmann
Inviato: 22 July 2018 03:14
A: Sumo project User discussions <sumo-user@xxxxxxxxxxx>
Oggetto: Re: [sumo-user] R: R: Weird Routing

 

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.

 

regards,

Jakob

 

2018-07-21 18:27 GMT+02:00 Stefano Niero <stefano.niero@xxxxxxxxxx>:

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: sumo-user-bounces@xxxxxxxxxxx <sumo-user-bounces@xxxxxxxxxxx> Per conto di Jakob Erdmann
Inviato: 21 July 2018 00:10
A: Sumo project User discussions <sumo-user@xxxxxxxxxxx>
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 <stefano.niero@xxxxxxxxxx>:

I attach a minimal version and also a bigger one, if it helps.

 

Thank you very much

Stefano Niero

 

Da: sumo-user-bounces@xxxxxxxxxxx <sumo-user-bounces@xxxxxxxxxxx> Per conto di Jakob Erdmann
Inviato: 19 July 2018 22:09
A: Sumo project User discussions <sumo-user@xxxxxxxxxxx>
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 <stefano.niero@xxxxxxxxxx>:

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.

cid:image001.png@01D42026.FAB26B70

 

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
sumo-user@xxxxxxxxxxx
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
sumo-user@xxxxxxxxxxx
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
sumo-user@xxxxxxxxxxx
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
sumo-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/sumo-user



Back to the top