Rain Driving for AI Self-Driving Cars
Rain Driving for AI Self-Driving Cars

Rain Driving for AI Self-Driving Cars

By Lance Eliot, the AI Trends Insider

There is an ongoing joke among Southern California drivers that when the rain comes along we freak out and don’t know what to do (this might be as much a local joke as it is an East Coast view of those “crazy” drivers on0 the West Coast). With just a few drops of rain, traffic seems to become snarled, even more so than normal. Drivers don’t know whether to hit the brakes or hit the accelerator. And, because traffic is delayed, it causes some drivers to speed-up as a means to try and mitigate the fact that they’ve been slowed down – all of which then contributes to fear of heightened fender benders and the traffic getting even more bogged down. It’s a viscous driving cycle during the rain.

Fortunately, we only get about 15 inches of rain annually, which is not much in comparison to the whopping 40+ inches that a New York City or Seattle would get. Nonetheless, the relative scarcity of rain does perhaps make us less prepared for the rain. Less preparation includes that we don’t have working windshield wiper blades, or we are driving on bare tires. Less preparation also includes a forgotten understanding of how to drive safely in rainy conditions.

Those little droplets of rain can be a nuisance. Many assume that rain droplets are teardrop shaped, but the reality is that they are more akin to the shape of a parachute for larger sized droplets, and they are the shape of a hamburger bun for smaller sized droplets. Besides the size of the raindrops, another factor while driving is the amount of drops, and the intensity as they are coming down from the skies, plus their duration. A very brief rain shower with a few lazy, miniature drops is usually easier to manage than a downpour of a lengthy period with drops that seem as big as grapes.

Rain can certainly be more than just a nuisance. According to the National Highway Traffic Safety Administration (NHTSA), rain conditions account for nearly half (about 46%) of all weather-related accidents in the United States. In comparison, snow encompassed about one-firth (17%) of weather-related accidents. Now, this is a somewhat questionable comparison in that it is likely that less drivers get on the roads when it snows, while with rain there are a lot more drivers, and so we would anticipate that there would be a higher volume of accidents.

I think we can all agree that rain presents added difficulties when driving a car. The road gets wet, and provides a more dangerous surface upon which to drive. The car gets wet, mainly of which can obscure the vision of the driver. When you have lots of cars all driving in the rain, you get a smorgasbord of wet surfaces and a myriad of rain-savvy and rain-confused drivers that can or cannot readily see what they are doing. Even if you are professional rain driver, if we put you into the middle of traffic with a lot of panicky rain drivers, you are unlikely to come out of it unscathed.

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

At the Cybernetic Self-Driving Car Institute, we are advancing the capability of AI to appropriately drive a self-driving car in rainy conditions.

Today, most of the self-driving cars aren’t yet able to drive proficiently in the rain. In fact, when you see a slick video of a self-driving car that seems to be zooming along, you’ll often notice that it is not doing so in rainy conditions. Instead, often the road is dry and there’s not a rain cloud in the sky. Given the widespread aspect of rain, being common in much of the country for a substantial part of the year, we definitely need self-driving cars that can properly and appropriate drive in the rain.

For Level 5 true self-driving cars, which are self-driving cars that are supposed to be able to drive in the same manner as a human driver, we are expecting that the AI will be able to drive the car according to the aspects of the rainy circumstance. For Level 4 self-driving cars, the AI is not expected to necessarily be able to drive in the rain, or it can at least try to drive in the rain and if it somehow gets to a point where it can’t further do so, it will hand control over to a human driver in the car.

This handing over protocol can be dangerous, since suppose that the self-driving car has gotten itself into a pickle of a really bad rain and might be nearing a skidding situation and be veering out-of-control. Simply handing the controls over to a human is not a cure-all. The human might not have sufficient time to overcome the situation, or might not have any options left as to how to get out of the predicament.

What makes things so hard to drive a self-driving car in the rain?

Let’s consider the various facets that come along with rain related driving.

Roadway Surface

The roadway can become very slippery when wet. This means that the tires of the car might not grip the road well. The AI needs to be able to realize that the roads are wet, and determine how to best maneuver during turns, or how to best proceed from a standing still position to a moving state, and so on. If the AI tries to accelerate in the same manner as on a dry surface, the odds are that the wheels will spin or the car will skid, all of which can lead to a dangerous situation for the self-driving car and its occupants (and other cars, and pedestrians, etc.).

Hydroplaning

I’m sure you all remember in your high school classes on driving that you need to watch out for hydroplaning. This is the circumstance of a layer of water that sits between your tires and the road. Thus, you can end-up sitting on top of the water and not actually directly have the tires on the road itself. When this happens, your control of the car is greatly diminished. We have the AI prepared for this situation, and once it detects that hydroplaning is underway, it enacts a hydroplaning mode involving reducing acceleration, steering in the direction of the hydroplaning, and avoids slamming on the brakes. The AI also has to know what’s nearby the car and how much room it has to gain control of the self-driving car without ramming into others or other objects.

Standing Water

There are sensors on the self-driving car that are looking at the roadway and scanning for standing water. As you know, a puddle can be either fun and safe to splash through, or it might be hiding a pothole that can damage your car and toss the steering into turmoil. Detecting standing water is harder than you might think, due to not only determining where the water is, but also trying to gauge how deep it is. The AI also needs to be considering options such as avoiding standing water, perhaps changing lanes or otherwise making a safe maneuver to avoid getting into the water moat.

Crown or Center Driving

During rain, the AI tries to keep the self-driving car toward the crown or center of the roadway. This is due to the aspect that most roadways are designed with a bit of a bow, allowing water to more easily drain off the road. You often see lots of deep water next to the sides of the road, which is partially because the water is draining to that position. The AI tries to keep the self-driving car away from the sides of the road, if feasible.  This cannot be a hard-and-fast rule, since there are driving situations whereby the side of the road is the safer alternative and thus it is situational dependent.

Rain Driving Mode

As much as feasible, the AI tries to go slower than normal when navigating in the rain. A general rule-of-thumb is that speeds should be reduced by about one-third of the norm, such that if the speed normally is 55 miles per hour on a roadway then it is prudent to aim for 40 miles per hour, assuming that’s even a safe speed in the circumstances. Likewise, distances between cars should be extended from the norm, allowing at least one-third more time or distance than usual. The AI also needs to make sure that the headlights are on, which aids not only the sensors of the self-driving car but also to warn other drivers and pedestrians about the presence of the self-driving car.

Car Readiness Condition for Rain

When someone wants a self-driving car to drive in the rain, as much as possible the AI needs to ascertain whether the self-driving car is ready for rain related driving. It can detect the tire pressure as one means of readiness. For some future cars there will be a means to detect the amount of tread on the tire (a bald tire is worse in the rain). The AI can also run through diagnostics of the sensors to determine that they are working, and also see if they are obscured by the rain. As an aside, you might find of interest that there are now some companies that are making special windshield wipers or other means to try and keep the sensors on a self-driving car free of rain, dust, dirt, snow, etc.

Driving Route

The AI of the self-driving car needs to consider the route carefully of wherever the self-driving car has been commanded to go. As a result of rain, there are often alternative routes that might avoid getting into areas that are flooded. Thus, the normal least-distance or fastest-time routes might not be viable anymore. I’ve had this happen to me many times, wherein I took my normal route on a rainy day, and found that this one road that dips low seems to get flooded right away, and I’ve had to backtrack to find another path, all of which made the drive much longer than if I had gone another way to start with.

Car Controls Usage

The AI needs to be aware of and be able to use the other automation on the car, such as the traction control feature, the anti-skid feature, and the anti-locking brake system (ABS). Those features are going to be pretty much standard on all cars, including self-driving cars. Those features are used by human drivers, and likewise the AI needs to know how to drive the car and consider those features too. Some assume that those features will have the AI embedded into them, but this is not likely the case right away. Instead, they will be the conventional standalone capabilities and it is up to the AI to drive the car with the realization that it can use those features during the driving task.

Sensors

Probably one of the biggest concerns for a self-driving car will be the sensors. Are the sensors going to be able to contend with rain?

We all know that a camera has troubles when it rains. The lens becomes obscured by the rain. Images can be distorted. We cannot necessarily see as far as we could in a dry situation. Indeed, as mentioned, there are third-party companies now coming to market with specialized aspects that help to keep the camera lens clear.  This ranges from innovations such as miniature windshield wipers to heat-related mechanisms to get the water off the camera.

No matter what you do though to keep the cameras able to be clear, the odds are that you’ll still end-up with problems due to the rain. As such, the AI needs to deal with the images that are going to be partial or cloudy or whatever. In addition, the AI might need to rely on some of the other sensory devices more so in the rain, and be less able to use the cameras. It is important that neural networks trained to inspect images are also trained to deal with images that are rain related (some datasets don’t have rain related images, and so the neural networks have not been able to get trained on finding features in those kinds of images).

LIDAR, which is a type of laser that acts like radar, often is a key sensory device on most self-driving cars. There has been quite a lot of study about how rain impacts LIDAR. On the one hand, you would assume that something emitting laser beams is going to have troubles with the rain. Rain droplets are small but can be very efficient at reflections, and so can potentially create false readings. Studies show that there are ways around this.

For example, statistically a raindrop should not be in the same spot for very long, since it is falling, and thus if the LIDAR spots something that appears and disappears, the odds are that it is a raindrop in that circumstance. Also, raindrops tend to divert the signal toward the ground, and so by also looking at the ground plane it is possible to figure out what the rain is doing to the signals. Generally, research seems to show that LIDAR intensity decreases as the rain increases. Anyway, however it comes out, there are definitely issues to be dealt with when in the rain, and further advances in LIDAR will be needed to improve performance in the rain (including making sure the emitter surface does not get obscured by droplets).

Mixing With Human Drivers

Let’s not forget that the self-driving car will be driving around in the same places as human driven cars. I know that some believe in a utopia, where the world will be only self-driving cars, but that’s not in the cards for a very long time, if ever. So, the AI needs to realize that the other cars on the roadway are being driven in some cases by other AI, while in some cases by human drivers. The AI needs to be wary of those human drivers that are driving overly fast or overly slow, and drivers that suddenly swerve to avoid a puddle, and drivers that do the craziest things while driving in the rain.

Traffic Navigation

The AI for rain conditions will try to keep from getting boxed-in by other cars. In other words, while on a freeway, having cars in front of, behind, to the left, to the right, and immediately all around the self-driving car means that the AI has few options for maneuvering in the rain. It needs to try and keep options open as much as possible. This takes some really good driving skills. Changing lanes can be much harder in the rain, and requires more careful action. Driving behind trucks is not advised as the trucks toss-up a lot of water from the roadway. These are all parts of the AI’s capability for rain related driving.

Interaction With Occupants

Another aspect for the AI will be interacting with the occupants of the self-driving car. Humans that are in the car will likely want to know how the self-driving car is doing. Why did it take a left when normally the way to get to the destination is to the right?  Also, if the AI determines the driving situation is extremely dangerous, it should interact with the occupants to let them know, and possibly offer options such as safely getting off the roadway and finding a place to stop, hopefully waiting to let the rain subside.

Conclusion

As you can see, there’s a lot involved in having the AI of the self-driving car contend with rain related driving. It’s not so easy. That’s why many of the self-driving cars aren’t yet able to drive in the rain. Some that can drive in the rain are very limited in the rain related conditions that they can succeed in. For example, if it is pouring rain and the rain has been going for a while, and the roads are flooded, this can exceed what the AI is able to deal with.  

All of the aspects of the core components of a self-driving car are impacted by the rain, including:

  • Sensors – sensors might not work, might work differently in the rain
  • Sensor Fusion – might need to rely on some sensors more than others in the rain
  • Virtual World Model – might be difficult to keep the world model in full shape due to rain
  • Action Planning – might need to adjust action plans beyond normal driving due to rain
  • Controls Activation – might need to use the accelerator, brakes, steering in different ways
  • Tactical AI – must be aware of the rain conditions and rain-related driving mode
  • Strategic AI – must be aware of the overarching use of the car when in rain
  • Self-Aware AI – must be aware of what the car is able to do when it is in the rain

When you see a novice driver such as a teenager driving in the rain, you can see how scared they can get. For very good reasons. Driving in the rain is not the same as driving in non-rain non-wet conditions. This is an arduous task for a self-driving car to take on, but it is a “must” since ultimately self-driving cars aren’t going to be considered much of a success if they have to sit out the rain. Nobody wants a scaredy cat AI self-driving car that refuses to leave the garage when there’s rain outside.

This content is originally posted on AI Trends.