Chasing Ghosts: A Simulation-to-Real Olfactory Navigation Stack with Optional Vision Augmentation
Organizations: Dept. of Computer Science University of Texas at Dallas Richardson, TX, USA
Abstract
Autonomous odor source localization remains a challenging problem for aerial robots due to turbulent airflow, sparse and delayed sensory signals, and strict payload and compute constraints. While prior unmanned aerial vehicle (UAV)-based olfaction systems have demonstrated gas distribution mapping or reactive plume tracing, they rely on predefined coverage patterns, external infrastructure, or extensive sensing and coordination. In this work, we present a complete, open-source UAV system for online odor source localization using a minimal sensor suite. The system integrates custom olfaction hardware, onboard sensing, and a learning-based navigation policy trained in simulation and deployed on a real quadrotor. Through our minimal framework, the UAV is able to navigate directly toward an odor source without constructing an explicit gas distribution map or relying on external positioning systems. Vision is incorporated as an optional complementary modality to accelerate navigation under certain conditions. We validate the proposed system through real-world flight experiments in a large indoor environment using an ethanol source, demonstrating consistent source-finding behavior under realistic airflow conditions. The primary contribution of this work is a reproducible system and methodological framework for UAV-based olfactory navigation and source finding under minimal sensing assumptions. We elaborate on our hardware design and open source our UAV firmware, simulation code, olfaction-vision dataset, and circuit board to the community. Code, data, and designs will be made available at https://github.com/KordelFranceTech/ChasingGhosts.
Figures & tables
| Method | Sensor Type | Nav. Algorithm | Average Time (s) | Sigma Time, (s) | Best Time, (s) |
|---|---|---|---|---|---|
| Olfaction | MOX | OIO | 98.38 | 14.84 | 71.59 |
| Olfaction | EC | OIO | 112.22 | 16.70 | 97.65 |
| Olfaction | MOX | E.SARSA | 103.99 | 14.89 | 82.73 |
| Olfaction | EC | E.SARSA | 121.85 | 16.77 | 97.10 |
| Olfaction + Vision | MOX | OIO | 94.03 | 14.68 | 66.12 |
| Olfaction + Vision | EC | OIO | 107.71 | 17.07 | 80.50 |
| Aspect | Shigaki et al. (2018/2023 variants) | Burgués et al. (2019) | Duisterhof et al. (2021) | Our Work |
|---|---|---|---|---|
| Robot Type | Pocket-sized quadcopter (2018) or ground crawler (2023); single unit. | Nano quadcopter (Crazyflie). | Swarm of nano quadcopters (Crazyflie). | Modified DJI Tello UAV; single unit but with custom harness for stereo sensors. Larger payload for dual sensors and vision integration. |
| Sensors | Single MOX sensor (2018) or dual alcohol + wind sensors (2023). | Single MOX (TGS 8100). | Single MOX per drone + laser rangers. | Dual MOX/EC sensors in stereo (antennae-like); IR for obstacles; vision complementary. First stereo olfaction demo; multiple sensor types for generalization. |
| Navigation Approach | Bio-inspired (surge-cast/zigzag); real-time with odor frequency. | Predefined sweeping path; bout detection or concentration mapping. | Mapless bug algorithm with PSO; real-time swarming. | Adaptive TD learning (OIO/Q( )); real-time plume modeling with temporal differences. TD( ) for plumes; no a priori path; vision for ”last-mile” confirmation. |
| Course Size | Small ( 1.5-2m start distance; indoor/outdoor open areas). | 160m² indoor. | 10x10m (100m²) with obstacles. | 200m² indoor with rooms. Largest course; more complex (multi-room plume dynamics). |
| Success Rate | 80-90% (2018: non-perfect; 2023: high but variable in complex envs). | N/A (mapping error 1-2m; not framed as success rate). | 92% in sim; 11/12 real runs. | 100% across 20+ trials. Perfect localization; robust to hysteresis without overfitting. |
| Real-Time vs. Post-Mapping | Real-time (autonomous onboard). | Post-mapping (builds 3D map after flight; potential for real-time discussed but not implemented). | Real-time (mapless, autonomous). | Real-time (edge-only; no post-analysis). True real-time source localization (not just mapping like Burgués); straight to source. |
| Parameter | Definition |
|---|---|
| Controller | |
| Closed loop command | |
| Current system response | |
| Rate feedback | |
| timestep, in seconds | |
| integral gain |
| Parameter | Value |
|---|---|
| (roll) | 0.010 |
| (roll) | 0.002 |
| (roll) | 0.006 |
| (altitude) | 0.070 |
| (altitude) | 0.015 |
| (altitude) | 0.060-0.080 |
| Parameter | Value |
|---|---|
| layers | 12 |
| layer types | Fully connected only |
| input dimension | 138 |
| output dimension | 512 |
| batch size | 16 |
| learning rate | 1e-4 |
| Parameter | Value |
|---|---|
| layers | 4 |
| layer types | Fully connected only |
| input dimension | 512 |
| output dimension | 512 |
| embedding dimension | 512 |
| batch size | 16 |
| Parameter | Value |
|---|---|
| layers | 4 |
| layer types | 2 fully connected, 2 GAT Convolution |
| input dimension | 512 |
| output dimension | 512 |
| embedding dimension | 512 |
| batch size | 16 |
| - | Off-Plume | On-Plume (Low Concentration) | On-Plume (High Concentration) |
|---|---|---|---|
| Left Sensor Right Sensor | 0 | 3 | 6 |
| Left Sensor == Right Sensor | 1 | 4 | 7 |
| Left Sensor Right Sensor | 2 | 5 | 8 |
| Parameter | Value |
| number of states | 9 |
| number of actions | 7 |
| episodes | 10000 |
| (discount factor) | 0.9 |
| (learning rate) | 1e-4 |
| (greediness) | 1.0 |
| Parameter | Value | Units | Description |
| Diffusion | 1.0 | Dimensionless | Rate of gas dispersion per timestep; conditional on compound |
| Sparsity | 0.0 | Dimensionless | Useful for modeling blanks over long distances; conditional on compound |
| Temperature | 20.0 | Degrees Celsius | Assume constant air temperature due to short durations and distances |
| Relative Humidity | 50.0 | Percentage | Assume constant relative humidity due to short durations and distances |
| Air Density | 1.225 | Assume constant air density due to short durations and distances | |
| Wind Speed | 1.0 | Average windspeed along -direction |
Robot Navigation
Robot navigation studies how robots perceive, localize, plan, and move safely toward goals in static or changing environments.
See all 554 papers