Real Time Local Wind Inference for Robust Autonomous Navigation
Organizations: Mechanical Engineering and Applied Mechanics, University of Pennsylvania
Abstract
This thesis presents a solution that enables aerial robots to reason about surrounding wind flow fields in real time using on board sensors and embedded flight hardware. The core novelty of this research is the fusion of range measurements with sparse in situ wind measurements to predict surrounding flow fields. We aim to address two fundamental questions: first, the sufficiency of topographical data for accurate wind prediction in dense urban environments; and second, the utility of learned wind models for motion planning with an emphasis on energy efficiency and obstacle avoidance. Drawing on tools from deep learning, fluid mechanics, and optimal control, we establish a framework for local wind prediction using navigational LiDAR, and then incorporate local wind model priors into a receding-horizon optimal controller to study how local wind knowledge affects energy use and robustness during autonomous navigation. Through simulated demonstrations in diverse urban wind scenarios we evaluate the predictive capabilities of the wind predictor, and quantify improvements to autonomous urban navigation in terms of crash rates and energy consumption when local wind information is integrated into the motion planning. Sub-scale free flight experiments in an open-air wind tunnel demonstrate that these algorithms can run in real time on an embedded flight computer with sufficient bandwidth for stable control of a small aerial robot. Philosophically, this thesis contributes a new paradigm for localized wind inference and motion planning in unknown windy environments. By enabling robots to rapidly assess local wind conditions without prior environmental knowledge, this research accelerates the introduction of aerial robots into increasingly challenging environments.
Figures & tables
| Parameter | Unit | Range (min-max) |
| kg | 0.375–0.9375 | |
| N-(m/s) -2 | 0–1( ) | |
| N-(m/s) -2 | 0–1( ) | |
| N-(m/s) -2 | 0–2( ) | |
| N-rad-m-s -2 | 0–1.19( ) | |
| N-rad-m-s -2 | 0–2.32( ) |
| Map | CPU Time Per Timestep (s) | Real Time Factor |
| Training Map | ||
| ( m) | 0.378 | 0.66 |
| Evaluation Map | ||
| ( m) | 1.606 | 0.16 |
| Prediction Domain | ||
| ( m) | 0.019 | 12.78 |
| Parameter | Value | Unit |
| 100 | - | |
| 0.25 | s | |
| 187 | - | |
| 10 | Hz | |
| 0.79 | - | |
| 5.15 | m/s 2 |
| Ablation | Avg. Energy (kJ) | Cmd. Acc. (m/s 2 ) | Time to Goal (s) | Distance Traveled (m) | Failure Rate ( collision , hover )* (%) |
| MPPI | 13.61 | 20.95 1.48 | 28.29 4.51 | 329.54 11.29 | 36.3 (22.4,14.0) |
| MPPI+W | 14.16 | 21.35 1.85 | 28.41 4.52 | 329.94 11.98 | 28.8 (18.9,9.9) |
| EA-MPPI | 11.07 | 14.15 1.04 | 38.31 4.90 | 329.15 9.07 | 18.7 (2.5,16.1) |
| EA-MPPI+W | 10.81 | 14.05 0.62 | 37.94 5.63 | 334.18 11.66 | 15.8 (2.6,13.2) |
| Vehicle | Mass (kg) | Rotor Diameter (m) | Wingspan (m) | Max Speed (m/s) |
| Crazyflie 2.1-Brushless* | 0.057 | 0.055 | - | - |
| Joby S4 Prototype** | 2000† | 1.8 | 10.6 | 89.4 |
| Parameter | Variable | Value | Unit |
| Thrust Coefficient | |||
| Induced Drag Coefficient | |||
| Inflow Coefficient | |||
| Translational Lift Coefficient |
| Parameter | Value | Unit |
| 1000 | - | |
| 0.04 | s | |
| 25 | - | |
| 25 (target) | Hz | |
| 5.0 | - | |
| N/A | m/s 2 |
| Category | Routine | Time (ms) | % Contribution |
| GPU Compute | update_mppi | 25.5 | 36.4% |
| Cost Calculation | compute_cost | 2.5 | - |
| Rollouts | (remainder) | 23.0 | - |
| Memory Transfer | Tensor.cpu() | 44.4 | 63.4% |
| Overhead | numpy/torch operations | 0.1 | 0.2% |
| Total | 70.0 ms | 100% |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Robot | Nominal Mass ( ) | Rotor Diameter ( ) | Acc Uncertainty ( ) | Drag Coefficient ( ) | X/Y Wind Uncertainty ( ) |
| Falcon 4 | 4.2 | 0.381 | 0.0105 † | 0.55* | 0.82 |
| Crazyflie 2.1 | 0.030 | 0.045 | 0.0105 † | 0.01* | 0.28 |
| Ingenuity | 1.61 | 1.61 | 0.0105 † | 0.03** | 6.03 |
| Exp. ID | Experiment Series | # Trials (SE3/MPPI) | Building Config. | Fan Power (%) |
| A1 | Aero. Characterization | 1 (1/0) | B0 | 0-50 |
| 1-2 | Flow Traversal | 4 (2/2) | B0 | 10, 30 |
| 3-5 | Flow Traversal | 6 (3/3) | B1 | 10, 25, 35 |
| 6-8 | Flow Traversal | 7 (4/3) | B2 | 10, 25, 35 |
| 9-11 | Flow Traversal | 6 (3/3) | B3 | 10, 25, 35 |
| 12-14 | Flow Traversal | 6 (3/3) | B4 | 10, 25, 35 |
Aerial Robotics
Aerial robotics studies the design, perception, control, and coordination of flying robots for navigation, inspection, transport, and physical interaction.
See all 329 papers