Robot Localization Making a Robot know where it is I started looking into localization for use with sandbot but there have been many other things that conspired to prevent me progressing with it. I put it here as a placeholder and will come back to this when I have more time to think about it… Intr
Informative article. If you check my profile you will find that I competed in a NASA Challenge earlier this year and am preparing for next year’s challenge. One of the major problems is localization. I obtained a book on Probabalistic Robotics but it is hard going. Your article gave me a good idea of how to apply the concept to localization.
Realy nice article! It made some things clear to me that I did not understand or think of when I was trying to do localization. But I think you will need one more sensor (or two): encoders. One can be enough if mounted in the center of the wheels axle and rely on the compass for turns. I see that you have pin 3 available, which is an external interrupt and if quadrature is needed, you can re-route pin 2 for a second external interrupt, or, you can use any digital pin with pin change interrupt. Also, to simplify things, I would consider the cell’s size equal with the robot’s size. Let us know how you continue this journey!
Many thanks Ro-Bot-X. Useful details there about arduino inputs. Although I do not really want to go down the encoder route, `i think you are right in that I will need it to at least ensure the robot moves a fixed distance each time. This will probably be very useful if it hits an obstacle and does not move at all and can be used to feed errors into the equations.
I started this some time ago and confess it stalled as I got involved making something simpler with my kids. I hope to get back to it though and blow the dust off my experimental testbed!
wow, that’s a lot of stuff to read. But it’s really useful to have some article like this one handy if it comes to locations. Very nice work and even easy (more or less) to understand.
So I’m working on a personal project of my own, how do I model the sensor, and if my robot is at location (x, y) on the map, and I take a reading Z. I know I am supposed to get a value of p(z/x) from my model to calculate p(x/z) for measurement update, will I do this for other locations as well. My questions are
# how do I get a model (gaussian) for my range sensor
# if I have a single ultrasonic sensor in front of the robot, how do I go about implementing the measurement update at state (x, y) at time to.