Download Prebuilt Module
Quote for Source Code
The v15.2.0 update focuses on bringing more realism to your sensor data. Following the feature-rich v15.1.0 release, this version refines the physics of signal noise and expands the data richness of our LiDAR outputs.
What’s New?
🛰️ Advanced Noise Modeling
We’ve overhauled how noise is handled to better represent real-world hardware limitations:
- Deterministic Receiver Noise: A new simulation engine ensures noise generation is consistent and repeatable across different runs.
- Performance Leap: By moving noise generation from Python into our core C++ engine, simulations are now faster and more memory-efficient.
🔦 Richer LiDAR Data
LiDAR outputs are no longer just point clouds. We’ve added physics-based fields to provide deeper environmental context:
- Lambertian Intensity: Intensity is now calculated using a $cos(\theta_i) / r^2$ model, accounting for the angle of incidence and distance.
- Surface Normals: Output now includes normals and range fields for more complex post-processing and perception training.
⚡ Robust GPU Execution
We’ve hardened the GPU pipeline to make it more “production-ready”:
- Smart Detection: The system now warns you immediately if you select GPU mode but the environment lacks CUDA support.
- Safety First: Improved error detection during sensor initialization and memory reservation helps prevent crashes before they happen.
Changelog Summary
Added
- LiDAR: Surface normals and range fields; intensity based on Lambertian reflection.
- Transmitter: Phase noise parameters (
pn_f,pn_power, etc.) for per-frame generation. - Documentation: New guides for receiver noise and transmitter phase noise configurations.
Changed & Optimized
- Speed: Optimized BVH traversal, waveform phase calculations, and antenna pattern precomputation.
- Efficiency: Centralized parameter validation and improved memory handling for baseband buffers.
- Architecture: Refactored internal simulators (Interference, RCS, and Radar) for better stability.
Fixed & Removed
- Reliability: Fixed error code propagation so Python correctly catches and reports C++ simulator failures.
- Stability: Corrected Cython exception handling during complex mesh loading.