Potential field method is a very popular simulation for Robot Navigation. However, has anyone implemented Potential field method on real robots ? Any reference or any claim of using the method in real robots ?.
Hi, I have done potential field based path planning before, but abandoned it in favour of more appropriate approaches to my problem. It works adequately for environments where you have accurate localization, and accurate sensor readings, but much less so in real world environments (its not a particulary great solution even in terms of speed and path quality, even in simulation). Considering that there are now a lot of good SLAM implementations available either free or low cost, I wouldnt bother reimplementing unless you have very specific problems with reuse. For MRDS (what i work in) there is Karto Robotics, ROS has a SLAM implementation, and there are several open-source implementations only a google search away.
If you want a good overview of different approaches to path planning, then you might want to grab a copy of "introduction to Autonomous Mobile Robots" by Segwart et al. Its a pretty good book, and the path planning section gives a nice overview of the different strategies around.
I would suggest reading the book Planning Algorithms by Steven M. LaValle if you are generally interested in path or motion planning. Methods described in this book are actively used in the robotics community.
A search on google scholar or the IEEE website on the other hand will get you a lot of references to papers describing usage and research of the potential field method.
A quick Google for potential field methods brought up this paper: Potential Field Methods and Their Inherent Limitations for Mobile Robot Navigation and reminded me about problems from the last time I worked with a potential field method.
In our projects (CWRU Mobile Robotics), we have seen these exact problems with potential field based algorithms. The last attempt, a mobile robot to compete at IGVC in 2009, had the same issues described in that paper, specifically with local minima and not being able to pass through closely spaced obstacles. I distinctly remember having to work around issues with the closely spaced obstacles while attempting to plan through a narrow opening in a fence as part of the GPS waypoint navigation challenge of IGVC.
We were able to get pretty decent planning speed out of the algorithm by using custom OpenGL shaders to do all of the computation while representing the potential field as an image/framebuffer. As Tom points out, it is not so good in unknown or dynamic environments, as in those situations the potential field will never stabilize and will constantly require updating.
As @Tom pointed out above, you can't usually rely on perfect sensor readings or the motors moving you exactly as far as you thought you told them to.
The relatively novel approach to SLAM I had a chance to use years ago was the Generalized Voronoi Graph (GVG); basically, stay equidistant from the nearest two walls, keep moving, and at points where you're equidistant to three or more walls, come back and try each two-wall branch at some point. You'll build a graph that gets you all the way around the room, and guarantees you've had line-of-sight on everything in the room.