# How do self driving cars really work?

I'm absolutely fascinated by the notion of a driverless car. I know there is a lot involved with it and there are many different approaches to the problem.

To narrow the scope of this question to something reasonable for the SE network, i'm curious to know if there is a common sequence of subproblems that every driverless car needs to solve at each timestep to make an autonomous car possible for real life, point to point transportation possible. I imagine that once the starting point and target destination on a given map are set, a self driving follows an algorithm that loops through certain operations to solve certain problems along the way. I'm more interested in knowing what those problems are specifically at a high level, rather than detailed algorithms to solve them. Do all self driving cars solve the same subproblems along the way?

• If you end up wanting to learn about some of the algorithms, there is a nice (and free) online class at Udacity called Artificial Intelligence for Robotics (udacity.com/course/cs373) Commented Jan 5, 2015 at 13:54

The basic algorithm is called "SLAM". If you google "SLAM Algorithm" you will get about a million hits.

It can NOT depend on a stored map. That can't work because the most important objects are not the roads and intersections but the OTHER cars and pedestrians and that box the just fell of the truck and the traffic cones that close off a lane. In fact MOST things the car has to deal with are very transient.

The other thing that SLAM does in localize the car. It has to continuously solve the "where am I?" question by looking around. GPS can give an absolute position but a car want RELATIVE location, like "I am 16 inches from the curb." so it needs to be able to see the curb.

A conventional map is good only for high level route planning. Same with GPS, it is only good for high level thinking. To actually drive you have to scan the environment and make a "map" of all the moving and non-moving objects in real time. Again notice the most important things on your map are MOVING OBJECTS.

• Certainly SLAM is an essential component, but this is far from the only problem that needs to be solved along the way. Once the vehicle obtains an estimate of its position with respect to objects in its vicinity, how does it make decisions about what action to take? is there a heirarchy of goals that dictate the decisions that the car's algorithm makes? I think that is really at the root of what I really want to know.
– Paul
Commented Jan 5, 2015 at 16:26
• @Paul, the hard work is SLAM. Other stuff is a matter of what you want the car to do. If you are so interested in this stuff then read "Probabilistic Robotics". Commented Jan 12, 2015 at 11:40
• @CroCo: From your response, i can now see that the REAL question I had in mind was very different from the one I actually asked. I think what I meant to ask was more like: How do self-driving cars make decisions about how to respond to dynamically changing environments (given SLAM estimates) while trying to get from point A to point B. It's the decision making, rather than the SLAM, that I'm curious about. I'll ask that in another question.
– Paul
Commented Jan 14, 2015 at 16:43