Come check out an autonomous robot that will move around on a previously created 2D map. Either points can be setup in advance for the robot to move to, or points can be given to it in real time. The robot finds a path to get to the point. If something gets in it’s way it finds another path. If there is no path available, it will just sit there and wait for a path to open up, or wait for a new point to go to. Also, to some extent, the robot can recover when it’s wheels spin in place. The functioning robot is shown in this youtube video.