U-Turn Traversal AI Techniques for Self-Driving Cars


By Dr. Lance B. Eliot, the AI Trends Insider

It seems that the U-turn maneuver makes drivers do crazy things.

As an example, the other day I was driving northbound on Pacific Coast Highway (PCH). There is a stretch of this highway that for several miles you are pretty much forced to continue in a straight line because there aren’t any viable turn-offs. There are some spots that allow you to enter into a beach parking lot, but otherwise once you’ve decided to get onto PCH at one end of the stretch and assuming you are trying to get to the other end of the stretch, you are at the mercy of whatever might happen on that stretch of road.

Well, the other day the northbound traffic got snarled due to an accident at the far northern end of the stretch. This meant that hundreds of cars heading northbound were now sitting on PCH as though it was a parking lot. We were all waiting for that accident up ahead to get cleared and allow traffic to continue forward. You could see the look of exasperation and worse on the faces of the drivers that were wanting to get to work, or get their kids to school, or proceed to whatever seemingly urgent destination and not desirous of sitting around for the many minutes waiting for the stretch to open up.

Other than getting onto one’s cell phone to make calls or maybe changing radio stations to listen to the news or perhaps soothing music, there wasn’t anything else that could be done. Or so it seemed. Instead of waiting it out, cars began to decide they would make a U-turn and head southbound. Going southbound at this juncture was kind of questionable because you’d need to go all the way back to the initial entry point of this stretch, and then find some other means of navigating byzantine roads to eventually end-up toward the northbound side of the highway. Doing so would certainly add at least as much time that you would incur by just waiting for this northbound stretch to clear. But, for those especially that have little patience, I guess they decided they’d rather be in motion, even if it meant that it might be longer to get to their destination, than to sit still.

This stretch of PCH had a few left turn spots that were intended to get you into a beach parking lot. Cars stuck in the stretch that were near to the left turns then proceeded to pretend they were going to make a left turn and then actually made a U-turn.  Only one problem was that there were signs posted at each of these left turns that said “No U-turn” (which, unless I misunderstand such signs, means, you can’t make a U-turn there!).  Furthermore, other cars that weren’t near to a left turn spot were deciding to make a U-turn from whatever place they were, doing so across a doubled set of double yellow lines (which, in California means that you aren’t supposed to cross it, this is considered an uncrossable median generally).

I am sure you might be sympathetic to these drivers that were making all of these illegal U-turns and be thinking that it seemed like the right thing to do, since they were being blocked from going northbound and so why not just turn around and head the other way. This might be sensible except for the fact that the southbound traffic was moving at quite a pace, and thus these northbound turnarounds were not only impeding the southbound traffic, it was causing near collisions and making havoc out of the southbound lanes.  These thoughtless U-turn drivers were risking the lives of the southbound traffic drivers. And, it was forcing those southbound traffic drivers to swerve and brake so much that I anticipated we’d see some of them inadvertently go across the doubled set of double yellow lines and plow directly into the now sitting ducks drivers on the northbound side. It was an ugly situation for sure.

In my experience, it seems as though many drivers rely upon making a U-turn whenever they feel like it is okay to do so, and often ignore whether the U-turn is illegal to make. A novice driver is taught the rules-of-the-road that they are not supposed to make a U-turn when it is unsafe to do so. They are told that in a residential district they cannot make a U-turn when vehicles are approaching within 200 feet of your car. They are told you cannot make a U-turn when there is a “No U-turn” sign posted. They are informed that you are not to make a U-turn at a railroad crossing – which, by the way, I end up weekly at a railroad crossing on my morning commute and I see at least one or two cars that make a U-turn once they see that the arms have come down to block the street for the train.

My point is that in spite of what we are supposed to do, and what we are not supposed to do, human drivers often decide what they want to do and act without necessarily considering the legal aspects and nor the safety aspects of making a U-turn.

What does this have to do with self-driving cars?

At the Cybernetic Self-Driving Car Institute, we are developing AI software for self-driving cars that deal with U-turns in the following two key ways:

(1) Be aware of what other drivers might do when a situation presents itself such that they might make some form of radical U-turn and therefore the AI of the self-driving car should be predicting and planning for such haphazard driving by other drivers,

(2) Be able to execute a U-turn as a self-driving car when it is so needed and appropriate to do so.

In the case of the first aspect, being on the watch for U-turns, if a self-driving car were going southbound on PCH the day that I was on that stretch, the AI should have been noticing the long line of traffic northbound and could have reasonably predicted that there might be ad hoc U-turns by some of those cars. This would require the knowledge that the stretch was a pipeline with little other chance of getting out of it, and that the time of day was such that car drivers are often especially in a semi-panic driving mode.

The self-driving car would also have been able to see up ahead of it that some cars were trying to make a U-turn into the southbound traffic. By use of the self-driving car sensors, such as LIDAR, radar, and the cameras, it would have seen or detected that cars were making these illegal U-turns. As such, the self-driving car should be making defensive maneuvers to anticipate those U-turn drivers that were wreaking havoc with southbound traffic.

I realize that some of you might say that there wasn’t need for the self-driving car to have to “understand” what was happening and that it could have merely just reacted to the road conditions of having cars coming into the southbound lanes. I contend though that if the self-driving car is only reacting to the straight-ahead traffic, it is not going to do as safe a job as it can in terms of preparing for and avoiding potential collisions with those other U-turn making cars.

Which would you prefer to have, a self-driving car that drives like someone that has blinders and can only see what is straight ahead of it, or one that is surveying the scene and grasps the bigger picture of what traffic is doing? I would much prefer the more sophisticated self-driving car that drives like real human drivers do (at least for the “good” aspects of human driving). Most human drivers would have noticed that the northbound lanes were packed and have easily predicted that there would be crazy U-turns. It’s a natural aspect for anyone that has driven for any length of time.

Besides being able to predict and deal with U-turns made by others, we also of course want a self-driving car to be able to make a U-turn (that’s the second major aspect of self-driving cars and U-turns, namely, the self-driving car being able to safely execute a U-turn).

There are some that believe that a self-driving car should only make a U-turn at a controlled intersection that has a green left turn light and that’s the only time that a U-turn should be made by a self-driving car. In essence, they don’t want self-driving cars to make other kinds of legal U-turns that are less controlled by the roadway circumstances. They view that U-turns are so risky that only when a self-driving car is forced into making a fully legal and tightly controlled situation U-turn that it would then embark upon a U-turn.

For us, we think this is a rather myopic view and that a U-turn should be part and parcel as an essential driving tool of a self-driving car. The notion that a U-turn is just too dangerous and that the self-driving car should not know how to do it per se, in the sense of knowing in varying kinds of situations, limits what a self-driving car can do. If we want to achieve true Level 5 self-driving cars, which are ones that can drive in any circumstance that a human driver could drive a car, we must have the AI be able to deal with U-turns in the same variety of situations that a human driver could legally do a U-turn.

I’ll also put a bit of a qualifier around the word “legally” doing a U-turn. Going back to the PCH situation, you could certainly say that the drivers making the U-turns were doing so illegally. On other hand, there is a provision in the state driving laws that allows for making otherwise illegal maneuvers in situations that doing so are dire or special. Suppose that a police officer was directing traffic and was telling drivers to make a U-turn that otherwise was illegal to do, it presumably at that moment would be a legal U-turn because you were acting at the direction of the police officer. The point being that sometimes an illegal driving act can be considered a legal one, and thus the self-driving car cannot just blindly assume that if a driving maneuver is normally considered illegal that it is always wrong to invoke it.

In quick recap, those that say never have a self-driving car do a U-turn are wrong to say this, since there are circumstances that making a legal U-turn are allowed and also some circumstances where making a U-turn is actually required (such as the police officer directing cars to make a U-turn). Self-driving cars need to know how to make U-turns. Period. They also need to know how other drivers make U-turns and therefore be better prepared as a defensive driver.

Speaking of being a defensive driver that knows about U-turns, here are some of the contextual situation of U-turns that we are having the AI be aware of:

U-turn Mania

These are situations where en masse there are drivers that are going to be trying to make U-turns. Typical scenario involves cars that are stuck in a traffic situation such as my example earlier on PCH. This can happen on a highway, a freeway, and even occurs in parking lots such as when I attend Dodge baseball games and as the drivers all try to leave the stadium parking lot at the same time they then resort to making wild U-turns en masse in hopes of finding a faster exit elsewhere.

U-turn Panic

These are situations involving a driver that suddenly realizes they are heading the wrong direction and so they panic and try to make a U-turn erratically, regardless of how safe or wise it is to make the U-turn. You’ve likely seen these kinds of drivers. They will often dart across several lanes of traffic to get to a left turn lane and then make their U-turn. When they execute the U-turn, it is often done recklessly.

U-turn Clod

These are situations involving someone that is making a U-turn and has not calculated properly how to do so in the circumstance. They start the U-turn, then realize they cannot make it in one smooth move, get caught by the narrow width of the road, and then switch into a 3-point turn mode of stopping, backing up, and then completing the U-turn. Very dangerous.

U-turn Frozen

This is the situation of someone that has gotten into a posture to likely make a U-turn, but it might appear to be a left-turn, and even though they could have made a left turn, they realize that the traffic is such that they cannot yet make a U-turn, so they sit in the left turn lane and keep waiting until the traffic allows for a U-turn. Cars behind them in the left turn lane are upset that the dolt seems to not be making a left turn. They don’t necessarily realize that the person is wanting to make a U-turn and waiting until it is safe to do so. They sit seemingly frozen.  

As might be apparent from the above, the AI of the self-driving car is watching for these situations and making sure it is defensively ready to handle these situations.  It is feasible for example to calculate that a U-turn Clod is possibly going to happen, since the self-driving car can ascertain whether a car that appears to be wanting to make a U-turn can actually make the U-turn in one move or not. If it appears unlikely that it can be done in one move, the self-driving car will slow down and possibly even come to a halt upon the start of the execution of the U-turn by the other car.

This also brings up another aspect about car drivers and U-turns. A human driver that is desirous of making a U-turn is often gauging whether oncoming traffic is going to allow the U-turn or not. If the oncoming traffic is aggressive then the U-turn driver will often wait to make the U-turn. Human drivers will assess the other cars and their drivers, and if it seems like other drivers are “sheep” in their view, they will make the U-turn and assume that those other drivers will let them do so. On the other hand, if the other drivers are aggressive and unlikely to back down, the U-turn driver will realize they have to wait. It’s a game of chicken.

For self-driving cars, we’ve already had the situation of human drivers playing games with self-driving cars at four-way stop signs. The human drivers aggressively do a rolling stop, and it has caused some self-driving cars to wait seemingly forever, since the self-driving car is programmed to not proceed until the other cars at the stop signs have come to a complete halt and waited their respective turn. Human drivers will be likely to play games with self-driving cars and the self-driving cars need to have better AI to handle these games. Likewise, the case for U-turns. If human drivers making U-turns are aware that a self-driving car can be conned into coming to halt to let the U-turn be made, those human drivers will likely edge out into the U-turn to trigger the self-driving car to come to a halt. This is something those human drivers would not have dared do with other human drivers.

In terms of a self-driving car executing a U-turn, it’s a rather complex operation and therefore does need a specialized component of the AI to handle it.

Here are the major steps involved:

Planning for U-turn

The self-driving car needs to figure out when a U-turn makes sense to consider. Is it sensible to do a U-turn in the situation or would it be better to wait or do some other maneuver? Are the roadway conditions viable? And so on.

Pre-Positioning for the U-turn

The self-driving car needs to get itself into a posture that will allow for the U-turn. If the self-driving car is in the rightmost lanes and it needs to get over to a left turn lane, it will first need to make those lane changes to get over to the left turn slot. You likely see human drivers that miscalculate this and end-up screaming across lanes of traffic to reach the left turn slot, and in the process, disrupt and endanger other drivers. Don’t want the self-driving car to do that.

U-turn Execution

After getting into the proper positioning for the U-turn, now the self-driving car will need to undertake the U-turn. Abandoning the U-turn is an option that also needs to be considered. If the U-turn itself now no longer seems possible, the self-driving car might be able to make just a left turn and deal with getting back onto track after that maneuver.

Post-Positioning after the U-turn

Once the U-turn has been executed, some human drivers will suddenly make a rapid right turn or try to get into other lanes of traffic. The self-driving car AI should have already during the planning stage have decided where it needs to be after the U-turn is completed and then navigate the car accordingly.

For our self-driving car AI software, it also keeps track of how mature the self-driving car is becoming at making U-turns. The more times it makes a U-turn, generally the better it gets, due to machine learning capabilities. Thus, there are some U-turns that at first it should not try, and then as it gets better, it can take on more complex U-turns.

On a related aspect, some say that by the use of neural networks that there is no need to actually “program” the AI to deal with U-turns. They assert that the self-driving car AI will simply gain awareness of U-turns and how to do them via having a large dataset of U-turns that it can pattern after. Though we agree that having the large data sets helps, it still does not overtake the need to have actual articulated strategies and tactics for doing U-turns. The AI of the self-driving car is not going to entirely be able to do U-turns by neural network or machine learning alone.

U-turns are a thing of beauty, when done right. Sometimes, there is not much judgement involved and it is a simple matter of following the roadway for a controlled and operated U-turn. In other situations, making a U-turn is an art. Self-driving cars are going to need to be able to do all of these kinds of U-turns, without which they would be inherently limited in their capabilities and not able to reach the vaunted Level 5 for self-driving cars. U-turns, love them or hate them, but either way the AI of a self-driving car should be versed in U-turns, knowing when, where, how, what, and the why of carrying out U-turns.

This content is originally posted on AI Trends.