Waymo is pressing on with its goal of getting self-driving cars on the road, and today it has revealed a little bit about what that goal constitutes. James Stout, lead software engineer at the Alphabet-owned company, has written a blog post about how it uses simulation to teach the cars how to drive in the real world.
Waymo says that each day its fleet of 25,000 virtual cars drive over 8 million miles -- that's 320 miles per car -- and use this extensive experience to improve the self-driving software Waymo uses in real life. A simulation, Waymo says, can provide a lot more learning than the real-world can; its cars can test out new things and make mistakes while not endangering anyone or damaging property. This is similar to a process OpenAI uses to train robots in VR and then have them carry out the same action in real life. (See OpenAI Teaches Robots Using Single Demonstrations in VR.)
Waymo trains its cars in a piece of software it has developed, named Carcraft. Image: Waymo
In the blog post, the company uses an intersection in Mesa, Ariz,, which has a flashing yellow arrow that permits cars to turn left. Humans struggle with this turn due to the precise timing needed to make it successfully -- "Drivers must carefully move into a five-lane intersection and then find a gap in oncoming traffic. Turning left too soon may cause a driving hazard for oncoming traffic; making the move too late may mean frustrated drivers behind," says Stout in the post. The self-driving cars also struggle, but using an exact replica of the intersection in a virtual world has taught the cars how to successfully make the turn.
There are four steps to this process. First, Waymo builds a highly detailed version of the intersection in the virtual world, with identical lanes, curbs, vehicles, cyclists and pedestrians, plus traffic signals such as the flashing yellow arrow. Next, the cars endlessly drive through the intersection in this virtual world, making mistakes until the system can do it perfectly, inching forwards and waiting for a gap before slotting in behind the oncoming traffic.
A virtual car preparing to make the tricky left-hand turn in Mesa, AZ, with a real-life counterpart in the same position below. Image: Waymo
The traffic and signals are then modified, providing a potentially more difficult intersection for the virtual cars to navigate. This is called fuzzing, and means the engineers can modify vehicle amounts and speeds, and add (or remove) cyclists, pedestrians or even motorcycles. These are much harder for software to navigate because they can be very unpredictable.
Finally, Waymo says it validates this virtual testing by taking a real-world car out onto the road to see if it can successfully navigate the intersection. Once the skill is achieved, it is put into the system's permanent knowledge base, which all cars in the network can access.
Autonomous vehicles are quickly becoming a reality, and applications such as Waymo's virtual training ground help to get its cars ready for mainstream use. Don't be surprised to see self-driving cars on the streets in the next few years as we inch closer to an ever more autonomous future. (See Google's Waymo Could Be Worth $70B by 2030 – Analysts.)