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.4 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 will now handle the "Rich" data synthesis:

  1. Call Sceneset to get the ground-truth physical power (RCS).
  2. Call HeatmapGen to generate the noisy ADC stream.
  3. Call RadarProcessor to extract detected peaks.
  4. Merge the detected peaks with the underlying RCS data to provide a complete "Semantic Radar" point cloud.

Phase 3: Modular Pipeline Integration

... (Previously defined)


Verification Plan

Automated Verification

  1. API Integrity: Run a script that initializes the ShenronRadarModel and passes a dummy [N, 7] array to ensure it executes and returns the correct [N, 4] shape.
  2. Batch Run: Execute generate_shenron.py on an existing dataset.

Manual Verification

  1. Compare the MCAP output with vs. without the Shenron layer to ensure topic alignment.

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>/shenron_radar/ contains 100 .npy files.

Manual Verification

  1. Run python scripts/data_to_mcap.py.
  2. Open the MCAP in Foxglove and verify that the /radar/shenron topic perfectly overlays with the /lidar data but shows radar-typical noise and sparsity.