Building maps for a self-driving car

March 2016

Elevation view of an intersection in Mountain View, CA. This information tells our car what to expect on the road so our sensors and software can spend more time processing moving objects, like cars and pedestrians.

We’re often asked how we build maps specifically for a fully autonomous car. A map for self-driving cars has a lot more detail than conventional maps (e.g. the height of a curb, width of an intersection, and the exact location of a traffic light or stop sign), so we’ve had to develop a whole new way of mapping the world.

Before we drive in a new city or new part of town, we build a detailed picture of what’s around us using the sensors on our self-driving car. As we drive around town, our lasers send out pulses of light that help us paint a three-dimensional portrait of the world. We’re able to tell the distance and dimensions of road features based on the amount of time it takes for the laser beam to bounce back to our sensors (see image above). Our mapping team then turns this into useful information for our cars by categorizing interesting features on the road, such as driveways, fire hydrants, and intersections.

This level of detail helps our car know exactly where it is in the world. As our cars drive autonomously on the road, our software matches what the car sees in real-time with the maps we’ve already built, allowing the car to know its position on the road to within 10cm of accuracy. That means we don’t have to rely on GPS technology, or a single point of data such as lane markings, to navigate the streets.

Another benefit of knowing permanent features of the road is that our sensors and software can focus more on moving objects, like pedestrians, vehicles, and construction zones. This allows us to do a better job of anticipating — and avoiding — tricky situations.

Self-driving cars can use a much greater level of detail than you’d find on Google Maps. Our mapping team highlights road features such as the length of a crosswalk, height of a traffic light, and the curve of a turn.

Of course our streets are ever-changing, so our cars need to be able to recognize new conditions and make adjustments in real-time. For example, we can detect signs of construction (orange cones, workmen in vests, etc.) and understand that we may have to merge to bypass a closed lane, or that other road users may behave differently.

To keep our maps up-to-date, our cars automatically send reports back to our mapping team whenever they detect changes like these. The team can then quickly update the map and share information with the whole autonomous fleet.