DIY Robocar Meetup

This weekend I went to the DIY Robocar Meetup in Oakland, which is an awesome event if you’re excited about autonomous vehicles.

Lots of people gather in a warehouse of a day of hacking on miniature autonomous vehicles, and the day is capped off by a time trial.

I went to watch and to get my son out of the house so my wife could have the day to herself, but it was fun to meet lots of Udacity students who were participating.

Mr. Evan

All of them attested to how much they were learning by putting their skills to use on actual embedded hardware that had to run in realtime.

There are several of these Meetups springing up around the world, and there are even a number of kits you can buy to get up and running quickly. So if you are interested in the field, consider trying it out! And if there’s not a similar event near you, maybe you can start one 🙂

Here’s the second-place car for the weekend:

Amazon and Whole Foods and Self-Driving Cars

News broke today that Amazon will be acquiring Whole Foods for $13.4 billion.

There are a lot of interesting angles here, but of course I’m particularly interested in the autonomous vehicle angle.

Amazon has generally been wildly successful (understatement?), but it has had a hard time cracking the grocery market.

“…the e-commerce giant has long wanted to figure out the online groceries game. It started testing delivery concepts in August 2007, when it unveiled Amazon Fresh — delivering produce and pantry staples through its fulfillment centers. Yet even after a decade — eons in Silicon Valley time — it’s still trying. Turns out, the instant gratification business doesn’t quite work with fresh food.”

Forbes goes on to talk about the difficulties inherent to grocery retailing:

“A lot of the stuff you buy in a grocery store spoils easily, which means you have to get them home quickly — plus, someone has to be there to receive the goods. That can be tricky, given how Amazon likes to optimize delivery routes and bundle items to maximize efficiency.

This is precisely where self-driving cars come in. Optimizing delivery routes and bundling become drastically less important when the marginal cost of a delivery plummets by 50% or more.

AmazonFresh Pickup and Amazon Go are new spins on the grocery store, but neither of them seems particularly disruptive — more like a new spin on an old model. And the cognitive load of switching to a new commerce model might not be worth the relatively small benefit.

A deliver-groceries-to-me-right-now service, though, seems like it could make a lot of people think twice about piling into the car to go to Safeway.

3 Approaches to Vehicle Detection and Tracking

Three Udacity students each took different approaches to vehicle detection and tracking — some using deep learning and others using standard computer vision. Here’s what they learned!

Vehicle Detection and Tracking

Ivan Kazakov

Ivan has a terrific writeup of how to use deep learning for vehicle detection. He builds a model based on Faster-RCNN, but smaller and faster.

“The main idea is that since there is a binary classification problem (vehicle/non-vehicle), a model could be constructed in such a way that it would have an input size of a small training sample (e.g., 64×64) and a single-feature convolutional layer of 1×1 at the top, which output could be used as a probability value for classification.”

Udacity Self Driving Car Engineering Project 5 — Vehicle Detection

Martijn de Boer

https://www.youtube.com/watch?v=7h1iv-9sqys

Martijn uses a HOG and SVM approach to build a vehicle detection pipeline. He encountered some issues with noise and finds a creative solution.

“I was advised do try Hard Negative Mining to train my model more accurate, so I captured multiple images of the shadows / threes and added them to the non car image dataset. (to classify them among the non-car classes instead of the car classes)”

Automatic Vehicle Detection for Self Driving Cars

Priya Dwivedi

Priya uses a HOG and SVM approach to vehicle detection. By combining those with a threshold over time, she achieves great performance. She discusses some of the tradeoffs, however.

“Firstly, I am not sure this model would perform well when it is a heavy traffic situations when there are multiple vehicles. You need something with near perfect accuracy to avoid bumping into other cars or to ensure there are no crashes on a crossing. More importantly, the model was slow to run. It took 6–7 minutes to process 1 minute of video. I am not sure this model would work in a real life situation with cars and pedestrians on the road.”

The Apple Car (System?)

One of the big open secrets in the autonomous vehicle world is Apple’s development of a car. Apple has refused to publicly acknowledge this, however, to the point that engineers widely believed to be working on the Apple car have just removed their LinkedIn profiles.

Apple CEO Tim Cook just recently opened up about this effort, a smidge, to Bloomberg.

While maintaining a determined poker face about exactly what they’re building (is it a car? an automotive operating system?), Cook talked about the convergence of autonomy, electrification, and ride-sharing.

In a very short discussion, he seems to emphasize two points. One is the importance of electrification, which perhaps points to Apple building a physical product. The other is the application of autonomy beyond cars. Maybe Apple drones are next.

Washington DC DIY Robocar Meetup

Thanks very much to Juan and Antonio and Mapbox and the Washington DC DIY Robocars Meetup, who hosted me for a short presentation about the Udacity Self-Driving Car Nanodegree Program, followed by a great Q&A session.

We covered everything from deep learning, to the SAE automation levels, to safety and security, to public policy. There were lots of great questions and it was lots of fun.

Juan and Antonio rigged up a lightweight video recording from a laptop webcam, and I think it came out surprisingly well. Feel free to watch below.

Lyft’s Autonomous Ridesharing Platform

nuTonomy is partnering with Lyft to launch self-driving cars in Boston this year.

While nuTonomy has been targeting self-driving cars in Boston for a while, this is great news for Lyft. Lyft continues to expand its platform as a provider of ridesharing infrastructure, while letting other companies figure out the actual autonomous technology.

Lyft turned its much-smaller-than-Uber size to its advantage here, by credibly committing not to develop autonomous vehicles. That presumably makes it a more attractive partner than Uber, which is developing its own self-driving technology and thus might have conflicts of interest.

I am on-record as a vocal supporter of Uber ATG, whose staff have been terrific partners for the Udacity Self-Driving Car Nanodegree Program. But it also seems likely that all of the negative news coming out of Uber this year might be causing other companies to second-guess partnerships or vendor-supplier relationships with Uber. Of course, that redounds to Lyft’s benefit.

Lyft, through a combination of using a presumed weakness to their advantage, and through avoiding unforced errors, is having a pretty great 2017.

How to Guides from Udacity Self-Driving Car Students

Here are some great how-to guides from Udacity students! Everything from how to find a job to how to build a self-driving (minature) car 🙂

Becoming a Self-Driving Car & Machine Learning Engineer

George Sung

George landed a job working on deep learning with BMW’s autonomous vehicle team in Silicon Valley! His stats on the hiring funnel are instructive for anybody interviewing in software, and especially in this industry.

“I had 9 interviews out of my ~90 job applications, i.e. around 10% of applications lead to interviews. In my mind this was a pretty good conversion rate. Out of those 9 interviews, 4 of them lead to final-round interviews: 2 final-round interviews for full-time jobs, 2 final-round interviews for internships. I did well on those 4 interviews as they all lead to offers.”

How I Landed My Dream Job Working On Self-driving Cars

Galen Ballew

Galen got a job working on autonomous vehicles at HERE’s Boulder, Colorado, office! It’s also a great example of how being flexible about roles (Galen is starting on the DevOps team) can help you get a foot in the door with autonomous vehicle teams.

“Mathematics is a wonderful thing, but it’s not very career specific. Just a few months after graduating, I made two very important decisions: to enroll at Metis and to enroll in the Udacity Self-driving Car Engineer Nanodegree (SDCEND). Both of these were instrumental in my career path, but the Udacity SDCEND was critical.”

Ubuntu + Deep Learning Software Installation Guide

Nick Condo

In the Udacity Self-Driving Car Nanodegree Program, we provide an AWS AMI for utilizing NVIDIA GPUs for accelerating deep learning. We don’t, however, explain how to set up this software on your own machine. Probably we should do that. In the meantime, Nick has this terrific guide.

“There are a number of good installation guides out there — particularly this one from floydhub that much of this is based on — but I found myself having to dig through many different resources to get everything installed properly. The goal of this article is to consolidate all the necessary resources into one place.”

How I use Docker for Robotics Development

Jari Safi

“ros skillz pay Jari’s billz”, and here he walks through how to get ROS set up using the Docker virtual environment.

Image: This is essentially the “installation” of something that you want to run using Docker. An image contains all the data necessary to run containers. Images are hierarchical and a new image that shares information with an older one will not reproduce this information and instead just re-use it (i.e. if you have two Ubuntu based images with different software installed, they will both refer to the same base Ubuntu image rather than copy its contents). This is what people mean when they say that Docker’s filesystem is layered.”

Building Self-Driving RC Car Series #1 — Equipment & Plan

Yazeed Alrubyli

This is the first part of Yazeed’s multi-part series on how to build a deep-learning powered miniature autonomous vehicle. Super cool!

“I decided to build my first self-driving car, I mean RC Car 😅 . I think I already have the knowledge and tools to start crafting my RC’s future.”

Visiting Japan

Last week I was in Japan, meeting with Udacity students and with Japanese automotive companies. It was a lot of fun, and it was exciting to see the work that Japanese automotive companies are putting into autonomous vehicles!

Japan is home to a dozen large automotive manufacturers: Toyota, Honda, Nissan, Subaru, Mazda, and more. Supporting these manufacturers are large and small suppliers, providing Japan the third-largest automotive industry in the world.

Japan’s automotive market is more dispersed than America’s, both organizationally and geographically. Whereas the US automotive industry is centered around Detroit, the Japanese automotive industry is spread all over the country. This gives the Japanese economy a little bit of a Detroit-like feel; not everybody works in the automotive industry, but a lot of people do.

Localization (in the language sense, not in the lidar sense) is a big challenge for bringing the Udacity Self-Driving Car Nanodegree Program to Japan. English is not widely spoken in the country, but it seems to be more prevalent among software engineers, who need to at least read English to participate in cutting-edge projects and research. So in that sense, Self-Driving Car has an easier time than, say, Udacity’s Introduction to Programming Nanodegree Program.

One thing that really struck me in meeting with Udacity students in Japan is how important the Udacity student network can be. We hosted about 30 Self-Driving Car students in Tokyo, some of whom already worked in the automotive industry and some of whom were trying to break into that field. The students in the field were eager to connect with newcomers, particularly in a relatively small community of Udacity students.

That’s been one of our goals for the program since the beginning, that as Udacity students get jobs working on autonomous vehicles, they’ll want to pull in other Udacity students. It was fun to see that in operation in Tokyo.