If you can put some markers in the room, using a camera may be an option. If 2 known markers have an angular offset (from left to right), then the camera and markers lie on a circle whose radius is related to the measured angle between the markers. I donโt remember the formula right away, but the segment of the arc (in this circle) between the markers will be twice the angle you see. If you have markers with a known height, and the camera is at a fixed angle, you can calculate the distance to the markers. Any of these methods alone can nail your position, given sufficient markers. Using both will help to do this with fewer markers.
Unfortunately, these methods are imperfect due to measurement errors. You work around this using the Kalman calculator to enable multiple noise measurements to get a good position estimate โ you can then feed some dead accounting information (which is also imperfect) to further refine it. This part goes pretty deep into math, but I would say that it is a requirement to do an excellent job of what you are trying. You can do OK without it, but if you need an optimal solution (in terms of a better location estimate for a given input), there is no better way. If you really want a career in autonomous robotics, this will play a big role in your future. (
Once you can determine your position, you can cover the room with any pattern. Continue to use the shock sensor to help build an obstacle map, and then you will need to develop a scanning method that includes obstacles.
Not sure if you have a math background, but here is a book: http://books.google.com/books/about/Applied_optimal_estimation.html?id=KlFrn8lpPP0C
phkahler Jun 29 '11 at 1:58 p.m. 2011-06-29 13:58
source share