I've been working on a robot that navigates itself around the floor, and sends its position back to a laptop via bluetooth. I's going pretty well. The robot is described in this forum thread:
The robot uses the SimpleNavigator class to determine where it is. Of course, this gets pretty inaccurate after a while as errors in wheel position accumulate.
I'd like to maintain a reasonably accurate position, and hence produce a decent map, and know where I am on it. I realise this is one of the fundametal problems of robotics! It seems there are a few approaches I could take.
More hardware based approaches:
Set up some beacons, that the robot uses to triangulate it's position. These could be laser reflectors, asdescribed here: http://lejos.sourceforge.net/forum/viewtopic.php?t=2291 , or possibly some other technique.
2) Use an Acclerometer, and derive the velocity and position from this. I know you can buy accelerometers for NXT . How accurate are they? My hunch is they would also accumulate signifcant error over time, but I'm not sure. Does anyone have experience with an accelerometer and NXT?
More software based approaches
3) Monte Carlo.
My understanding of this is that it relies on a predefined map of the area? Is that correct?
Similtaneous Location and Mapping.
I know very little about this. These guy seemto have got good results.
Can anyone reccomend a good beginners guid to SLAM?
Can anyone suggest any other techniques?
Thanks a lot: