How Do You Stop a Self-Driving Car?

When in doubt, use scissors.

* Open one door to prevent the self-driving car from moving
* Break a window if doors are locked and immediate entry to the vehicle is necessary
* Call Waymo to unlock the doors remotely if there is time
Keep at least one door open until the vehicle engine is turned off (Step 7) or 12V Cut Loop under the hood is cut (Step 8)

There are several more options that require scissors, with pictures, all for emergency responders.

Rural Self-Driving Car from MIT

A research team from MIT built a self-driving car to operate on rural roads, without the need for high-definition maps. HD maps are one of the big limiting factors for self-driving cars, which need the maps in order to localize themselves on the road with near-exact precision.

Unfortunately, HD maps are super-expensive to build and maintain, so any progress on this front is a big deal.

The MIT project, MapLite, uses a combination of open-street map data and lidar data to navigate through unmapped environments. Instead of trying to build a map as it goes (a technique known as “simultaneous localization and mapping”), the vehicle merely uses lidar to identify flat, drivable surfaces, and then identifies a viable trajectory to reach its next waypoint.

All of this seems pretty straightforward, but what really struck me was a seemingly obvious thing they mention in the PR writeup.

“I imagine that the self-driving cars of the future will always make some use of 3-D maps in urban areas,” says [MIT graduate student Teddy] Ort. “But when called upon to take a trip off the beaten path, these vehicles will need to be as good as humans at driving on unfamiliar roads they have never seen before. We hope our work is a step in that direction.”

I had always kind of assumed that vehicles relying on HD maps would be a stuck within their geofences, but of course that’s not necessarily the case. A vehicle could use HD maps in urban areas, and then a non-HD map system in other areas. And of course there could be segments of the world in which neither approach is viable and thus those areas would be completely off-limits (until the mapping gets done, say).

Totally obvious when I write it down, but not something I had ever quite pieced together on my own.

Bangalore Traffic and Self-Driving Cars

I’ve been in Bangalore, India, for the last two days and it has been a delightful trip. The traffic here is fiercesome, though. Even within India, Bangalore has a reputation for congestion on the roads.

Many of the Indians I’ve spoken with look at the traffic here and express skepticism that self-driving cars will ever come to India, or at least any time soon.

I suspect self-driving cars will arrive in India sooner than people expect, though. The key will be that the first experiments will start just as they did in the United States: in locations chosen specifically for their ease of driving.

For years, self-driving cars in the US only operated in Silicon Valley and Las Vegas. And there was a reason for that. Those locations are flat and sunny, and the streets are rectilinear. Even now, Waymo’s first public rollout is in Phoenix, which is flatter, sunnier, and more rectilinear still.

Something similar will happen in India. Self-driving cars won’t come to Bangalore first — that would be crazy. They’ll come first to private campuses and controlled-access public roads with good pavement and markings, where the challenge of getting self-driving cars to work will be more manageable.

Over time, self-driving cars will expand their footprint, in India and elsewhere, but there will be learning curve. Just as self-driving cars in the US have now reached Detroit and Pittsburgh and even Boston, eventually self-driving cars will get to Bangalore.

But you have to crawl before you can walk 😉

Meet Me in Bengaluru (and Delhi!)

Virat Kohli is meeting us in Bangalore, too. (Just kidding.)

I am excited to travel to India for the first time tomorrow! I’ll be visiting Bangalore, Mysore, Chennai, and Delhi.

My colleagues at Udacity India are helping us to host two student events while I am in India.

On Sunday, May 6, we will be holding a Self-Driving Car Networking Event at 91springboard in Bengaluru from 11am to 1pm. Please come to say hello!

And on Friday, May 11, there will be another Self-Driving Car Networking at the Udacity India office in Delhi.

If you are a Udacity student or graduate, I hope to see you at one (or both, if you are ambitious!). And I am excited to experience India!

Update: I had the day of the week wrong for our event in Bengaluru. That will be on Sunday, not Monday.

Lyft Hiring Challenge

Lyft is serious about self-driving cars. Last fall, they announced they were funding 400 scholarships for Udacity’s Intro to Self-Driving Cars Nanodegree Program, with a focus on increasing diversity in the autonomous vehicle industry.

Today, Lyft and Udacity announced the Lyft Perception Challenge to identify top Udacity students to interview for positions on Lyft’s Level 5 self-driving car team.

The project requires students to use computer vision techniques to identify and locate vehicles on the road. These are the same skills taught in the Udacity Self-Driving Car Engineer Nanodegree Program. We are excited to see what students develop even above and beyond what we teach in class!

Udacity Self-Driving Car students and alumni are invited to participate. The top 25 students with US work authorization will earn interviews with Lyft’s team. The top 150 candidates from around the world will be invited to special interview preparation workshops with Udacity’s Career Services team.

Our goal on the Udacity Self-Driving Car Team is to help connect as many students to jobs as possible. We are excited to be working with Lyft to achieve that goal and make self-driving cars a reality for everyone.

Automotive Collisions in the Combat Zones

Supply & Demand Chain Executive (I confess I did not previously know such a publication existed — did you?) has a brief story that the military is interested in autonomous vehicles.

No surprise there. After all, it was the DARPA Grand Challenge that kicked off the autonomous vehicle revolution.

But this line struck me:

“According to [Undersecretary of Defense Michael] Griffin, 52 percent of casualities in combat zones are attributed to military personnel delivering food, fuel and other logistics.”

The post doesn’t break out what portion of those causalties come from logistics personal who are attacked, versus just plain old vehicle collisions. But it’s plausible that a lot are due to collisions that don’t involve troops being directly under attack.

It’s kind of like the statistic that more Civil War soldiers died from disease than enemy combat. Sometimes it’s the things we don’t think about that are the most dangerous.

Udacity Alumni Network

One of Udacity’s big initiatives this year is to build our alumni network. Udacity has tens of thousands of graduates around the globe, and our goal is to help our alumni advance their careers in whatever direction they choose.

To that end, the Udacity Alumni Network has a calendar full of career-focused online events coming up. Over the next month alone, our Careers & Alumni teams will host:

Check out the full calendar on Eventbrite 🙂

Test-Driven Development for Autonomous Vehicles

My friends and former colleagues at Voyage have released their self-driving car testing process as an open-source repository on GitHub.

Their website also includes concise explanations of the core features:

The framework is currently modest, as expected for a first release, but helpful. And the point of the exercise is to engage the self-driving car community in building out a robust, open-source solution to autonomous vehicle testing.

What gets me really excited about this is the potential to create a path toward test-driven development for autonomous vehicles.

The Ruby on Rails world, which was my world for years, is fanatical about testing. They love testing so much. One of Rails’ engineers most beloved development principles is Test-Driven Development.

TDD is the process of designing and developing your code using tests first. The mantra “red-green-refactor” is familiar to any Rails engineer, as TDD requires:

  • Writing a test case
  • Verifying that the application fails the test case (red)
  • Writing the application code to pass the test case
  • Watching it pass (green)
  • Fixing and improving the application code (refactor)
  • Verifying that the application code still passes the test case

Rinse and repeat.

I loved this cycle as a Rails engineer and I love the idea that a public testing framework for autonomous vehicles could provide a red-green-refactor cycle for autonomous vehicle developers.

Take a self-driving car scenario. Watch the virtual driver software fail. Write the code to pass the scenario. Watch the virtual driver pass. Refactor. Verify that the virtual driver keeps on passing that test case forever.

Of course, we don’t need a public, open-source testing framework to do this. Any self-driving car engineer anywhere can use TDD by themselves. But a public test suite would take a lot of the work out of TDD, by pre-specifying the hurdles that developers need to clear.

Hopefully that would lead to safer self-driving cars, sooner.

Didi in the News

Didi Chuxing (a Udacity partner, ahem) has been in the news on a few fronts this week, and will probably show up a few more times with the upcoming Beijing Motor Show this week.

On the more traditional, human-driven, ride-hailing front, Didi is moving into Mexico, with a new office in Toluca. This seems ever-so-close to the lucrative US market, currently dominated by Uber and Lyft.

In the world of self-driving cars, Didi recently made two big announcements: they are developing “purpose-built” autonomous vehicles, and they are forming the Didi Auto Alliance (“D-Alliance”) to “ develop a full-capacity vehicle operator platform”.

Building a self-driving car from scratch seems like a pretty big deal to me. Tesla is famously struggling with the challenges of manufacturing a car, and even automotive manufacturers like GM/Cruise are basically re-purposing existing vehicles into self-driving cars.

By contrast, Didi believes:

“…current mainstream cars are heavily “overspecced” — packed with equipment most drivers do not need such as engines and other technologies that allow them to go as fast a 150 mph (250 kmph).

Performance levels for ride-hailing and car-sharing service vehicles could be dialled down significantly, meaning they would not have to be so aerodynamic. Cars designed to carry just one or two people at a time to work or the shops could therefore be “boxier”, with fewer seats and more space for luggage.”

I’m excited to see what Didi comes up with for its “purpose-built” self-driving cars. Big risk, big reward.