Papers
Topics
Authors
Recent
2000 character limit reached

StableUASim: UAV & Underwater Simulation

Updated 29 November 2025
  • StableUASim is a dual simulation framework featuring a modular C++ UAV simulator and a conditional diffusion-based underwater acoustic channel surrogate for rigorous, stochastic evaluation.
  • The UAV component integrates deterministic aircraft dynamics with high-frequency sensor and environmental models, enabling precise Monte Carlo assessment of estimator performance.
  • The underwater component leverages an LSTM autoencoder and a conditional diffusion model to generate realistic time-varying impulse responses under minimal real-data conditions.

StableUASim is the name of two independent high-fidelity simulation frameworks originating from distinct research communities: (1) a stochastic simulator for testing GNSS-denied navigation in fixed-wing UAVs (Gallo, 2021), and (2) a conditional diffusion-based surrogate generator for underwater acoustic channels (Li et al., 22 Nov 2025). Both platforms are designed for rigorous, quantitative evaluation of data-driven algorithms in safety-critical environments and are characterized by full-stochastic module design, physically realistic models, and metrics for assessing estimator performance or channel realism. What follows is a technical summary of both frameworks―their architecture, mathematical formalisms, workflows, and extensibility.

1. Core System Architectures

StableUASim is organized as a modular C++ framework with six core components:

  • Earth/environment: Provides stochastic models of gravity, atmosphere, wind, turbulence, and magnetic field.
  • Aircraft: Encodes deterministic mass, inertia, six-DOF aerodynamics, and propulsion characteristics.
  • Flight dynamics integrator: Solves the 6-DOF Newton-Euler state ODE via a Lie-group Runge-Kutta method (500 Hz, unit-quaternion normalization).
  • Sensors: Models IMU, magnetometer, air data, GNSS, and camera with seedable Gauss-Markov noise/bias/random-walk and run-to-run stochastic perturbations.
  • Guidance & Control: Implements guidance logic and a four-PID-loop autopilot (50 Hz, setpoint ramping).
  • Navigation: Uses a user-supplied plugin conforming to a NavigationBase interface for estimator development and evaluation.
  • Monte-Carlo manager: Manages reproducible random seed allocation, scenario synthesis, and metrics collection.

The primary information flow is:

1
x₀ → [Flight Dynamics + Earth + Aircraft] → xˢ (truth) → Sensors → x̃ (noisy) → Navigation → x̂ (estimate) → Guidance → δ (commands) → Dynamics

StableUASim is implemented as a two-stage conditional latent diffusion pipeline:

  • LSTM Autoencoder: Compresses each time-varying impulse response (TVIR, XC20×250X \in \mathbb{C}^{20 \times 250}) into a real 128-D latent code zz using a three-layer bidirectional LSTM for both encoder and decoder, with preprocessing to (Ai,sinϕi,cosϕi)(A_i, \sin\phi_i, \cos\phi_i) for stability.
  • Conditional Diffusion Model: Learns to denoise a noised latent ztz_t into a signal-consistent latent z0z_0 given an observed anchor code zcz_c, using a fully connected denoiser network parameterized by κθdiff\kappa_{\theta_\text{diff}}.

The overview pipeline is:

1
X → Encoder E → z → Diffusion network (Condition z_c) → ẑ → Decoder D → X̂

2. Physical Models and Sensor Simulation

2.1. Aircraft Dynamics (UAV)

6-DOF rigid body equations are used:

  • State vector: x=[xGDT,vB,qNB,ωIB,m]Tx = [x_\text{GDT}, v^B, q_{N \rightarrow B}, \omega_{I \rightarrow B}, m]^T
  • Newton-Euler evolution:

mv˙B=FAero+Fprop+mg+,Iω˙B+ωB×(IωB)=MAero+Mpropm \dot{v}^B = F_\text{Aero} + F_\text{prop} + m g + \cdots, \qquad I \dot{\omega}^B + \omega^B \times (I\omega^B) = M_\text{Aero} + M_\text{prop}

with quaternion and NED updates for orientation and position.

  • Aerodynamics use AVL-derived coefficients:

FAero=12ρV2S[CX,CY,CZ]TF_\text{Aero} = \frac{1}{2} \rho V^2 S [C_X, C_Y, C_Z]^T

  • Control is four-PID loop autopilot (airspeed, pitch/altitude, bank/course, sideslip).

2.2. Sensor and Weather Stochasticity

  • IMU: Modeled as

f~=ftrue+bacc+ηacc,b˙=1τb+σww(t),b(0)N(0,σbias2)\tilde{f} = f_\text{true} + b_\text{acc} + \eta_\text{acc}, \qquad \dot{b} = -\frac{1}{\tau} b + \sigma_w w(t), \qquad b(0) \sim \mathcal{N}(0, \sigma_\text{bias}^2)

  • Air data, GNSS, magnetometer, and camera: All subject to independent random walks and Gaussian biases seeded per run.
  • Turbulence: High-frequency velocity spectra use Dryden models, e.g.,

Φu(Ω)=σu22Luπ11+(LuΩ)2\Phi_u(\Omega) = \sigma_u^2 \frac{2L_u}{\pi} \frac{1}{1 + (L_u\Omega)^2}

  • Weather: Scenario-specific linear ramps with parameters (e.g., ΔT\Delta T, vwind|v_\text{wind}|) drawn from seedable distributions.

3. Scenario Generation and Monte Carlo Workflows

3.1. Flight Scenarios (UAV)

  • Abort-to-Recovery: GNSS loss after initial segment, followed by maneuvers (coordinated turns, airspeed/altitude changes, prolonged flight in varying weather), with mission parameters and environmental disturbances drawn per run.
  • Mission-Continuation Bearing-Maneuvers: Shorter, rapid legs with repeated heading changes, constant weather. Both are parameterized for stochastic repeatability.

3.2. Monte Carlo Evaluation

  • Set NexN_\text{ex} number of runs and seedings to ensure scenario coverage.
  • For each run, simulate aircraft, sensors, and navigation plugin; record estimated and ground-truth states.
  • Metrics:

μj=1NnfXj(tn),σj=1N(fXjμj)2,maxj=maxnfXj(tn)\mu_j = \frac{1}{N} \sum_n f_{Xj}(t_n), \quad \sigma_j = \sqrt{\frac{1}{N} \sum (f_{Xj} - \mu_j)^2}, \quad \max_j = \max_n |f_{Xj}(t_n)|

With aggregated means, variances, and maximums for cross-run analysis.

3.3. Underwater Channel Generation

  • Encode an observed impulse response XcX_c to zcz_c.
  • Sample zTN(0,I)z_T \sim \mathcal{N}(0, I), iteratively denoise using

zt1=1αt[ztβt1αˉtε^t1]+σtξz_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left[z_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \hat{\varepsilon}_{t-1} \right] + \sigma_t \xi

where ε^t1=κθdiff(zt,zc,t)\hat{\varepsilon}_{t-1} = \kappa_{\theta_\text{diff}}(z_t, z_c, t)

  • Decode z0z_0 back to reconstructed TVIR, matching higher-order statistics of both training and conditional anchor sample.

4. Training Regimes, Adaptation, and Extensibility

4.1. Pre-training and Fine-tuning (Underwater Channel)

  • Pre-training: On 1 million simulated TVIRs from UnderwaterAcoustics.jl RaySolver across broad physical environments; autoencoder with LAEL_\text{AE} loss (amp + phase, Eq. (14)); diffusion with noise prediction loss (Eq. (22)).
  • Fine-tuning: Performed on as few as 50–100 real world TVIRs, with fast adaptation (minutes), demonstrating that channel characteristics and communication system performance are retained with minimal data.

4.2. Software Plugins and Reproducibility

  • UAV Simulator: User-defined navigation algorithms (e.g., EKF, UKF, visual SLAM, VIO) are integrated via a plugin interface, updated at 100 Hz, and evaluated identically across ensemble runs.
  • Acoustic Simulator: Researchers can substitute TVIR encoders/decoders or diffusion denoisers, or retrain on alternative environmental distributions.
  • Configuration is managed via YAML/INI; all stochastic modules are reproducibly seeded.
Simulator Programming Language User Plugin API Typical Use Cases
Fixed-wing UAV C++11+ NavigationBase (C++) GNSS-denied navigation benchmarking
Underwater Acoustic Python/Torch model Network modules (PyTorch) Surrogate channel generation, comms simulation

5. Evaluation Metrics and Benchmarks

  • Flight navigation: Trajectory drift/bias/variance, final state error, boundedness, dynamic response. Aggregated via per-run and across-run statistics.
  • Underwater channel: Delay/Doppler spread, coherence time, Rice KK-factor, amplitude/phase distributions of significant taps; BER/SNR and CDF matches for BPSK/OFDM against UACC-GAN and stochastic replay baselines (Figs. 16, 21).

StableUASim achieves data-efficiency in surrogate adaptation; with underwater acoustic modeling, fidelity is maintained on as few as one NOF1 or fifty Keppel recordings, outperforming GAN surrogates on low-data benchmarks (Li et al., 22 Nov 2025).

6. Validation, Software Access, and Integration

  • The UAV simulation is open-source (GitHub: edugallogithub/gnssdenied_flight_simulation), built atop CMake, Eigen, Boost, OpenSceneGraph, osgEarth, and OpenGL.
  • Output includes per-run time-series and CSV/MATLAB-compatible aggregate files, facilitating standardized comparison and plotting.
  • The underwater acoustic framework is fully reproducible from the explicit neural and loss formulations, with code structure and training schedules provided to support independent implementation or extension.

7. Research Impact and Prospective Directions

StableUASim defines the state-of-the-art for reproducible, physically consistent simulator-driven evaluation:

  • In UAV navigation, it enables robust Monte Carlo-based quantification of estimator drift and failure rates under stochastic sensor/weather/mission perturbations, addressing the classical GNSS-denied challenge (Gallo, 2021).
  • As a surrogate acoustic channel, it bridges the gap between limited real-world measurements and the high data demand of learning-based underwater communication system design, supporting scalable conditional channel realization with minimal adaptation overhead (Li et al., 22 Nov 2025).

A plausible implication is that, with its emphasis on modularity, stochastic scenario design, and extensible plugin interfaces, StableUASim provides a rigorous substrate for quantitatively benchmarking learning-driven algorithms in safety-critical and nonstationary environments. Further adoption across airborne and underwater simulation and benchmarking efforts is likely, particularly in fields requiring domain adaptation, transfer learning, or robust estimator assessment.

Whiteboard

Follow Topic

Get notified by email when new papers are published related to StableUASim.