A navigation system for an autonomous mobile robot working in indoor environments is presented. The system takes advantage of deliberative (plan-based) approach and reactive (behavior-based) approach. In the reactive part of the system are local behaviors that are independent, action-generating entities. We also provide higher-level deliberative modules that make interactions manageable so the system can accomplish more meaningful tasks. The deliberative modules control the activation and deactivation of individual local behaviors based on current situations, representing the position of the robot and the path to the goal. The situation is determined by a mapping subsystem consisting of an enhanced topological map, a localization module and a planning module. The use of the explicit world model, especially in a topological manner, makes it possible to reliably localize the robot and plan an efficient path. This paper also provides a detailed description of a localization module based on dead reckoning, and a planning module that selects an efficient and reliable path.