Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
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.

 

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



Back to the top