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.48k stars 1.4k forks source link

use long junctions to smooth out changing lane widths #9045

Open parksanha opened 3 years ago

parksanha commented 3 years ago

Hello~

I made a left turn bay using a tool called roadrunner and saved it as an opendrive. And I created and opened net.xml using netconvert, but the road was not created normally as shown in the figure below.

roadrunner → opendrive → netconvert → sumo net.xml image

image

Can you give me some advice on how to make a normal road in this regard? I use roadrunner to link carla and sumo.

namdre commented 3 years ago

sumo does not support variable lane width and attempts to approximate this by splitting the widening part into two parts: one with a narrow unusable lane and one with 2 lanes. The sideways "bumps" are the parts where the sumo lane is wider than the opendrive lane. You can switch of the splitting by setting netconvert option --opendrive.min-width 0 but you will likely still see "bumps".

Can you attach your (zipped) opendrive file for this ticket? There might be more ways to deal with this situation.

parksanha commented 3 years ago

@namdre I attached opendrive file. Thanks~

image

sumo_test.zip

Domsall commented 3 years ago

This is somewhat the same problem I am dealing with in #8854 (3). The --junctions.scurve-stretch attribute sometimes helps with variable lane widths by creating long smooth junctions, but does not work for all cases.

namdre commented 3 years ago

I think what is needed here is to detect the width-change-before-lane-number-change in the opendrive importer and automatically create junctions of the correct size.

namdre commented 3 years ago

@parksanha The recommended workaround is to manually join the junctions that are part of a width transition (thereby changing those bumpy edges into junction area). To do this with netedit, select the junctions and press F7.