Sunday, May 11, 2014

SLAM progression through time

SLAM is not so much the process of mapping out a structure as much as it is the correction of inconsistencies from a machines input devices(cameras, radar, infrared..etc).  We can autonomously map and navigate structures and have been able to for quite a few years.  The issue is that this was only possible in computer simulated environments with a set of wonderful, infallible computer generated input devices.  In such an environment, their is no need to look back over the information given.  The machine always knows it position, direction it is facing, and exact distance from every landmark in the room.  In the real world, input devices provide mostly estimates of distance and shapes, and due to this robots get lost.  This is were SLAM came in. As the robot inevitably becomes more and more lost, SLAM allows it to compare other pictures containing similar landmarks to were it is at the moment.  If it has recorded a dining room with 8 chairs in the past and while lost in a hallway catches a snapshot through a doorway of 4 of the 8 chairs in the same pattern as before and the rest obstructed from view, it can guess that it has come back to that room even though its current map doesn't support the location.  It will then resize and cut its map until things are a bit more accurate than they were in the past.  Now... in the past, every time an iteration of SLAM was run (basically every time it took a picture) it needed to recompute the location of every landmark it had seen up until then.  Now the machine can only deal with a few hundred of landmark computations and once while remaining at real time speeds.  In comparison, a typical environment contains millions of landmarks that must be recorded. This meant that there was no way to autonomously map a real world environment in real time. A decade ago this began to change.  One notable algorithm that attempted to fix this was M. Thrun's FASTSLAM algorithm that attempted to fix this.  Before the introduction of FASTSLAM it would take 100*100 calculations to deal with 100 landmarks.  FASTSLAM brought this number to ln(100)*100. That is 460 calculations compared to 10,000, a big win for SLAM.  Attatched is an example of SLAM being done in a simulated environment with very few landmarks. Pretty boring looking huh?  In contrast, here is a person running around with one lens camera using SLAM to process what is sees as it travels throughout a house.  Its amazing the amount of landmarks picked up throughout the process. Interesting enough, the green circles shown are landmarks that are recorded, while the red circles and possible landmarks being made note of. Up until now I have primarily gone over stereo vision SLAM.  Next time I will go over a few of the alternatives, including Mono-vision SLAM shown in the video.

Montemerlo, M., Thrun, S., Koller, D., & Wegbreit, B. (2002, July). FastSLAM: A factored solution to the simultaneous localization and mapping problem. In AAAI/IAAI (pp. 593-598).

No comments:

Post a Comment