SLAM – Artificial Intelligence for Robotics

Hi, students. I am back to teach you a bit about SLAM. There was a request–a popular request, actually, in email and the discussion forum. SLAM is a method for mapping that’s short for “simultaneous localization and mapping.” Some of the this might show up in the final exam, so do pay attention. Mapping is all about building maps of the environment. You might remember in the localization classes we assumed the map was given. One of the big passions in my life has been to understand how to make a robot make these maps like this map here, which is a 3D map of an abandoned underground coal mine in Pennsylvania near Carnegie-Mellon University. Over the past 10 years or so, I have worked on a number of different methods for buildings maps that are quite sophisticated, like this particle filter method over here that you can see. All these methods have in common that we build a model of the environment while also addressing the fact that the robot itself accrues uncertainty while it moves. When, in this example here, the loop is being closed, you can see how our mapping technology is able to accommodate this and find a consistent map despite the fact that the robot drifted a little along the way. The key insight in building maps is the robot itself might lose track of where it is by virtue of its motion uncertainty. You accommodate this in localization by using an existing map, but now we don’t have an existing map. We’re building a map. That’s where SLAM comes into play. SLAM doesn’t stand for “slamming” a robot. What it really means is “simultaneous localization and mapping.” This is a big, big, big research field. Most of my AI book is about this technology, and today I want to show you my favorite method called “graph SLAM,” which is also by far the easiest method to understand. We will reduce the mapping problem to a couple of very intuitive additions into a big matrix and a vector, and that’s it.