The deployment of mobile robots in large-scale, multi-floor environments demands navigation systems that achieve spatial scalability without compromising local kinematic precision. Traditional navigation stacks, reliant on monolithic occupancy grid maps, face severe bottlenecks in storage efficiency, cross-floor reasoning, and long-horizon planning. To address these limitations, this paper presents osmAG-Nav, a complete, open-source ROS2 navigation stack built upon the hierarchical semantic topometric OpenStreetMap Area Graph (osmAG) map standard. The system follows a "System of Systems" architecture that decouples global topological reasoning from local metric execution. A Hierarchical osmAG planner replaces dense grid searches with an LCA-anchored pipeline on a passage-centric graph whose edge costs derive from local raster traversability rather than Euclidean distance, yielding low-millisecond planning on long campus-scale routes. A Rolling Window mechanism rasterizes a fixed-size local metric grid around the robot, keeping the local costmap memory footprint independent of the total mapped area, while a Segmented Execution strategy dispatches intermediate goals to standard ROS2 controllers for smooth handoffs. System robustness is reinforced by a structure-aware LiDAR localization framework that filters dynamic clutter against permanent architectural priors. Extensive experiments on a real-world multi-story indoor-outdoor campus (>11,025 m^2) show that, on the same-floor benchmark subset, osmAG-Nav delivers up to 7816x lower planning latency than a grid-based baseline on long routes while maintaining low path-length overhead and lifelong localization stability. A single-floor long-range robot mission further validates the integrated stack reliability. The full stack is released as modular ROS2 Lifecycle Nodes.
Figures & tables
Figure 1: Hierarchical Multi-Floor Navigation with osmAG-Nav. The proposed system leverages the osmAG standard to abstract complex environments into a semantic hierarchy (bottom right tree), where atomic locations (Rooms, blue nodes) are logically grouped into Sectors (teal nodes). This structural abstraction enables efficient global routing across large-scale facilities. The visualization demonstrates an autonomous cross-floor mission: the planner generates a topology-centric path (orange trajectory) that navigates from a 2nd-floor Start pose, identifies and utilizes the elevator (highlighted vertical shaft) as a semantic passage, and seamlessly proceeds to the 1st-floor End goal. By defining the environment through permanent vector structures (walls) and topological connections rather than dense metric grids, the system maintains scalability while keeping the runtime local metric map memory footprint bounded independently of the total mapped area.
Figure 2: Rendered example of an osmAG map in an OSM-compatible indoor renderer. Rooms, corridors, and larger structural regions are visualized as vector polygons over a georeferenced base layer, while elevator and stair icons expose the vertical-transition semantics directly in the map view. The rendering illustrates that osmAG is not merely a storage format, but a semantic-topological representation that can be inspected, validated, and edited within the OSM ecosystem.
Field
Applies to
Req.
Meaning
id, lat, lon
node
Yes
OSM-native geometric node definition in WGS84.
name=root
node
Yes (once)
Unique root anchor for the local Cartesian frame.
name
area, passage
Yes
Globally unique semantic identifier; canonical target of references.
osmAG:type
area, passage
Yes
Declares area or passage .
osmAG:areaType
area
Yes
Canonical area class: room , corridor , structure , elevator , or stairs .
osmAG:parent
area
Cond.
Parent area name; required for non-top-level areas.
Table 1: Minimum canonical field set of the core osmAG standard.
Figure 3: System architecture of osmAG-Nav. The stack follows a decoupled “system of systems” design. The environment layer maintains the global semantic-topological map and serves a bounded Rolling Window raster through /local_AGgridmap . The deliberative layer combines structure-based localization with hierarchical passage-centric planning in the global semantic frame. The execution layer remains standard Nav2, consuming the injected metric map and intermediate goals through ROS2-native interfaces.
Figure 4: Topology-to-Metric Bridging with Rolling Window and Segmented Execution. (a) The planner reasons over the full semantic-topological map in AGmap , while only a bounded Rolling Window is rasterized and published as /local_AGgridmap in the map frame for Nav2. (b) Within the local window, area interiors are filled as free space, non-passage boundaries are marked occupied, and passage segments are explicitly reopened to preserve traversability. (c) The planner dispatches intermediate passage goals through NavigateToPose ; when the desired passage lies beyond the current local map, a proxy goal is projected to the local boundary and refreshed as the window advances.
Figure 5: Attach-Lift-Common-Parent Hierarchical Planning. (a) The osmAG hierarchy (Building → Floors → Sectors → Rooms) with start area As and goal area Ag highlighted, showing their ancestry paths to the common parent Ac . (b) The planner injects virtual passage s and attaches it to the leaf compact graph via multi-source Dijkstra. (c) The frontier is lifted upward through parent lift graphs until reaching the common parent. (d) A* runs on the assembled common-parent compact graph to find the compact trace. (e) The compact trace is expanded back to the full passage sequence.
Figure 6: Localization Robustness Pipeline. Preprocessed LiDAR observations first pass through an initialization check. If the system is uninitialized or requires recovery, the global-localization branch uses the Area Graph map together with an initial guess or reinitialization prior to perform global search and to bootstrap tracking. Once initialized, the system enters continuous pose tracking, where corridor-aware scan matching and odometry prediction run in parallel, the resulting ICP pose and matching score are fused adaptively with wheel odometry, and the fused pose is published to the Nav2 stack.
Figure 7: Automated Map Generation Pipeline. (a) Raw Input: CAD file (‘.dxf‘) with unstructured geometry. (b) Topological Segmentation: Automatic extraction of navigable Areas. (c) Semantic osmAG Output: Final semantic vector map ready for navigation.
Map Representation
Storage Size
Ratio (vs. osmAG)
2D Occupancy Grid (0.05m)
≈ 48.5 MB
34.6×
3D Point Cloud (0.1m voxel)
≈ 1536 MB
1097×
osmAG (Vector Standard)
1.4 MB
1.0 ×
Table 2: Comparison of Map Storage Efficiency (11,025 m2 Campus)
Task Complexity
Planner
Time (ms)
Gain
Overhead
States ∗
Short ( <50 m, 1–3 Hops)
Nav2 Grid A*
204.3
Baseline
Optimal
19,639
Flat osmAG
0.757
270 ×
+4.29%
32
Hierarchical osmAG (Ours)
1.308
156 ×
+4.29%
19
Medium (50–150m, 4–6 Hops)
Nav2 Grid A*
2879.3
Baseline
Optimal
140,320
Flat osmAG
2.939
980 ×
+2.66%
155
Hierarchical osmAG (Ours)
1.443
1,995 ×
+2.66%
24
Table 3: Quantitative benchmark of global planning efficiency on the common comparable same-floor subset. The original benchmark contains 1,000 fixed queries, but the three-way comparison is restricted to the 696 same-floor queries for which Grid A*, Flat osmAG, and Hierarchical osmAG are all applicable. Reported times are end-to-end planning latencies, aggregated as case-level medians across six execution orders and then averaged within each task bucket. Overhead denotes the mean path-length increase relative to Grid A*.
Figure 8: Scalability Analysis of Global Planning. Scatter plot of planning latency versus topological path length on the 696 same-floor queries for which all three planners are applicable. Each point is aggregated as the median over six execution orders, and the Y-axis is shown in log scale. Grid A* (red) exhibits rapid growth with route complexity, Flat osmAG (green) remains in the low-millisecond regime, and Hierarchical osmAG (blue) overtakes the flat baseline at roughly four hops before maintaining a nearly flat latency profile thereafter.
Setting
Wall (ms)
A* (ms)
Rebuild (ms)
Equal Path
Cached
1.827
0.336
–
–
Uncached
106.011
0.347
104.197
100/100
Table 4: Ablation of hierarchical static caches. Results are aggregated over 20 fixed benchmark cases with 5 cached/uncached paired trials each. “A* only” denotes the accumulated internal A* search time, whereas “method wall” is the end-to-end hierarchical query latency.
Figure 9: RViz Visualization of an Actual Hierarchical Planning Result. A real global route produced by the deployed Hierarchical osmAG planner and visualized in RViz for a multi-building, multi-floor mission. The route connects the start and goal across buildings, traverses the outdoor connector, and uses elevator transitions as explicit vertical passages. The highlighted passage nodes reveal the sparse topological decision sequence underlying the route, showing that cross-floor and cross-building navigation are handled within one unified hierarchical planning process rather than by separate floor-switching logic.
Method
Frame Time (ms)
Lab ATE (m)
Corridor ATE (m)
AMCL
17.2
0.56
1.52
AGLoc ( Xie and Schwertfeger, 2023 )
12.5
0.08
1.26
AGLoc++ (ours)
15.6
0.07
0.36
Table 5: Compact Localization Tracking Summary. ATE RMSE is averaged over two laboratory sequences ( TK-Mars , TK-Door ) and three corridor sequences ( TK-Corr-01/02/03 ).
Figure 10: Localization Comparison in a Geometrically Degenerate Corridor. (a) Baseline AGLoc exhibits substantial drift relative to the reference trajectory on the corridor sequence TK-Corr-01 , as shown by the large-error APE heatmap. (b) AGLoc++, as used in osmAG-Nav , remains tightly aligned with the reference and markedly suppresses longitudinal slip. These results indicate that corridor-aware constraint handling and adaptive odometry fusion materially improve localization robustness in degenerate indoor scenes.
Appendix figures & tables2 assets
Supplementary material from the paper’s appendix.
Appendix
Key or form
Namespace / alias
Scope
Status
Meaning and usage
name=root
OSM node tag
Core anchor
Core
Declares the unique root node that anchors the local Cartesian frame to geodetic coordinates.
name (area)
OSM way tag
Core identifier
Core
Globally unique canonical identifier of an area; the reference target for osmAG:parent .
name (passage)
OSM way tag
Core identifier
Core
Globally unique canonical identifier of a passage.
osmAG:type=area
osmAG:*
Core topology
Core
Declares a way as an osmAG area.
osmAG:type=passage
osmAG:*
Core topology
Core
Declares a way as an osmAG passage.
osmAG:areaType
osmAG:*
Core semantics
Core
Canonical area class field; normative values include room , corridor , structure , elevator , and stairs .
Appendix
Table 6: Detailed reference for canonical core and core-supporting osmAG fields.
Key or form
Namespace / alias
Scope
Status
Meaning and usage
osmAG:area_usage
osmAG:*
Navigation semantics
Extension
Optional functional role of an area, for example lobby, classroom, office, or lab.
osmAG:room_number
osmAG:*
Navigation semantics
Extension
Human-facing room number distinct from the globally unique canonical name .
osmAG:occupied_by
osmAG:*
Navigation semantics
Extension
Stable ownership, tenancy, or organizational occupancy metadata.
osmAG:passage_type
osmAG:*
Navigation semantics
Extension
Optional passage semantics such as automatic, handle-operated, or sliding.
osmAG:degree
osmAG:*
Simulation metadata
Extension
Optional articulation metadata for simulation; not required by the map standard itself.
semantic_osmAG: object_name
semantic_ osmAG:*
Embodied-AI semantics
Extension
Named object instance attached to an OSM node with explicit coordinates.
Appendix
Table 7: Detailed reference for sanctioned osmAG extension profiles.