People think of autonomous vehicle development as a fundamentally iterative process: you build something that can drive for a few feet, then a few yards, then a mile, you get a little better every day, and eventually your vehicle can drive itself. At Kodiak, we think AV development is more like building a house: first you build a solid foundation, then carefully choose the style and materials you need to match the kind of house you want. Similarly, the basic architecture of a self-driving system fundamentally shapes its long-term capabilities: decisions that help a vehicle perform well under certain conditions can be serious hindrances in others. After all, the deep basement that makes for a solid home in New England makes for a sinkhole in Florida. Unless you choose the right fundamental architecture from Day 1, it can be very difficult to re-engineer your system on Day 1000.
One of the most important architectural decisions in self-driving is how to use maps. At the heart of virtually every AV being tested and deployed today are hyper-detailed maps, known as dense maps or HD maps. These HD maps contain the location of every object in the vehicle’s operating environment: from streets and curbs to trees and buildings. To build these maps, developers will drive a specialized mapping vehicle on the same street over and over again, using custom software to build a detailed three-dimensional map of how the world looks. A team of humans then quality-checks every map carefully by hand to ensure their accuracy.
HD maps work pretty well for robotaxis. An AV may use its map to determine its location, comparing the buildings it sees with the buildings it expects to see. A map can also help an AV predict the behavior of nearby objects: unlike a pedestrian, pre-mapped mailboxes are unlikely to step into the middle of a street. But HD maps are just less useful for highways than for city streets. Without all those buildings, curbs, trees, and mailboxes, one spot on a highway can look a lot like the next.
Another drawback of HD maps is that they can be brittle: changes to traffic patterns can stop an AV in its tracks, and require a remap. Though we rarely notice it, highways can change quite frequently: construction, lane closures, and other factors mean that highways rarely look exactly the same from one day to the next. That means when a construction zone suddenly appears overnight, the HD maps you carefully constructed last week are no longer accurate. While out-of-date maps are problematic for surface street driving, they are generally not showstoppers: you can always instruct your fleet to take an alternate route while the map is getting updated. For self-driving long-haul trucks, however, the highway is the only way to reach the destination.
Knowing these issues, we knew we needed to take a different approach, one that is purpose-built for trucks driving on highways. Instead of relying on traditional HD maps, we built the Kodiak Driver to use a novel sparse map architecture that forgoes the hyper-detailed information common in the industry.
Sparse maps are the right foundation for the Kodiak Driver because they give our trucks the flexibility they need to navigate ever-changing highways. Instead of including every detail about the driving environment, sparse maps contain just enough information about the highway to make autonomy possible: geometric information like the location of lane boundaries, topological information like road connectivity, and semantic attributes like speed limits.
By being deliberate about only including what we need in our maps, we reduce our exposure to changes in the world. In other words, with less information in the map, there is less information that can be wrong. Also, since our sparse maps contain no extraneous information, it’s much easier to see when things have changed — discrepancies pop out much more clearly than they do on a map that contains tons of information. This makes the Kodiak Driver more robust to changes in the real world than HD map-based systems.
Unlike HD maps, which require specialized vehicles and many hours to create, sparse maps are easier to build and maintain even without large, dedicated mapping teams. When we do detect changes to a highway, we can update the map easily using data from our regular, production trucks (no specialized mapping vehicles required). Because the maps are so small (just kilobytes per mile), we can then ship updates to the entire fleet over-the-air (and we do this almost every day). This is a critical advantage for a fleet that needs to navigate highways safely.
When the ghosted yellow truck sees a construction zone, it updates its map in real-time, giving the red truck that follows a few minutes later warning to change lanes.
A final benefit of using sparse maps is that they force you to treat maps the way they should be treated: as a useful source of information, not ground truth. When our map is wrong, the Kodiak Driver does what a human would do: it trusts its eyes, not its memory. At Kodiak, we call this perception over priors: the Kodiak Driver treats the map as just one of many inputs, and can detect when it does not match reality. In those cases, we can build a map on-the-fly that is good enough for the Kodiak Driver to drive safely until the map matches again. Had we relied on HD maps everywhere in our system, we would need to build HD maps in real-time — a considerable challenge.
Now that Kodiak has started making disengage-free deliveries, we think the superiority of Kodiak’s sparse mapping architecture speaks for itself. Sparse maps make the Kodiak Driver robust to the inevitable changes in the world, enable rapid map creation and deployment, and give us the flexibility necessary for solving the most complex challenges in autonomous driving. With such strong technical foundations, the Kodiak Driver has what it needs to go the distance.
Safe and sound journeys!