Potential Fields
A potential field planner treats the goal as a magnet and every obstacle as a source of repulsion. The robot just follows the combined push at each moment. It is simple and fast enough to run every control cycle, but the robot can get trapped where the pushes cancel out before it reaches the goal.
Drag the start or goal.
The field
The robot feels an attractive force toward the goal and a repulsive force from each obstacle closer than a range \(\rho_0\), where \(\rho\) is the distance to that obstacle:
with \(\hat{\mathbf{n}}\) pointing away from the obstacle. The robot moves along \(\mathbf{F}\).
What to notice
Among scattered posts the robot weaves smoothly to the goal. Switch to the U-shaped trap with the goal behind it: the robot drives into the U and stops where the pull of the goal exactly balances the push of the walls, a local minimum. Potential fields have no memory and no look-ahead, so they cannot escape on their own. They are still useful as a fast reactive layer, under a planner that chooses good subgoals, and ideas from them live on in costmaps.