Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sumo-user] "Error: The vehicle type 'type1' for vehicle 'veh0' is not known."

1) Yes and yes. (see https://sumo.dlr.de/docs/Simulation/Output.html#commandline_output_verbose). If you prefer, you can get the output in an xml file using option --statistic-output FILE (new in version 1.6)

2) We were mostly using meso for Berlin but the running time of 1 day is valid for microsim in a scenario without jamming (see https://sumo.dlr.de/docs/FAQ.html#how_fast_can_sumo_run). With jamming, vehicles spend much longer in the simulation and this slows it down.

regards,
Jakob

Am Di., 5. Mai 2020 um 16:46 Uhr schrieb Pavan Yedavalli <pavyedav@xxxxxxxxxxxx>:
Hi Jakob,

Thanks - all of this makes sense. A few more follow-up questions:

1) Just to confirm, if we use fixed routes that are not equilibrated to capacity, it will still run, but there will be unwanted jamming and congestion - is that right? I am using --duration-log.statistics to log some aggregate statistics. I couldn't find it in the documentation, but will this also print the total simulator runtime? If not, what is the flag to print the statistics for the simulation run itself (runtime, etc.)?

2) I'm assuming the Berlin run you mentioned was using --mesosim since it's a large network/area, or was it the microscopic simulation? 

Thanks again.

On Mon, May 4, 2020 at 12:38 AM Jakob Erdmann <namdre.sumo@xxxxxxxxx> wrote:
Hello,
tThe Berlin network had 74k nodes and 188k edges with a total length of 31k km. The simulation run time did include routing (initial + periodic) but the routing was running in parallel (--device.rerouting.threads 32).
You can run your simulation with fixed routes but then you have to make sure that the routes are "smarter" than fastest-path-in-the-empty network.
More precisely you need some sort of traffic-assignment to make sure roads are used according to their capacity and unrealistic jamming is avoided.
Note, that the time to compute each simulation second was probably higher than a second over the rush hour. The 24h sim for 24h traffic ratio is the average over the whole day.

regards,
Jakob


Am Mo., 4. Mai 2020 um 08:19 Uhr schrieb Pavan Yedavalli <pavyedav@xxxxxxxxxxxx>:
Hi,

I wanted to follow up on the questions about the Berlin network and runtimes. Thanks for the help!

On Wed, Apr 29, 2020 at 2:16 PM Pavan Yedavalli <pavyedav@xxxxxxxxxxxx> wrote:
Thanks, Jakob. That makes sense.

How large was the Berlin network (# of edges and # of nodes) that you used? And in the real-time speed you had mentioned above (24 hour simulation in 24 hours), did that time include routing or no? And does the simulation do dynamic routing at all or is it static given the routes supplied? (I'd like to turn off dynamic routing, if it is something it does).

 Thanks again for the clarification.

On Mon, Apr 27, 2020 at 12:22 PM Jakob Erdmann <namdre.sumo@xxxxxxxxx> wrote:
1) The best practice is to exclude vehicles from your input if you do not have at least an origin and destination edge
2)
- runtime * stepLength ~ constant.
- number of vehicles and size of network can be multiplicative if the vehicles drive proportionally longer routes (in larger networks route lengths should level off though)

Am Mo., 27. Apr. 2020 um 20:12 Uhr schrieb Pavan Yedavalli <pavyedav@xxxxxxxxxxxx>:
Hi Jakob,

Thanks for the information! This is very helpful.

1) Re: each vehicle defining a route, so if the vehicle does not have a route (as above), is there a best practice to put a phantom route in the .csv / .xml file so that it doesn't fail?

2) I see - yes, it makes sense to switch to meso at this scale. For both micro and meso, are there curves that show performance runtime based on time step (.1 s, .5 s, 1 s, etc.), total simulation time range (6 hours, 7 hours, 24 hours, etc.), number of vehicles, and size of network, by chance? Or should we assume linearity with everything?

Thanks again.

On Mon, Apr 27, 2020 at 10:53 AM Jakob Erdmann <namdre.sumo@xxxxxxxxx> wrote:
Hello,
1) Each vehicle must define a route either using the 'route' attribute or the 'route'-Element.

2) Running time is roughly linear in the number of vehicle-seconds (multiply the number of vehicles with their average time spent in the network).
We ran a simulation of one day in Berlin with about 3M vehicles (spread over the whole day) and it was roughly real-time speed (using option --no-internal-links).
Of course, the running time goes up if you also do a lot of routing (versus using precomputed routes).
For scenarios this size we usually switch to the mesoscopic simulation (--mesosim) which is much faster. See https://sumo.dlr.de/docs/Simulation/Meso.html

regards,
Jakob

Am Mo., 27. Apr. 2020 um 19:32 Uhr schrieb Pavan Yedavalli <pavyedav@xxxxxxxxxxxx>:
Thank you, Harald. This helps, though eventually even with the `-ignore-route-errors true` flag, it still gives me an error of `Vehicle 'veh2653438' has no route`. The .xml file shows that `    <vehicle depart="20785.77809238743" id="veh2653438" type="type2653438"/>`, so it doesn't contain route edges, which is expected. Any idea why this error would still happen?

In addition, I'm trying to run a very large network with very large demand (550K edges/220K nodes and 3.1M vehicles). Is this possible in SUMO? If it were at all linear, my initial run shows that it would take 82 days to complete. Is this accurate? I tried looking for papers about SUMO benchmarks with large networks and/or large demand, but could not find any. Do you have good references or runtime benchmarks?

Thank you again for your time and help.

On Mon, Apr 27, 2020 at 7:44 AM Harald Schaefer <fechsaer@xxxxxxxxx> wrote:

Hi Pavan,

see https://sumo.dlr.de/docs/SUMO.html.

There is an option --ignore-route-errors, you can set this to true

Regards, Harald

Am 27.04.20 um 15:51 schrieb Pavan Yedavalli:
Hi Harald,

Thanks so much! This makes a lot of sense. 

I had a side question: I was able to do it with a manual change to the routes xml file, but I noticed that the simulator quits when it finds a vehicle whose route doesn't exist (basically an empty vehicle). Is there a flag to have the simulator just continue past the ones with no routes (basically don't simulate them) or do I have to change the file to remove all of the vehicles that don't have routes? Thanks again for the help.

On Mon, Apr 27, 2020 at 1:05 AM Harald Schaefer <fechsaer@xxxxxxxxx> wrote:

Hi Pavan,

the original routes.xml has some problems as pointed out by Mirko:

In addition I would add a vClass to your vType definitions (e.g. vClass="passenger")

Also the attribute route="routeX" is not necessary, because you are providing an embedded route.

A corrected file should look like

<routes>
    <vType accel="1.7804136126769894" decel="3.7319337562137807" id="type1" length="5.0" maxSpeed="90.0" minGap="2.669391744332565" vClass="passenger"/>
    <vehicle depart="35570.49681280952" id="veh0" type="type1">
        <route edges="544181 383216 132131 542737 542660 542696 542743 542729 542733 542675 166354 156690 "/>
    </vehicle>
    <vType accel="5.540229367023352" decel="8.508616732823317" id="type2" length="5.0" maxSpeed="90.0" minGap="1.7544886405804303"  vClass="passenger"/>
    <vehicle depart="28728.02537423077" id="veh1" type="type2">
        <route edges="154680 159143 165544 "/>
    </vehicle>
    <vType accel="6.370903650236724" decel="8.866453309975734" id="type3" length="5.0" maxSpeed="90.0" minGap="3.340891225830463"  vClass="passenger"/>
    <vehicle depart="28983.794438073826" id="veh2" type="type3">
        <route edges="167450 123294 542659 165542 167847 "/>
    </vehicle>

</routes>

You can convert this file to csv

vType_accel;vType_decel;vType_id;vType_length;vType_maxSpeed;vType_minGap;vType_vClass;vehicle_depart;vehicle_id;vehicle_type;route_edges
1.7804136126769894;3.7319337562137807;type1;5.0;90.0;2.669391744332565;passenger;;;;
;;;;;;;35570.49681280952;veh0;type1;544181 383216 132131 542737 542660 542696 542743 542729 542733 542675 166354 156690
5.540229367023352;8.508616732823317;type2;5.0;90.0;1.7544886405804303;passenger;;;;
;;;;;;;28728.02537423077;veh1;type2;154680 159143 165544
6.370903650236724;8.866453309975734;type3;5.0;90.0;3.340891225830463;passenger;;;;
;;;;;;;28983.794438073826;veh2;type3;167450 123294 542659 165542 167847

and back

csv2xml.py -x $SUMO_HOME/data/xsd/routes_file.xsd routes3.csv

Best regards

Harald

Am 24.04.20 um 17:38 schrieb Pavan Yedavalli:

Hi Mirko,

Thanks so much for your help. This makes sense - I will make it "type1", "type2", "type3" and so on for vType ids. However, in the end, I simply used the csv2xml() converter in tools/, based on the following .csv file (snippet).

```vType_accel;vType_decel;vType_id;vType_length;vType_maxSpeed;vType_minGap;vType_sigma;route_edges;route_id;vehicle_depart;vehicle_id;vehicle_route;vehicle_type
1.7804136126769894;3.7319337562137807;'type1';5.0;90.0;2.669391744332565;;544181 383216 132131 542737 542660 542696 542743 542729 542733 542675 166354 156690 ;;35570.49681280952;veh0;route0;'type1'
5.540229367023352;8.508616732823317;0;5.'type1';90.0;1.7544886405804303;;154680 159143 165544 ;;28728.02537423077;veh1;route1;'type1'
6.370903650236724;8.866453309975734;'type1;5.0;90.0;3.340891225830463;;167450 123294 542659 165542 167847 ;;28983.794438073826;veh2;route2;'type1'```

And the rou.xml file snippet above is what the csv2xml() conversion produced. Why is the converter doing this incorrectly then? And how would I go about doing this following part using csv2xml()? `Please define vTypes without enclosed vehicles, like you have done afterwards. Also enclose route elements in vehicle elements or define them on the same level as vtypes and give them IDs` I'll change vType_id to type1, type2, type3, etc., but is there another part of the .csv that I need to be changing for csv2xml() to work? 

Thank you again!

On Fri, Apr 24, 2020 at 8:24 AM Mirko Barthauer <m.barthauer@xxxxxxxxxxx> wrote:

Hi Pavan,

there are two problems with your route file:

  • The first definition of your vType "type1" encloses a vehicle definition which references it. However it cannot find type1 as the closing tag of vtype has not been reached yet. Please define vTypes without enclosed vehicles, like you have done afterwards. Also enclose route elements in vehicle elements or define them on the same level as vtypes and give them IDs.
  • Do use unique IDs (strings) for vTypes. Do not define "type1" a second time.

Maybe you have a look at the relevant documentation page.

Regards
Mirko

Am 24.04.2020 um 16:14 schrieb Pavan Yedavalli:
Hi,

I'm a new user to SUMO, and I was wondering about the following (very basic) error:

"Error: The vehicle type 'type1' for vehicle 'veh0' is not known." from my rou.xml file. I generated that using csv2xml in tools/, just FYI.

Here is a snippet of the first few vehicles in rou.xml file:

```
<routes>
    <vType accel="1.7804136126769894" decel="3.7319337562137807" id="type1" length="5.0" maxSpeed="90.0" minGap="2.669391744332565">
    <vehicle depart="35570.49681280952" id="veh0" route="route0" type="type1"/>
        <route edges="544181 383216 132131 542737 542660 542696 542743 542729 542733 542675 166354 156690 "/>
    </vType>
    <vType accel="5.540229367023352" decel="8.508616732823317" id="type1" length="5.0" maxSpeed="90.0" minGap="1.7544886405804303"/>
    <vehicle depart="28728.02537423077" id="veh1" route="route1" type="type1">
        <route edges="154680 159143 165544 "/>
    </vehicle>
    <vType accel="6.370903650236724" decel="8.866453309975734" id="type1" length="5.0" maxSpeed="90.0" minGap="3.340891225830463"/>
    <vehicle depart="28983.794438073826" id="veh2" route="route2" type="type1">
        <route edges="167450 123294 542659 165542 167847 "/>
    </vehicle>
```

I'm not sure what I'm doing incorrectly, but it does not like "type1" for the vType id or for <vehicle> type, it seems - it looks like it's the latter given the error message. Any help would be appreciated. Thank you.

--
Pavan

_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user


--
Pavan

_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user


--
Pavan

_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user


--
Pavan
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user


--
Pavan
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user


--
Pavan
--
Pavan
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user


--
Pavan
_______________________________________________
sumo-user mailing list
sumo-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user

Back to the top