TensorFlow is the main deep learning library we are using in the Udacity Self-Driving Car Engineer Nanodegree Program, and it’s been a little bit painful because of the lack of Windows support.
We’ve had to work with our Windows users to set up Docker containers in which to run TensorFlow, and frankly we haven’t done as good a job with that as we should.
Deep neural networks actually have quite a long history of powering self-driving cars. Way back in the 1980s, researchers at CMU used a basic two-layer neural network to power a truck.
We almost covered ALVINN (Autonomous Land Vehicle in a Neural Network) within the Deep Neural Networks module of the Udacity Self-Driving Car Nanodegree Program, but we cut it for time.
Recently, Udacity’s work on neural networks and self-driving cars has reminded people about what a breakthrough ALVINN was.
This proto-driverless vehicle [ALVINN] came up recently in a Twitter discussion between two engineers: Oliver Cameron, who heads an open-source self-driving car project at Udacity, and Dean Pomerleau, a CMU professor who ran the self-driving car project that gave birth to ALVINN. Cameron tweeted a video shared by some of his students of a car steering itself autonomously using only a camera.
This prompted Pomerleau to ask a few questions about deep learning and neural networks. After some back and forth, Pomerleau brought up ALVINN, which had an operating system of 100 million floating point-operations per second, or about one-tenth the processing power of the Apple Watch. The vehicle’s CPU was the size of a refrigerator and was powered by a 5,000 watt generator, he added. Nonetheless, ALVINN was able to hit 70 mph by the early 1990s.
Yesterday, I drove from my in-laws’ house in Sacramento, up into the mountains to go cross-country skiing near Lake Tahoe. It was a lot of fun! The snow was surprisingly good for November.
The drive down was a spectacle, though. Snow was starting to come down and the Interstate highway leading down from the mountains turned into a parking lot. Cars got stuck and stopped in the middle of the highway to put on snow chains. It became impossible to see where the lane lines were.
This got me thinking about what a mess driving in the snow can be, and all the more so for self-driving cars. Sensors like cameras and lidar can become mostly useless in the snow, which completely changes the physical surface of the road.
This technique uses VHF radar to scan through the surface of the road and down to subterranean elements. Supposedly, similar techniques are used by archeaologists.
Obviously, the below-ground composition of the earth doesn’t change with the weather. So if a vehicle can map the ground underneath the road once, then it can come back later and figure out where it is, even in a blinding snowstorm.
Happy Thanksgiving! At least for those of us living in the United States.
I have a lot to be thankful for this year. A new son, a wonderful family, friends, a great job working in a field that I love with a terrific team.
Nothing’s ever perfect (which, for example, is why my wife is giving me dirty looks while I edit Udacity lessons after Thanksgiving dinner), but it’s been a great year for me.
It’s been a pretty good year for the autonomous vehicle industry, too.
Production trials with real customers in Pittsburgh and Singapore
Tesla Autopilot is only a year old (!)
Ford is growing its autonomous vehicle team by multiples
Huge acquisitions of Cruise and Otto
Maybe at this time next year I’ll be thankful for my very own self-driving car 🙂
A couple of people wrote me today to ask for career advice. In both cases, they were really excited about working on self-driving cars and they had been offered jobs in the automotive industry. The jobs involved big pay cuts and were imperfect in other ways.
I tried to offer specific advice to each person, but after I fired off my two cents, I reflected back on some advice I received myself, several years ago.
I went to a talk with Marketplace radio host Kai Ryssdal, only because my wife has a crush on him.
But Kai turns out to have a pretty interesting life story. He flew planes for the US Navy, then worked in China with the US Foreign Service, and then wound up as an unhappy 34 year-old civilian shelving books at Borders while his wife was in grad school.
He had an interest in journalism, but no experience, so he applied for an unpaid internship with a San Francisco radio station.
One thing led to another, and eventually he became a (minor) national radio celebrity.
Never say no. If someone says, “Can you come in on Sunday and go to Chinatown to get us some tape for the Monday broadcast,” you have to say yes. And that goes now more than ever in journalism, when it’s so hard to find really good work. If you have an opportunity, you absolutely have to grab it.
This was pretty important career advice for me personally, as it really helped push me into the opportunity I was offered at Ford. And my wife was supportive because, after all, Kai Ryssdal basically told me to take the job.
Another version of Kai’s fascinating life story is here, although he doesn’t drop the “you have to say yes” line:
Chris Anderson has a great collection of links to articles, and classes, and communities related too autonomous car racing. But really, this would useful to anybody thinking about autonomous vehicles in any context.
I participated in an interview last week in which Alexy Khrabrov asked me about my vision for the next year in self-driving cars.
My guess is that over the next year we will start to see lots of cities crop up in which it is possible for a normal person to catch a ride in a self-driving car.
As far as I know, this is only possible right now in Singapore — where nuTonomy is running its self-driving taxis — and Pittsburgh — where Uber is running self-driving cars. (There are other locations with very restricted self-driving vehicles — like autonomous buses running on short, fixed routes.)
So that brings the number of cities to three. It’s not hard to imagine similar programs in San Francisco and Mountain View (Google), Detroit (Ford, GM, Delphi), Stuttgart (Mercedes), Munich (BMW), and London (Delphi).
Hopefully imagination will become reality in 2017.
An interesting angle on autonomous vehicles that was recently pointed out to me is the rise of vehicles with no passenger whatsoever.
This seemed obvious as soon as somebody spelled it out, but I had never really dwelt on the ramifications.
Commercial transportation often has two components: a cab and a trailer. The purpose of the cab is to provide power and (human) control, while the trailer contains the load.
With autonomous vehicles, human control is no longer necessary and I can imagine removing most of the cab. Basically what we wind up with is autonomous shipping containers.
Imagine a long stretch of rural highway where most traffic consists of self-driving shipping containers with no humans in sight. It’s kind of a wild vision.
We have been using tmux a lot at Udacity, and it is terrific for remote pair programming.
I learned about tmux years ago, but my use of it has waxed and waned depending on circumstance.
At Udacity right now, we have a developer in Toronto, another in Chicago, and then the rest of us bounce around between Mountain View, San Francisco and wherever we live. tmux lets us work on the same code together, which is a godsend.
If you’ve never used tmux, it serves two primary functions. (Actually, it probably serves a lot of functions, but I use it for two functions.)
One, tmux allows me to open multiple panes in a terminal. So instead of having to switch back and forth between terminal tabs, or open and close a file to get back to the command line and run it, I can just divide the terminal in two. I leave my file editor (vim) on one half of the page and my command-line on the other. A keystroke lets me bounce back and forth.
But the real value of tmux is in its other function — pair programming. Two different developers, working in different parts of the world, can log into a machine, attach to the same tmux session, and pair program. When Cameron’s in Chicago and I’m in California, we can both type into the same vim editor at the same time. I love it.