Interacting with mobile robots through natural language is the main concern of this article, which focuses on the semantic meaning of concepts used in natural language instructions to navigate robots indoors. Assuming the building structure is the prior knowledge of the robot and the robot has the ability of navigating itself locally to avoid collision with the environment, the building structure is represented with predicate logic on SWI-Prolog as the database of the indoor environment, which is called semantic map in this paper, in which the basic predicate clauses are based on two kinds of entities, namely ‘area' and ‘node.' The area names (in natural language convention) of indoor environment are organized with an ontology and are defined in the semantic map which includes the geometric information of areas and connection relationships between areas. With the semantic map database, functions for robot navigation, like a topological map, path planning, and self-localization, are realized through reasoning by properly designed predicates based on constraint satisfaction problem (CSP). An example building is given to show the idea proposed in this article, the real data of which was used to establish the semantic map, and the predicates for navigation functions worked well on SWI-Prolog.