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

One-click protected turn cycles #324

Open
NJAldwin opened this issue May 21, 2019 · 6 comments
Open

One-click protected turn cycles #324

NJAldwin opened this issue May 21, 2019 · 6 comments
Labels
discussion Contains debate on certain topics enhancement Improve existing feature LANE ROUTING Feature: Lane arrows / connectors TRAFFIC LIGHTS Feature: Traffic lights - toggle, timed, etc

Comments

@NJAldwin
Copy link

I've found that most of the time when I'm customizing the timing of a traffic light it's just because I want to add a protected left turn (or advance green, at least). This is especially a common occurrence when dealing with a lot of intersections with small roads (in New England cities, at least, this is a very common traffic light timing change to improve traffic flow on the size-constrained roads).

It would be wonderful if this was a one-click option that left the rest of the traffic light alone. That is, a "traffic light mode" that uses the standard traffic-based lights, but with the addition of a protected left turn or advance green cycle for each direction.

I wouldn't be opposed to this being something that's only settable map-wide (as I realize changing the traffic light algo might be easier than running multiple types at once).

Another thought (no idea what would be easiest/best to implement, not being familiar with the codebase): could this be implemented as a junction restriction, as turn-on-red is (fantastic feature, by the way)?

Lots of different ways this could come into play, but anything would be appreciated so I can spend less time timing intersections that just need a protected left 😃

This might tie into #5 (as I could see an auto-config option to enable/disable separate protected cycles). Also related: #8 (apologies if this is a duplicate; I scanned through existing issues and didn't see anything too similar)

@originalfoo
Copy link
Member

Sounds similar / same sort of stuff as #46

@originalfoo originalfoo added discussion Contains debate on certain topics enhancement Improve existing feature labels May 21, 2019
@NJAldwin
Copy link
Author

Hm, that sounds related, but when I read through that issue it seemed to be more focused on making left-turn traffic yield to straight on traffic (am I reading it wrong?)

What I'm proposing is related--same issue: how to resolve conflicts between straight-on traffic and left-turning traffic, but solving it via exclusive/protected cycles.

There are two forms this commonly takes that I see:

Advance left phases

FHWA seems to call this "Protected-Permissive Left-Turn phasing" or "Split Phasing" depending on its exact implementation.

The light turns green for one direction of travel first, before the other direction (the opposite direction and other directions remain red). This allows left-turning traffic a conflict-free path through the intersection, and it helps to clear the lanes by also allowing straight-on (and right-turning) traffic through the intersection. Some lights show this as a green circle (for straight/right traffic) and a green left-arrow (to indicate the turn is exclusive). Other lights just have a solid green (and often a sign saying "advance green" so traffic knows the other direction is still halted).

After a short period of this "advanced" green, the opposite light turns green (and the green arrow turns yellow or turns off, if there was one) and traffic flows normally through the intersection. Left-turning traffic yields to oncoming straight traffic (as it normally would were there no light at all).

After some time, the initial direction turns red, but the opposite direction remains green. This allows traffic in the other direction to have the same sort of exclusive access to the intersection to clear out the left-turning traffic from that direction.

Protected/exclusive left turn

FHWA calls this "“Protected-Only” Left-Turn phasing"

The light turns green for opposing directions' left turns only (usually indicated by a green arrow). Both directions can turn left without conflicting, so this allows all such traffic to clear the intersection.

Subsequently, the light turns green in both directions (often, straight/right exclusive, indicated by a red left arrow, though this can also revert to the "all green" wherein left-turning traffic yields to oncoming traffic -- depends on the setup of each light). There's less conflicting left-turning traffic as most of it should have cleared during the left-exclusive cycle, so traffic flows more smoothly.

Other

Another alternative (might be easier) to solve the same problem is to give each direction an exclusive cycle. This means each direction has completely free flow when its light is green, however, it makes the overall cycle take a lot longer.

Pedestrians

Sometimes, this can cause an issue with cars conflicting with pedestrian crossing. Generally, cars just have to yield to pedestrians (so the "exclusive left" isn't really exclusive if the pedestrian signal allows crossing). For busier intersections, this is often solved with a "pedestrian scramble": the pedestrian lights remain red/"don't walk" for all of the car cycles, then pedestrians get one long cycle where all of the vehicle directions are red and all of the pedestrian directions are green/"walk", allowing pedestrian movement in all directions.

Use

I've implemented all 3 of these through setting up timed lights in C:S, and when timed correctly, it works really well. Unfortunately, it's a bit tedious to time a lot of intersections this way, hence my desire to have one of these options available as a "one-click" option -- especially if no actual timing is required, and they just operate based on the stock demand that drives normal signals that haven't been manually tuned.

Around Boston/New England, where I live, almost every light is set up with one of these types of cycles (usually protected left, sometimes advance green in smaller intersections without exclusive turn lanes) to help traffic flow better, and ideally, I'd like to design my C:S cities the same way.

Disclaimer

I'm not a civil/traffic engineer (though if I was changing jobs I'd consider it), so I may not be using all of the exactly correct terms for this. I found this FHWA reference that has some details: https://www.fhwa.dot.gov/publications/research/safety/04091/04.cfm#chp42

@originalfoo originalfoo added the TRAFFIC LIGHTS Feature: Traffic lights - toggle, timed, etc label Aug 11, 2019
@originalfoo
Copy link
Member

We are currently testing a feature that might cover the requirements above, for more details see: #540

@kianzarrin
Copy link
Collaborator

what is protected left? is this Left hand traffic? in that case this should be a duplicated of #540
Other wise it should be a subset of #575.

@originalfoo
Copy link
Member

Protected cycle (I think, correct me if I'm wrong @NJAldwin) is where there is specific traffic light stage that allows far-side turns to be made without risk of colliding with oncoming traffic.

I suspect, at least in initial implementation, this would need dedicated turn lane (far side), but could later be extended to ahead+turn lanes (far side) too.

@kianzarrin
Copy link
Collaborator

kianzarrin commented Mar 2, 2020

@aubergine10 so far-turn cycle is separated from straight/short-turn cycle. Am I right? this is the main objective of #575.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Contains debate on certain topics enhancement Improve existing feature LANE ROUTING Feature: Lane arrows / connectors TRAFFIC LIGHTS Feature: Traffic lights - toggle, timed, etc
Projects
None yet
Development

No branches or pull requests

3 participants