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:
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. Theylovetestingsomuch. 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 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.
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.
To try and answer this question, I’ll begin with a story. In October of 2016, Udacity welcomed the first class of students into our Self-Driving Car Engineer Nanodegree program. Since that historic debut, we have been delighted to enroll over 11,000 students around the world in this program!
Along the way, we learned that while people across the globe were thrilled at the prospect of being able to work on autonomous vehicles, not all of them were equipped to do so—many of them needed additional training to get ready for the rigors and challenges of our curriculum.
In order to provide a viable point-of-entry for these eager learners, we built the Intro to Self-Driving Cars Nanodegree Program, and welcomed the first class of students at the end of 2017. This “Intro” program prepares students with the fundamentals in Python, C++, calculus, linear algebra, statistics, and physics that are necessary to become a Self-Driving Car Engineer.
Both Nanodegree programs are paths to a career in the self-driving car field, but the goals of each program are distinct, as are the skills one learns.
The Self-Driving Car Engineer (SDC) Nanodegree program is an advanced program in which students write programs in Python and C++, and learn new frameworks like ROS and TensorFlow. Students entering SDC should be able to write programs from scratch, and should be comfortable with both calculus and linear algebra. SDC does not require solving differential equations by hand, but does require that students be comfortable interpreting mathematical notation and translating it into code.
The Intro to Self-Driving Cars (iSDC) Nanodegree program is an intermediate program that requires entering students to have only minimal programming and math knowledge. Students entering iSDC should be comfortable reading and modifying code in at least one language (Python helps, since that is first language the program uses). Entering students should also be comfortable with high-school algebra. From there, iSDC teaches the trigonometry, calculus, linear algebra, statistics, and physics that are necessary to succeed in the advanced SDC program.
iSDC does not require an application to enroll, and everybody is welcome. However, students with no programming experience at all might consider starting their journey with Udacity’s Intro to Programming Nanodegree program, and then proceeding on to Intro to Self-Driving Cars. A slightly more mathematical (and more challenging) alternative first step would be Udacity’s Data Analyst Nanodegree Program.
Waymo is working with a number of California cities to set up driverless tests, several of which appear quite enthusiastic to be working with the leader in self-driving cars.
“Autonomous vehicle technology “is going to be crucial in helping the Silicon Valley reach its safety and transportation goals,” said Los Altos Councilwoman Jeannie Bruins.
“Waymo has done extensive vehicle testing on our local streets with a good safety record,” Mountain View City Manager Dan Rich, said in a statement. He commended the company for committing to “transparency and information sharing.”
In Sunnyvale, Mayor Glenn Hendricks likewise said he looks forward to working with Waymo.”
One angle I found interesting is how Waymo will handle disengagements:
“If one of the cars encounters something it doesn’t understand, such as complicated road construction, the car will contact Waymo for help recognizing the situation. After human testers give it feedback, the car will then decide how to navigate the situation.”
I wonder what it means for a remote “human tester” to “give feedback” to a Waymo vehicle.
And don’t forget, from my old colleague Oliver Cameron:
🤔 The real question here is who else applied to do driverless testing in CA? https://t.co/0rCZl54bsa
China recently released some basic guidelines for self-driving car development. As an American, I don’t always fully comprehend the line in China between private companies and the government. How much guidance to self-driving car developers in China get from published laws and regulations, and how much comes from internal communication with the relevant government agencies?
“The rules lay out requirements that vehicles must first be tested in non-public zones, that road tests can only be on designated streets and that a qualified person must always sit in the driver’s position, ready to take over control.”
As best I can tell from English translations, that is the extent of the rules. Presumably there must be more, but I don’t know if the rest is available in Chinese, or if you have to be in the industry there and know the right people to figure it out.
I’m a fan of Tesla, but it has been a rough month for the company.
Crash
In March, a Tesla Model X on Autopilot ran into a concrete barrier on Highway 85 in Mountain View, California. The driver was killed and the car exploded. Tesla wrote, “We have never seen this level of damage to a Model X in any other crash.”
“In the US, there is one automotive fatality every 86 million miles across all vehicles from all manufacturers. For Tesla, there is one fatality, including known pedestrian fatalities, every 320 million miles in vehicles equipped with Autopilot hardware. If you are driving a Tesla equipped with Autopilot hardware, you are 3.7 times less likely to be involved in a fatal accident.”
Statistics are rarely as compelling as stories, especially true stories, but I find these statistics reassuring. And, as with the Florida Autopilot crash in 2016, it makes a big difference that the only fatality here was the driver of the Tesla, not a member of the general public.
Regulation
In the aftermath of the crash, Tesla has gotten into a public disagreement with the National Transportation Safety Board, the US government agency running the main investigation. Apparently the argument is about how quickly to draw conclusions — Tesla wants to move faster than the NTSB does.
"This letter is to memorialize a conversation between you…and me on Wednesday, April 11, 2018. In that conversation I informed you that NTSB has revoked Tesla's party status from the investigation…" pic.twitter.com/R5VrCck6LJ
That last post involves Tesla pushing back against, “an extremist organization working directly with union supporters to create a calculated disinformation campaign against Tesla.” Tesla claims it is building the “safest factory on earth”, whereas Reveal claims, “Tesla has failed to report some of its serious injuries on legally mandated reports, making the company’s injury numbers look better than they actually are.”
I have no idea who to believe in this disagreement. But at the very least it has got to be a grind to be running PR for Tesla right now, and probably for a lot of other employees, as well.
Production
Tim Higgins of the Wall Street Journal, who has been on top of the Tesla beat for quite a while, reported last week that Tesla had temporarily shut down Model 3 production. Tesla has cracked 2,000 Model 3 units per week, but has gotten nowhere near the 5,000 per week it targeted for last year.
Higgins subsequently fielded an unprompted confession from Elon Musk on Twitter:
Yes, excessive automation at Tesla was a mistake. To be precise, my mistake. Humans are underrated.
“Humans are underrated,” is a pretty amazing quote, especially coming from Musk.
Stock
Through it all, Tesla’s stock has mostly held.
Valuation is down 25% from the highs of last summer, but this month has been pretty steady, except for a big dip and bounce-back right after the accident.
Tesla, for a time America’s most valuable car company, is now in 2nd place, behind General Motors.
But the fact that a month like this hasn’t sent investors running for the exits is a testament to the quality of the company and its cars.
“Even when race car drivers leave the mayhem of the track, their skill doesn’t outweigh their appetite for risk: a study from the 1970s found that racing drivers from the Sports Car Club of America had a higher crash rate on public roads than other drivers from the same state of the same age and sex.”
Compare that to this:
“At the opposite end of the spectrum are those who use cautious driving styles to make up for their weak skills. Some elderly drivers who score poorly on a driving test nevertheless manage to drive crash-free by actively compensating for their deteriorating abilities, according to a Belgian study from 2000. They drive more slowly and avoid tailgating, leaving long safety gaps behind vehicles they’re following; they also plan their trips to avoid complex traffic or other challenging situations.”
Of course, this has implications for self-driving technology:
“Some of the more dramatic estimates have imagined quintupling the volume of traffic flowing down a road. But a short “headway” — the gap between one vehicle and the one just ahead — brings a higher crash risk than a long headway.”
Supposedly the reason the Google Self-Driving Car Project kept its vehicles tooling around Mountain View at 25mph for years is that a collision at 25mph results in something like a 20% chance of a human fatality. At 45mph, the likelihood of fatality flips, and becomes something like 80%. A 2015 report hints at this, although it is more vague about the statistics.
Chinese e-commerce giant Alibaba is building “self-driving technology”, according to the MIT Technology Review:
Alibaba says it has bigger ambitions than just robotic taxis. In June 2016, the company launched an AI-powered “city brain” system in Hangzhou, where it’s headquartered, to crunch data from mapping apps and increase traffic efficiency. Simon Hu, the president of Alibaba Cloud, says the firm’s ultimate goal is to produce the kind of autonomous driving that uses such data to help integrate transportation into urban infrastructure.
The common analogy is that Baidu is the Google of China, Tencent is the Facebook of China, Didi is the Uber of China, and Alibaba is the Amazon of China.
This announcement puts Baidu, Didi, and Alibaba all in the self-driving car race.
Talking Self-Driving Cars with Baidu’s Apollo team in China, and visiting Udacity’s offices in Shanghai and Beijing!
This past week I had the pleasure of visiting China for the first time in 20 years! I spent a few days working with colleagues at Udacity’s office in Shanghai, and followed that with several days at Udacity’s Beijing office. I was also able to take in some additional Beijing-based events. It was a whirlwind tour, and I loved it!
My traveling group was hosted by the terrific Apollo team at Baidu. Baidu is China’s largest search engine company, and one of the largest Internet companies in the world. And Udacity is building a free self-driving car course with them!
“Together with Baidu, we look forward to popularizing the Apollo system, and to giving everyone the opportunity to become a self-driving car engineer.” — Sebastian Thrun
This course will provide a conceptual overview of self-driving car technology, illustrated with the Apollo open-source self-driving car stack that Baidu is building.
Baidu has invested heavily in self-driving cars and has rapidly become an important player in the ecosystem. They are already testing vehicles on their Beijing campus.
Their vehicles come in all shapes and sizes. Some of Baidu’s vehicles look like Carla, Udacity’s very own self-driving car.
Carla!
But Baidu has 13 different types of self-driving vehicles, ranging from small cars to big trucks!
Beyond autonomous vehicles, Baidu has a world-leading artificial intelligence group. In their lobby I got to play with one of their robots, which talked, snapped my photo, and walked around with me.
The Baidu team was also kind enough to arrange and host an on-camera interview for me, with CSDN, a Chinese software developer network.
The most important part of the visit, however, were the ping-pong matches. I played two matches and went 1–1 in my first international ping-pong competition. No photos, you’ll have to take my word for it 🙂