I. Introduction
In mobile robotics, creating autonomous robots is one of the major undertakings. By a real-world mobile robot, we mean a robot that needs to operate in an environment which is not especially engineered for the robot. In other words, any prior knowledge about the environment is limited and unreliable because of the complexity and unpredictable dynamics of the environment. Thus the ability of a robot to plan motions autonomously is of paramount importance.