by kc123 » Mon Feb 13, 2012 9:40 pm
Using LeJOS for SLAM
Now, at first glance, the LeJOS seems to offer something close to SLAM capability. LeJOS supports both localization (Monte Carlo Localization) and mapping (line maps, sensor reading) libraries. However, if you look at the LeJOS API, you would realize the map is line based map, while the sensor is providing a distance measurement. This means there is no easy way of converting distance sensor readings into line map (which is used by MCL); and you really cannot combine LeJOS's localization and mapping libraries that easy.
For my implementation, I implemented my own occupancy grid map, and hook that into LeJOS’s Monte Carlo Localization code (the interface for that is really well designed, kudos to whoever designed it). It’s easier said than done because LeJOS’s implementation uses a different sensor and motion model, plus the sampling algorithm is wrong, so I ended up re-rewrite a major portion of the algorithm .
Before I offer more help, one thing to consider is that SLAM is a pretty challenging topic. Do you think you have sufficient computer science and mathematics background to tackle this challenge? Some of the topic you need to know including Kalman filter, statistic sampling, conditional probability, bayes filter, and sensor /motion modeling. If you think this is too difficult, I would recommend re-scoping your project.
-Kevin