Chapter 5. Creating a Self-Driving Car

The two simulations you’ve built so far have been fairly abstract concepts—balls that roll around a plane in a void, cubes that push other cubes around, and such—but simulation for machine learning is genuinely, practically useful (we promise). In this chapter, we’re going to make a very simple self-driving car in Unity and train it to drive using reinforcement learning. It’s not going to be practical in the sense that you can load up the ensuing trained model into a real, physical car, but it demonstrates that what you can do in a simulated environment can go beyond the abstract.

Your time has come! You basically, for the good of the world, are going to build your own self-driving car (Figure 5-1).

psml 0501
Figure 5-1. The self-driving car on its track. In his yurt. With his iPad.

Our self-driving car is only going to exist in a beautiful void of its own, instead of the pesky real world—so we get to avoid all those nasty ethical quandaries, such as what to do if there’s a human in front of us (we’ll tackle that, a little bit, later in the book).

Our car is going to learn how to drive, and not much else. Ready?

Creating the Environment

The first thing we need to make is the beautiful void our car exists in. It’s going to consist of a few things, the most important of which is the track the car will navigate. After we build the track, we’ll create ...

Get Practical Simulations for Machine Learning now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.