The Kodiak Driver, and how Kodiak’s technology is optimized for self-driving trucks operating on the “middle mile”.
I’ve spent the last seven years building self-driving vehicles. My experience during this time has convinced me that people are asking the wrong question about self-driving vehicles. The key question is not so much when the first self-driving vehicles will be on the road at scale, but where.
Despite tremendous technological strides, we’re still a ways off from being able to build robots that can drive equally safely across the full range of on-road driving environments, or what the industry calls Operational Design Domains (ODDs). There are two reasons for this. First, today’s self-driving technology is better able to navigate highways than city streets. As great as cities are, they are tough for computers to understand: pedestrians, bikes, and pets can be unpredictable. Highways, on the other hand, contain far fewer of those more complex variables, and therefore easier for computers to navigate.
But it’s not enough to just choose a relatively simple driving environment. People understandably assume that all self-driving vehicles have similar underlying technology, but in fact there are a lot of different approaches. The hardware and software decisions you make throughout the development process — from where to place your sensors to how you design your perception system to how your vehicle places itself in the world — have a huge impact on the environments where your vehicles perform the best. This means that self-driving developers need to balance tradeoffs: some technologies optimized for city driving necessarily are less effective on highways, and vice-versa.
Put these two factors together, and you’re left with an inevitable conclusion: that the first self-driving vehicles on the road won’t be general-purpose driving systems, but will be highly optimized for relatively simple ODDs. Some of these vehicles will be optimized for specific areas, like parking lots, or even entire neighborhoods or cities. Others will likely be last-mile delivery vehicles, designed to bring people their packages and groceries. But by far the biggest market for limited-ODD self-driving vehicles will be long-haul trucking.
We’ve built Kodiak Robotics specifically around this belief, focusing on self-driving long-haul trucks, highly-optimized for structured highway driving. For the foreseeable future, the Kodiak Driver will only be able to drive on highways — what we call the middle mile — and will depend on traditional human drivers for first-mile pickup and last-mile delivery. In The Kodiak Safety Report, we describe some of the steps we’ve taken to optimize the Kodiak Driver for the middle mile, and discuss how we’ve rethought some of the foundational technologies underlying self-driving vehicles, to further optimize them for highway routes. I wanted to use the occasion of the Kodiak Safety Report’s publication to further detail our unique approach.
Built for trucks
To start, we’ve optimized our hardware program specifically around the needs of 18-wheelers, which are built to run for a million miles, while hauling tens of thousands of pounds of freight. Because we know our trucks will run virtually 24/7 for years, we can buy the best hardware components available, without worrying too much about the upfront costs. Additionally, we carefully designed our sensor configuration and layout specifically for the size and shape of big rigs. This configuration includes designing our custom, patent-pending sensor and mirror pods that give us a full view of what happens around our truck, while minimizing the vibrations that can impact sensor readings.
We’ve also optimized our software systems specifically for trucks. Our motion-planning and controls systems are designed specifically for trucks, which drive with and without trailers, and with a variety of loads and weights. We optimize our driving for safety, not comfort: paper towels don’t care if they get jostled a bit, whereas a rideshare passenger expects a smooth ride.
Built for the middle mile
We’re not just optimizing the Kodiak Driver for trucking, we’re also optimizing it for middle-mile operations. As described above, highway driving is fundamentally different from city driving, and the technology optimizations that allow a self-driving vehicle to perform well on city streets can be detrimental on highways.
Perhaps the most radical difference between the Kodiak Driver and a city-focused driver is how the Kodiak Driver uses maps. Many self-driving systems depend on highly detailed maps, created over the course of dozens of mapping runs, to place themselves in the world: the self-driving system compares sensor data to detailed maps to determine the vehicle’s location.
We believe that Kodiak’s highway-only, middle-mile driving environment requires a different approach to localization. Most drivers rarely notice it, but highways actually change relatively frequently and rapidly due to construction, road conditions, and other factors. A construction project can start overnight and shut down a lane with little or no notice, then finish just as quickly. To be able to drive on highways, therefore, the Kodiak Driver must be able to localize itself even when its map doesn’t reflect what it’s seeing on the road.
Given this constraint, we’re building the Kodiak Driver so that it can drive safely without maps, but can utilize maps in order to improve performance. Instead, the Kodiak Driver takes the more flexible approach of localizing the truck with lane markings and other perceivable cues. If the Kodiak Driver’s perception conflicts with its pre-built maps, the Driver is smart enough to trust what it sees. We call this approach perception over priors — i.e. that the Kodiak Driver trusts its eyes, not its memory, and we believe it represents a significant step forward for the AV industry. When the Kodiak Driver does detect a new construction zone or other traffic shift, we can update our maps in real-time, and share the new maps with the rest of the fleet over-the-air.
Kodiak’s perception over priors approach does not mean we intend to operate the Kodiak Driver in unfamiliar environments: mapping is still a critical part of our operations. But having the ability to operate even when construction springs up overnight means that the Kodiak Driver has the flexibility it needs to safely drive on ever-changing highways.
In addition to our perception over priors mapping approach, we’ve made dozens of other optimizations for our highway ODD.
- We’ve designed our computer to make complex decisions safely at highway speeds
- We’ve designed our motion planner to consider multiple possible actions in parallel
Planning for uncertainty
In addition to all our optimizations for trucks and for the middle mile, we’re also building the Kodiak Driver to robustly manage the uncertainty inherent in driving. This focus on managing uncertainty begins with the Kodiak Driver’s perception system, which we’ve built to be tolerant of the often less-than-perfect measurements that can happen in the real world.
Over the past decade, most self-driving systems have been built as “LiDAR-first” — this means that they use LiDAR as the primary sensor, then layer-in other sensors to compensate for LiDAR’s limitations. For example, they may use cameras to detect brake lights, or radar to compensate for LiDAR’s lower effective range in the rain.
Our experience building self-driving systems has led us to take a fundamentally different approach. Instead of building around a primary sensor, the Kodiak Driver treats all its sensors as primary, taking into account the unique properties of each. Our perception system processes every sensor measurement through multiple detectors, which are software tools that process sensor data to identify what and where potential objects are. Using multiple sensors and detectors is highly diverse and redundant: having multiple sensors and detectors working in parallel can help us determine with high probability that objects will be detected.
This focus on managing uncertainty continues through to our planning system. When the perception system is less than fully certain about what it sees, it tells the planner to be cautious, taking into account the best- and worst-case scenarios. For example, in an uncertain situation the planner may choose to maintain a longer following distance or may decide to avoid lane changes. In essence, Kodiak has created a system that drives defensively when the situation calls for it, just like a person would.
What comes next
Over the next several years, of course we’ll continue to improve and build upon the Kodiak Driver, going further and further between interventions while optimizing the system even more for the middle mile. We’ll also continue the difficult but critical work of building our safety case, our comprehensive argument that our trucks are safe. This safety case will depend on multiple streams of analysis: from driving real-world miles to simulation to a functional safety analysis. I couldn’t be more excited about how much ground we’ve covered, and where we’re going to go.
Alongside the release of our 2020 Safety Report, we’ve crafted a series of Medium posts that explain how we’re safely making self-driving trucks a reality.