## 1 Introduction  
This article addresses the path planing and control of a robot in a large building with one or more elevators. Suppose that the robot is ordered to visit another place (goal) in a large building. Once a goal point in the building is set, then the robot needs to move until it reaches the goal point. This scenario is important for the operation of many indoor robots, such as home robots [1; 2], service robots [3; 4] or nursing robots [5; 6]. There may be a case where the goal is at a floor which is different from the floor where the robot is located. In order to handle this case, the robot needs to take an elevator. Humans effortlessly take an elevator, since elevators are designed for easy use by human operators. However, programming a robot to accomplish this task is surprisingly challenging [7]. Many papers [7; 8; 9] have addressed how to make a robot use an elevator. It is assumed that the robot can utilize elevators to move from one floor to another floor using the vision-based manipulating approach in [7; 8]. How to make the robot operate the elevator buttons is not within the scope of our paper. This paper considers the case where the robot moves in a known building environment. Therefore, the robot can locate itself using Monte-Carlo localization [10] or RFID tags [11; 12]. By deploying multiple RFID tags in the building, one can localize the robot with an RFID antenna and RFID reader [12]. The references [11; 12] showed that localization systems using RFID tags can achieve high estimation accuracy in real indoor scenarios. How to localize the robot in a known building is not within the scope of our paper. In [13], the authors addressed how to produce a graph-based indoor network including floor-level and non-level paths from Industry Foundation Classes (IFC)-based building models. Ref. [13] required only the geometric information of IFC data models to automatically identify indoor space boundaries as well as to produce six categories of indoor paths. However, Ref. [13] did not address tracking controls of a robot based on the graph-based indoor network. A Voronoi graph has been widely used in robotics [14; 15; 16; 17; 18; 19; 20]. A 2D Voronoi graph is a partition of the plane into regions close to each of a given set of sites. In the Voronoi graph,a Voronoi edge is the set of points which are equidistant from the two closest obstacles. According to this definition, a Voronoi graph provides a connected curve, which is safe and suitable for a robot path. In our paper, our robot uses a Voronoi graph as its path, since the graph provides the safest path which is the farthest from all obstacles. For planning the robot's path inside a large building with one or more elevators, this article addresses a topological map, called the building Voronoi graph. The building Voronoi graph consists of Voronoi vertices and Voronoi edges. The building Voronoi graph is generated as a contraction of a large building map, which is assumed to be known a priori. In the building Voronoi graph, each floor is modeled utilizing the 2D Voronoi graph, and utilizing elevators is modeled as edges connecting distinct 2D Voronoi graphs. One sets the weight of an edge in the graph, based on the travel time inside an elevator and the traversal time of a passage. Using the building Voronoi graph, the robot can obtain a safe path to the goal. Since the building Voronoi graph is a contraction of the entire building map (e.g, grid map), one can reduce the map size required for building exploration. Using the building Voronoi graph, one only needs to calculate the shortest path along the Voronoi graph, instead of the entire grid map. Therefore, one can improve the path-finding efficiency considerably, compared to the case where one searches for the shortest path utilizing all grid cells in the grid map. In practice, the robot needs to use an elevator while moving to reach the goal. Moreover, the robot needs to spend some time while staying inside an elevator.