CARLA ? C-Shenron based Simualtor for Sensor data generation.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

2.3 KiB

[Plan] Shenron Model-Based Development (MBD) Integration

This plan shifts the integration to a Model-Based Development architecture. We will treat the isolated Shenron logic as a "strictly defined black box" (similar to a Simulink model) and enhance it to output "Rich" radar data.

User Review Required

[!IMPORTANT] Rich Point Cloud: We will modify the extraction logic to output more than just geometry. The new format will be: [x, y, z, velocity, SNR, RCS_estimate].

Source of Data:

  • SNR: Extracted from the peak magnitude in the Range-Doppler heatmaps.
  • RCS: Back-calculated from the return power logic in Sceneset.
  • Noise: Sampled from the simulated noise floor in ConfigureRadar.

Phase 1: Environment & Dependency Setup

... (Previously defined)


Phase 2: The "Black Box" Wrapper & Rich Extraction

[MODIFY] ISOLATE/sim_radar_utils/radar_processor.py

Modify convert_to_pcd() to preserve the magnitude of the detected peaks.

  • Current: Returns [x, y].
  • New: Returns [x, y, z, velocity, magnitude].

[NEW] ISOLATE/model_wrapper.py

The wrapper handles "Rich" data synthesis and telemetry:

  1. Call Sceneset for ground-truth physical power (RCS).
  2. Call HeatmapGen for the noisy ADC stream.
  3. Call RadarProcessor to extract detected peaks.
  4. Telemetry: New get_signal_metrics() method exports SNR and noise floor data.

Phase 3: Modular Pipeline Integration

The automated pipeline now supports concurrent hardware simulation.

[MODIFY] scripts/generate_shenron.py

Loop through multiple hardware profiles:

  • AWRL1432: Short-range, high-resolution.
  • RadarBook: Long-range standard.

[MODIFY] scripts/data_to_mcap.py

UnifiedTopic Management:

  • /radar/native
  • /radar/awrl1432
  • /radar/radarbook

Verification Plan

Automated Verification

  1. Pilot Run: Record a 100-frame scenario with semantic LiDAR.
  2. Post-Process: Run python scripts/generate_shenron.py.
  3. Check Output: Verify data/<session>/awrl1432/ and radarbook/ contain 100 .npy files each.

Manual Verification

  1. Run python scripts/data_to_mcap.py.
  2. Open the MCAP in Foxglove and verify that the /radar/radarbook/metrics topic shows stable telemetry curves.