This repository contains data and experiments associated to the paper Toscano-Duran, V., Narteni, S., Carlevaro, A., Guzzi, J., Gonzalez-Diaz, R. and Mongelli, M. (2025) "Safe and Efficient Social Navigation through Explainable Safety Regions Based on Topological Features". Submitted and Accepted to The 3rd World Conference on eXplainable Artificial Intelligence (XAI-2025). Preprint available in arXiv.
The paper deals with simulated social robotics navigation problem that involves a fleet of mobile robots moving in a Cross scenario, governed by a human-like behavior. With the purpose of avoiding negative events, as collisions or deadlocks, we show how to topological features can improve the accuracy and effectiveness of safe and explainable AI (XAI) methods being an useful tool to know and adjust whether a simulation will be safe(free of collisions) or not, efficient(free of deadlocks) or not, and compliant (free of both, collisions and deadlocks) or not.
-
ExpBehaviorCollision: Experiments for avoid collisions, using safety regions and behavior features.
-
ExpTopologicalCollision: Experiments for avoid collisions, using safety regions and topological features.
-
ExpTopologicalDeadlock: Experiments for avoid deadlocks, using safety regions and topological features.
-
ExpTopologicalAdvanced: Extension experiments using more topological features for build safety regions (not included in the paper).
- Clone this repository and create a virtual enviromment (It requires Python>=3.10, and it has been developed specifically with Python3.10.11):
virtualenv -p python3.10 env # you need to have install virtualenv in python: pip install virtualenv
Next, activate the virtual environment
env\Scripts\activate
- Install the necessary dependencies: (first install navground and then the rest of the dependencies).
pip install navground[all]
pip install pandas==2.2.3 seaborn==0.13.2 scikit-learn==1.3.0 skope-rules==1.0.1 numpy==1.25.1 qpsolvers[open_source_solvers]==2.2.0 cvxopt==1.3.2 anchor-exp==0.0.2.0 gudhi==3.11.0
In the case of us, as we use python and virtual environments on Visual Studio Code, we need to install ipykernel dependency:
pip install ipykernel
You can see the full list of dependencies install and its versions once you have installed these dependencies in the requeriments.txt
-
Simulation and dataset collection (including simulations and topological features): run the
getdataset_TopologicalFeatures.py
script with the YAML settings contained inconfigTopological.yaml
file. Dataset used in further experiments. -
Native rule generation: run
SkopeRules.ipynb
for training skope-rules model, andNativeXAI_performance.ipynb
for its evaluation. -
Scalable Classifiers for Probabilistic/Conformal safety regions: run
ConfidenceRegions_SVM.ipynb
. -
Local Rule Extraction from PSR/CSR: run
Anchor_PSR.ipynb
,Anchor_CSR.ipynb
for Anchors extraction, andAnchorAnalysis_PSR.ipynb
,AnchorAnalysis_CSR.ipynb
for their evaluation.
If you want to use our code or data for your experiments, please cite our paper. Once the paper is published, we will update that file with the official citacion.
For further information, please contact us at: vtoscano@us.es, sara.narteni@cnr.it