Udacity Self-Driving Car Nanodegree Term 2 in Review
It’s official: I’ve survived another term in the Udacity Self-Driving Car Engineer Nanodegree! Hallelujah!
Really, though, it wasn’t that bad. The pace was less frenetic than Term 1, but the concepts were a little bit tougher to grasp. I’m inclined to chalk much of that up to the necessarily visual (and hence, I’d say, more intuitive) nature of computer vision problems from Term 1. But I think there were also many students who struggled to follow the math involved in Kalman filters, and others who were uncomfortable with C++ (which was a popular concern of students even before beginning the Nanodegree). Thankfully, I’m not new to C++ and I had worked through the refresher course Udacity offered while waiting for Term 2 to begin, and I had already been exposed to Kalman filters in the Artificial Intelligence for Robotics course, so I didn’t struggle terribly. Gotta reinforce those neural pathways!
Here’s a look back at Term 2’s lesson plan:
- Welcome
- Introduction and Sensors
- Kalman Filters
- C++ Checkpoint
- Lidar and Radar Fusion with Kalman Filters in C++
- Extended Kalman Filter Project
- Unscented Kalman Filters
- Unscented Kalman Filter Project
- Introduction to Localization
- Localization Overview
- Markov Localization
- Motion Models
- Particle Filters
- Implementation of a Particle Filter
- Kidnapped Vehicle Project
- PID Control
- PID Controller Project
- Vehicle Models
- Model Predictive Control
- Model Predictive Control Project
- The End
If I had to summarize Term 2 into a single overarching concept, it would be motion - sensing it, predicting it, controlling it.
The Nanodegree is obviously still a work in progress - Term 3 isn’t yet complete and Udacity is still ironing out some kinks. That was particularly evident to me in the Model Predictive Control lessons, which felt thin on content and didn’t seem to quite sufficiently prepare us for the project. Other students have complained about issues such as some projects being less engaging and underwhelming, that the program doesn’t prepare us to be as proficient in C++ as companies require, or that the program doesn’t go deep enough in any particular topic to make us competetive for most jobs and instead makes generalists of us. I suppose these are valid complaints, but I also feel that it’s unreasonable to expect so much of Udacity. To me, this is a world-class education that you couldn’t find anywhere else, certainly not for the price we’re paying, and there will always be more to learn so they have to draw the line somewhere. I’m still extremely pleased.
I started Term 3 just today, and I’m already beginning to feel like it’s all gone by too quickly. Term 2’s more relaxed pace gave me a chance to work on the DiDi Challenge, which is a great little piece to add to my portfolio. Even though I didn’t come close to winning the contest, I still learned a ton - and that was the whole point anyway. It looks like my extracurricular activity for Term 3 is going to be… applying for jobs. Wish me luck!