Official implementation of "WiFi-based Global Localization in Large-Scale Environments Leveraging Structural Priors from osmAG"
This project presents a novel WiFi-based localization framework for autonomous robotics in large-scale indoor environments where GPS is unavailable. By leveraging ubiquitous wireless infrastructure and OpenStreetMap Area Graph (osmAG) structural priors.
- Python: 3.10
- Ubuntu 22.04
python ap_localization.py --config ./config/ap_localization_config.yaml --log-level INFO
- Input (defaults in config):
file_paths.input_osm_file
:./map/wifi_data.osm
file_paths.template_osm_file
:./map/base_map.osm
- Output:
file_paths.output_osm_file
:./map/AP_MAP.osm
(estimated AP positions are written)- Console statistics with final/initial errors and improvement
python robot_fingerprint_localization.py \
--fingerprint ./map/wifi_data.osm \
--test ./map/Non-FingerprintedAreas.osm \
--polygon ./map/wifi_data.osm \
-k 5 --log-level INFO
- Add
--no-boundary
to disable polygon boundary constraint - Prints localization metrics to console
python robot_AP_localization.py \
--ap-map ./map/AP_MAP.osm \
--fingerprint ./map/Non-FingerprintedAreas.osm \
--polygon ./map/wifi_data.osm \
--iter 10 --log-level INFO
- Optional model parameters (with defaults):
--rssi0
,--n
,--wall
- Outputs analyzed results to console
ap_localization.py
: AP localization entryrobot_fingerprint_localization.py
: KNN-based localization entryrobot_AP_localization.py
: Iterative robot localization entrycore/
: data loading, preprocessing, signal model optimization, position estimation, result saving, fingerprint algorithmsalgorithms/
: lower-level point estimator and RSSI optimizerio_layer/
: OSM parser and writerutils/
: configuration, building constraints, geometry, filtering, wall learningmap/
,config/
: sample paths referenced by defaults
If you use this work in your research, please cite:
@misc{ma2025wifibasedgloballocalizationlargescale,
title={WiFi-based Global Localization in Large-Scale Environments Leveraging Structural Priors from osmAG},
author={Xu Ma and Jiajie Zhang and Fujing Xie and Sören Schwertfeger},
year={2025},
eprint={2508.10144},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2508.10144},
}