My Introduction to Autonomous Vehicles
Nate Kaiser (MSR '17) looks at how one MSR project helped inspire the work he does today.
By Nate Kaiser (MSR '17)
I think to a certain extent, we all have a fascination with robots. Yet to be honest, robotics projects that can't move have always been boring to me. I've always had my eye on autonomy. In fact, reading about autonomous vehicles was a big factor in my decision to get my master's degree.
When I walked in for my first day of orientation at Northwestern Engineering's Master of Science in Robotics (MSR) program, I saw a brand new, shiny yellow Jackal Unmanned Ground Vehicle (UGV) and LIDAR unit. Immediately, I started to plan what ultimately turned into my MSR winter project — a Jackal robot setup that was focused on autonomous navigation.
Before I started in MSR, I was a mechanical engineer at Caterpillar. I helped revolutionize the company's product line and championed new and innovative designs, yet in the back of my mind, I kept thinking about artificial intelligence and autonomous navigation. The more I read, the more intrigued I was that a robot could reason its way through the world without any human intervention. Dynamic obstacles, confusing environments — you name it, and there was a recent paper outlining how some research group had overcome the problem. I wasn't able to understand 100% of the technical details that I read, but I was still intrigued.
As I began my winter project, my goal, in the simplest terms possible, was to be able to command the robot to move from point A to point B, in any indoor environment, no matter what type of dynamic obstacles were present. There are a lot of elements that go into making that happen, but in non-technical terms, that's it.
At one point, I jokingly assigned myself a stretch goal of making the robot navigate to the pizza place a few blocks from campus, but in the end I didn't have time. It would have taken far more time to get that working than it would have to just walk there myself anyway.
I definitely knew almost nothing when I started the project, so the beginning was a lot of reading papers and code documentation to try and understand what was going on. I had very limited experience with ROS, C++, or any of the other prerequisites, so that also added to the learning curve. But ultimately, autonomy is a new field, and even the people who have worked in autonomy since the early 2000's still face challenges to get things right.
Watching the whole project come together at the end of the quarter was extremely satisfying. There were a lot of roadblocks, which were frustrating at the time, but they made that "first steps" moment for the UGV all the sweeter. I actually struggled debugging an issue for a few weeks and thought I'd never get it to work right, but was able to find and fix it right before the project was over. As soon as that issue was resolved, it was able to navigate better than I first imaged, zipping around and handling people walking in front of it almost flawlessly.
Looking back on the experience, I learned a lot. I touched on the foundations of basically all SLAM-related robotics principles — sensor fusion, LIDAR sensing and filtering, Bayesian state estimation, you name it. In essence, my project was a scaled-down version of a self-driving car, so I needed to at least know the basics of all the major aspects of autonomy — perception, localization, and planning.
Today, I actually work at an autonomous vehicle company called Zoox. I'm on the CLAMS (calibration + SLAM) team, where I work on the same challenge I was presented by my winter project — how to map a dynamic environment and then localize the robot within it. Obviously what I did for a quarter-long project can't compete in complexity or robustness with what I'm doing at Zoox, but the underlying principles are the same.
Since my MSR winter project, I've actually had a handful of people email me after having forked my software repository, trying to get their own navigation projects to work. It's such a gratifying feeling knowing my work looked impressive enough to use! I'm still not sure if it's a testament to my good work or a testament to my ability to hide its shortcoming, though!
I've also heard that my project inspired the work of several more recent MSR students, and to me, that's awesome! It's very gratifying knowing my project was useful to others. If anyone else has questions about it, I'd be more than happy to help.