eclipse-sumo / sumo

Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
https://eclipse.dev/sumo
Eclipse Public License 2.0
2.55k stars 1.43k forks source link

Basic graph model #8531

Closed emotion68 closed 3 years ago

emotion68 commented 3 years ago

I built a straight road section with reduced lanes. No matter how many simulated vehicles I input in the file, there would always be no congestion on the road section, and the vehicles would not be fully loaded. The change of the flow measured by the E1 detector is irregular. What is the problem with trends that do not conform to the basic diagram model of traffic flow?

namdre commented 3 years ago

some care must be taken to insert vehicles with high density https://sumo.dlr.de/docs/Tutorials/FundamentalDiagram.html#fundamental_diagram_of_a_closed_circular_route https://sumo.dlr.de/docs/Simulation/VehicleInsertion.html

feel free to keep posting on this issue even after it's closed (I will continue to answer)

emotion68 commented 3 years ago

必须注意插入高密度的车辆 https://sumo.dlr.de/docs/Tutorials/FundamentalDiagram.html#fundamental_diagram_of_a_closed_circular_route https://sumo.dlr.de/docs/Simulation/VehicleInsertion.html

即使此问题已经关闭,请随时继续发布(我将继续回答) I plugged in high density traffic, but the vehicle wasn't fully loaded

namdre commented 3 years ago

zip and attach your scenario

emotion68 commented 3 years ago

压缩并附加您的方案

`

<route id="rou1" edges="gneE0 gneE2 gneE3"/>
<flow id="flow1" type="vType_0" route="rou1" departLane="free" departSpeed="max" begin="0" end="3600" number="50000"/>

`

`

<location netOffset="0.00,0.00" convBoundary="-100.00,100.00,200.00,100.00" origBoundary="-10000000000.00,-10000000000.00,10000000000.00,10000000000.00" projParameter="!"/>

<edge id=":gneJ1_0" function="internal">
    <lane id=":gneJ1_0_0" index="0" speed="40.00" length="8.00" shape="-4.00,95.20 4.00,95.20"/>
    <lane id=":gneJ1_0_1" index="1" speed="40.00" length="8.00" shape="-4.00,98.40 4.00,98.40"/>
</edge>
<edge id=":gneJ4_0" function="internal">
    <lane id=":gneJ4_0_0" index="0" speed="40.00" length="8.00" shape="96.00,98.40 104.00,98.40"/>
</edge>

<edge id="gneE0" from="gneJ0" to="gneJ1" priority="-1">
    <lane id="gneE0_0" index="0" speed="40.00" length="96.00" shape="-100.00,92.00 -4.00,92.00"/>
    <lane id="gneE0_1" index="1" speed="40.00" length="96.00" shape="-100.00,95.20 -4.00,95.20"/>
    <lane id="gneE0_2" index="2" speed="40.00" length="96.00" shape="-100.00,98.40 -4.00,98.40"/>
</edge>
<edge id="gneE2" from="gneJ1" to="gneJ4" priority="-1">
    <lane id="gneE2_0" index="0" speed="40.00" length="92.00" shape="4.00,95.20 96.00,95.20"/>
    <lane id="gneE2_1" index="1" speed="40.00" length="92.00" shape="4.00,98.40 96.00,98.40"/>
</edge>
<edge id="gneE3" from="gneJ4" to="gneJ5" priority="-1">
    <lane id="gneE3_0" index="0" speed="40.00" length="96.00" shape="104.00,98.40 200.00,98.40"/>
</edge>

<junction id="gneJ0" type="dead_end" x="-100.00" y="100.00" incLanes="" intLanes="" shape="-100.00,100.00 -100.00,90.40"/>
<junction id="gneJ1" type="zipper" x="0.00" y="100.00" incLanes="gneE0_0 gneE0_1 gneE0_2" intLanes=":gneJ1_0_0 :gneJ1_0_1" shape="4.00,100.00 4.00,93.60 0.97,92.77 -0.97,91.23 -2.21,90.64 -4.00,90.40 -4.00,100.00">
    <request index="0" response="00" foes="00" cont="0"/>
    <request index="1" response="00" foes="00" cont="0"/>
</junction>
<junction id="gneJ4" type="zipper" x="100.00" y="100.00" incLanes="gneE2_0 gneE2_1" intLanes=":gneJ4_0_0" shape="104.00,100.00 104.00,96.80 100.97,95.97 99.03,94.43 97.79,93.84 96.00,93.60 96.00,100.00">
    <request index="0" response="0" foes="0" cont="0"/>
</junction>
<junction id="gneJ5" type="dead_end" x="200.00" y="100.00" incLanes="gneE3_0" intLanes="" shape="200.00,96.80 200.00,100.00"/>

<connection from="gneE0" to="gneE2" fromLane="1" toLane="0" via=":gneJ1_0_0" dir="s" state="M"/>
<connection from="gneE0" to="gneE2" fromLane="2" toLane="1" via=":gneJ1_0_1" dir="s" state="M"/>
<connection from="gneE2" to="gneE3" fromLane="1" toLane="0" via=":gneJ4_0_0" dir="s" state="M"/>

<connection from=":gneJ1_0" to="gneE2" fromLane="0" toLane="0" dir="s" state="M"/>
<connection from=":gneJ1_0" to="gneE2" fromLane="1" toLane="1" dir="s" state="M"/>
<connection from=":gneJ4_0" to="gneE3" fromLane="0" toLane="0" dir="s" state="M"/>

`

namdre commented 3 years ago

Your current network doesn't have enough connections to use zipper merge behavior even though the junction type is zipper. This way you are seeing on-ramp like behavior. See the attached network for actual zipper merging. Note, that you can configure the distance at which zipper behavior starts by using the attribute 'visibilityDistance' on the zipper connections. net2.net.xml.zip

emotion68 commented 3 years ago

即使结点类型为拉链,您当前的网络也没有足够的连接来使用拉链合并行为。这样,您就可以看到类似匝道的行为。 有关实际的拉链合并,请参见随附的网络。请注意,您可以通过使用拉链连接上的属性'visibilityDistance'来配置拉链行为开始的距离。 net2.net.xml.zip

Why aren't the roads congested?Even when ramps were added, they were queued up on the ramps and did not lead to congestion on the main road.

namdre commented 3 years ago

I'm not sure what you mean. With your original network where the lane drop is ramp-like, I do see congestion (color is by speed): Screenshot from 2021-04-26 11-39-43

And with zipper, there is congestion as well Screenshot from 2021-04-26 11-41-02