Hey car, I’m drunk. K’, hop in meatbag.

Slightly over 30 years ago, we were promised by Marty McFly that by the year 2015, we would have hover-board and flying car. But unfortunately, McFly is a filthy liar and we still do not have either of these after one year. While we may not be able to fly around on our hot pink hover-board while donning the freshest of kicks any time in the near future, the advent of the driving cars will soon be upon us. There’s certainly no doubt that there’s pleasure to be found in driving, whether derived from a nice low grumbling of a V8 or simply flow the mechanical response with each input, but would it not be nice to take your hand off the wheel to watch a movie or catch up on emails instead of having to pay attention the soul crushing existential crisis that we call a traffic jam?

Wait, wait, wait I can have fun with alternative text? SWEET!
The thing on the right is a down right travesty to the name

Jests aside, traffic related injuries account for a significant portion of unnatural fatalities each year. Despite the ever improved integrations of crash systems like the crumble zone and strategically placed air bags, the numbers remain disconcertingly high. In particular, these systems only aid to reduce the danger caused by the impact, but they do not contribute to the mitigation of accidents. In other words, previous advances in technology has solely been focused on a Don't worry, they all lived. passive reaction system and not an active one – and it is exactly therein lies the key to fully reducing number of traffic related injuries. There’s only so much that can be done to reduce the damage caused by a 2 ton truck broadsiding another vehicle – short of making the entire passenger compartment a reinforced sarcophagus (arguably more for convenience than safety).

 

For the longest time, active systems have not really been feasible as there has not been a push to wire a bunch of sensors up to a car. However, with the information age, comes too, the convenience of having sensors on all the things. MEMES EVERYWHERE!!!!!!!!This opens up the opportunity of developing active systems in vehicles. The most useful of which will be, of course, for collision avoidance. No doubt that this would be by far the most important technology that needs to be developed before the first flying car, or whatever we choose to call it by then, could hit the sky. Partially because the cruising speed of these vehicles will be very high so a head on collision will probably have a delta V in the order of a Mach or so. Added to that, falling down another few thousand feet post collision will not aid the survival rate; that’s of course under the assumption that your entire everything won’t be vaporized in the collision, which is a pretty poor assumption to make.

Couldn't find one for S-class, this will do. Not like anyone can tell, right?
Example of the sensor package on high-end car

But back to the present day, what do we have at our disposals in these new generations of vehicles? In this example, we’ll use the Tesla Model S or the BMW S-class as they are some of the most well equipped cars. Here’s their sensor arsenal and let’s go through them:

Cameras: Pretty obvious one here. They are essentially like our eyes, so they’re pretty much useless in low light condition and needs time to focus on certain object in order to get a good image. Another down side of cameras is the fact that the raw data has no real intrinsic value and so they must be processed first before they are of any value at all to the system. Considering that in order to cover a full sphere of vision, the car will need to be installed with at least a dozen high definition camera. Considering the fact that we are trying to mitigate impacts, which mean that the system will have less than a second to response, this huge load straining on the system is not favourable. The upside is that an IR camera added such that problems with viewing in the dark can be more or less mitigated.

GPS: Again, familiar to all of us. This system has not much use since it usually has an accuracy of a few meters which is far too imprecise for our use in collision avoidance. That being said, the location data of the car can be used to determine how likely an event is to occur i.e. if it’s in a wood, then the system will immediately be on the lookout for deers/other animals crossing the road and if it’s in a large city, it will look out more for pedestrians.

Radar: This one’s obvious, more or less the ‘go to’ system to scan for objects and distance from vehicle. It has the downside of the fact that it cannot be used to identify the object or interpret the data in any other way than in manner that is similar to ‘there’s a thing this big over there and it is moving in that direction’. The fidelity of the data acquired by the system is also most likely fairly low as well

Ultrasonic sensors: This system has a range of circa 5 m, thus it is very useful in slow traffic or very dense areas. However, in fast moving scenarios, it is entirely useless.

As we can see, in the most advance of cars, there are more or less enough sensors equipped, or at least the types of sensors required for some level of autonomy. And of right now, a lot of them do have some sort of system to automatically break when a possibility of collision is detected. However, these are more or less relegated to the decision of breaking or not. It is essentially sensing the presence of objects as black boxes it should avoid instead of actually identifying the object.

To move closer towards a fully autonomous vehicle, the system must be able to distinguish between the different types of objects it may encounter, from animals to machines. As pedestrians are the biggest at-risk groups in traffic collisions, it is a wise choice to start with creating a system that could avoid pedestrians, even at relatively high velocities.

Traditionally, the process of object identification, situation analysis and resolution are divided into three separate processes. This is due naturally to the fact that there are so many factors that must be processed in each section. However, as we are simplifying the system significantly, they can all be grouped together and that’s what we’re going to do here.

Pedestrian Identification:

The pedestrian is first identified using a fairly complex but can be simplified down to being part of being compared to a probability mass function. Or rather, it is check whether a blob looks like a human or not.

At the end of the day don't we just want to all be little blobs of rainbows?
Example of using probability function to identify a person as a blob

The measurement of distance between vehicle and object once the object is identified is fairly simple and does not require anything past pointing a Doppler radar/normal radar in that direction. At the same time, the velocity of each object can also be calculated based on the distance data and imaging data acquired. Tracked over a time interval of as few as three frames, the object’s velocity can be fairly easily calculated.

This information is then transferred onto the next stage where the situation is analysed, to assess for the time that is left until different event occurs, such as how long it would take to break, how long it would take to steer out of the way and finally how long it would take until collision.

This can naturally be broken into several parts:

Time to Break and Time to Collision:

These are obviously the most simple processes. As they are naught more than a basic physics calculation of how long it would take to come to a complete stop to avoid a collision or how long it will take on the current trajectory for the collision to occur. These are very basic physics calculation that anyone with a fundamental understanding of physics can easily calculate. They are also very simple to implement.

Time to steer:

The time it would take to steer in order to avoid collision with an object. This is far more complex as the system must not only calculate how long it would take for the car to steer around the object, it must also meet several constraints in that: the evasive maneuver must be feasible and the evasive maneuver must not result in a different collision. Additionally, as the driver would still be in primary control thus a fast yaw change should be avoided when possible to avoid the driver fighting the automatic maneuver which could throw additional difficulty into steering if ignoring driver interface is to be avoided. Unfortunately, due to the nature of human beings, the latter is not a possible option.

Automatic steering also includes a variety of concerns as well. One of them is that the system would have to, depending on circumstances, avoid multiple objects in succession. This would also lead to the scenario where a collision is certain to occur and the system must choose which target to hit (do you want to hit a kid at 20 mph or a family van at 50 mph?). This adds an incredible layer of unavoidable complexity into the system.

BOOM! Integrating what we learned in the class room.

Once these parameters are calculated (and they are constantly calculated at the minimum time interval), they are passed on to the next function that will make the decision on how to intervene.

Decision and Intervention:

As the driver is still in control of the vehicle, first signals will be given to alert the driver of possible collision. If the time to collision and the time to break are equal to one another and the driver still has not responded then the system will automatically perform a breaking maneuver. However, if a breaking maneuver becomes impossible before the driver responded then the system will automatically make an automatic evasive maneuver in conjunction with cutting driver input during the duration of the evasion. Once the trajectory has been determined, it is passed on to the final part of the system.

Vehicle control:

This is essentially fairly simple and have been more or less been taken care of with the advent of technologies like traction control. In this step, the goal is to ensure that the vehicle follows the designated path. Similar to in the case of traction controls, the vehicle responses are completed at a hardware level using specifically designed chips.

As we can see, even though the process in a vehicle collision avoidance system can be very complex, the technology required to complete such tasks are on the verge of being standard in today’s vehicle. In particular, the fast hardware power that is required to process the variety of inputs into the system are more or less here (thank you Moore’s Law). Thus these systems are only years away from commonality. The biggest hurdles now will be the testing required to pass government standards. It is also here that a lot of problems still lie. From the point of view of the manufacturer, it is simply not good enough to simply reduce the number of vehicle collisions. The vehicle must perform the maneuver in a way that the company is protected from litigation. Think of it like this. If the vehicle has to choose between going on the course defined by the driver and hit a group of toddlers in the park, or it can take an evasive maneuver and hit a single person on the other side of the road, sometimes it may be better for the vehicle to just plow through the kids and put the blame on the driver. The alternative would be going into a costly court battle because it is technically the system that decided for the person on the other side of the road to get hurt. This is naturally, a whole different can of worms that we wish not to open.