Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cars with yeild sign entering the roundabout should not wait entering flowing junction if enter blocked junction is disabled(EDITED) #871

Open
kianzarrin opened this issue Apr 27, 2020 · 6 comments
Labels
feature A new distinct feature triage Awaiting issue categorisation

Comments

@kianzarrin
Copy link
Collaborator

from: #424 (comment)

I think that the code for enter blocked junction can improve. for example consider a big highway roundabout. once I disable enter blocked junctions, cars entering the roundabout wait for the junction to be clear before entering. This happens even if traffic is flowing fast. I think if traffic is flowing fast there is no need for cars entering the roundabout to wait a little bit longer. For this reason in my highway roundabouts, I generally set enter blocked junction for yielding cars entering the roundabout. The traffic just flows faster that way. for my urban roundabouts yielding cars cannot enter blocked junctions.

@kianzarrin kianzarrin added feature A new distinct feature triage Awaiting issue categorisation labels Apr 27, 2020
@originalfoo
Copy link
Member

originalfoo commented Apr 27, 2020

Again, 'enter blocked junction' being used as an alternate to priority signs.

It should be:

  • Cars don't need to wait entering a junction if they have priority at the junction (ie. the yellow diamond priority sign).

If we're going to keep using blocked junction tool as an alternate to priority signs, why not just get rid of priority signs and do everything with enter blocked junction? The two tools are becoming increasingly synonymous.

@originalfoo
Copy link
Member

originalfoo commented Apr 27, 2020

Once I disable enter blocked junctions, cars entering the roundabout wait for the junction to be clear before entering

Otherwise known as Yield sign.

I think if traffic is flowing fast there is no need for cars entering the roundabout to wait a little bit longer.

Otherwise known as yellow diamond priority sign.

I generally set enter blocked junction for yielding cars entering the roundabout.

What is even the point of Yield sign in that context? The cars are being told to yield (slow down, only enter junction if safe to do so) whilst simultaneously being told "just go right ahead and enter that junction".

@originalfoo
Copy link
Member

originalfoo commented Apr 27, 2020

Ok, I think the root issue is that there is an expectation that cars at yield sign should be able to flow through a non-jammed junction, so long as there are no priority vehicles trying to enter that junction. And the 'enter blocked junction' feature is being used as a hack to achieve that.

What we probably need is some sort of internal signalling to the junction node from roads entering the junction maybe?

So if car is on priority road, it sends signal that a priority vehicle is about to enter - thus lower priority vehicles will need to wait.

If a car is on a yield road, it checks to see if the 'priority vehicle about to enter' flag is set on the junction:

  • if true, it will need to wait
  • if false it can enter the junction with only minimal speed decrease
    • the speed decrease could be reduced a bit if car is going straight ahead (doesn't need to slow to make a turn)
    • speed decrease can be reduced even more if traffic lights are giving vehicle right or way

Traffic lights are essentially dynamic priority signs heh.

@kianzarrin
Copy link
Collaborator Author

It should be: Cars don't need to wait entering a junction if they have priority at the junction (ie. the yellow diamond priority sign).

Once I disable enter blocked junctions, cars entering the roundabout wait for the junction to be clear before entering

Otherwise known as Yield sign.

I think if traffic is flowing fast there is no need for cars entering the roundabout to wait a little bit longer.

Otherwise known as yellow diamond priority sign.

No actually In all the cases above I meant cars with the yield sign entering the roundabout. So in the screenshots bellow, in the first one cars from the road with yield sign entering the roundabout do so (do so = enter the roundabout) immediately after the incoming car has entered the junction:
Screenshot (937)

cars from the road with yield sign entering the roundabout wait a bit longer to enter the roundabout even when the traffic in the roundabout is flowing:
Screenshot (936)

I am not sure how hard/"process intensive" it is to write a code to check if traffic is flowing or is going to be blocked.

@kianzarrin kianzarrin changed the title Cars should not wait entering flowing road if enter blocked junction is enabled. Cars with yeild sign entering the roundabout should not wait entering flowing junction if enter blocked junction is disabled Apr 28, 2020
@kianzarrin kianzarrin changed the title Cars with yeild sign entering the roundabout should not wait entering flowing junction if enter blocked junction is disabled Cars with yeild sign entering the roundabout should not wait entering flowing junction if enter blocked junction is disabled(EDITTED) Apr 28, 2020
@kianzarrin kianzarrin changed the title Cars with yeild sign entering the roundabout should not wait entering flowing junction if enter blocked junction is disabled(EDITTED) Cars with yeild sign entering the roundabout should not wait entering flowing junction if enter blocked junction is disabled(EDITED) Apr 28, 2020
@s2500111
Copy link

s2500111 commented May 7, 2020

I think, the don't enter a blocked junction sign is a bit sensitive on short segments, which also affects roundabouts as they're mostly made of short segments. This leads to cars waiting longer then they need, decreasing the capacity of affected junction.

It's also a thing that cars fail to yield if they approach a roundabout (or any junction) to fast, which leads to them just glitching into the roundabout. It can also lead cars to bunch up within the roundabout. This doesn't happen if entering a blocked junction is disallowed, as cars wait for the segment to clear up, therefor reducing their speed and yielding successfully. So really people are using this as a workaround for another problem, because they don't understand the mechanics causing the problem in the first place. Which is understandable as those aren't explained anywhere beyond some user comments at some places.

So how to fix those issues?

  1. Yield signs should reduce speeds to a level where cars are able to yield.
  2. What @kianzarrin is saying: the code checking for a blocked junction should differentiate between flowing and stopped cars.

Right now, allowing the entering of blocked junctions has two use cases:

  1. Making sure that cars will drive through intersections correctly, even if there is another intersection close by (like from a slip lane or another node within the same TTL). So basically at places where it would be useful if they stop, when the segment in front of them is really blocked, but where the algorithm is to sensitive and considers the segment blocked even if only a single car is on the short segment. Or does it even always stop them?
  2. Allowing cars to ignore junctions in front of a traffic light, like those from an offgoing slip lane. So at a junction that is not blockable as there is no through-traffic and thus shouldn't be kept free ever.

I'd consider the first use case as fixing a bug and not as a feature, even though some people seem to use the bug as a feature. A stop sign at a roundabout should probably have the same effect.

@me22
Copy link

me22 commented May 19, 2020

FWIW, at least in TMPEv10 I just used enter blocked junctions to control my roundabouts instead of yield signs, since my experience was that that worked better in low traffic situations by letting entering vehicles continue, while still doing the behaviour I cared about with yield signs by keeping the cars from further blocking up the node if there were already vehicles in it.

I haven't checked exhaustively in v11 to see if things have changed, but I would be fine with not being able to control both if yield signs just worked the way I want cars entering roundabouts to behave.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new distinct feature triage Awaiting issue categorisation
Projects
None yet
Development

No branches or pull requests

4 participants