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
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:
- Call
Scenesetto get the ground-truth physical power (RCS). - Call
HeatmapGento generate the noisy ADC stream. - Call
RadarProcessorto extract detected peaks. - 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
- API Integrity: Run a script that initializes the
ShenronRadarModeland passes a dummy [N, 7] array to ensure it executes and returns the correct [N, 4] shape. - Batch Run: Execute
generate_shenron.pyon an existing dataset.
Manual Verification
- Compare the MCAP output with vs. without the Shenron layer to ensure topic alignment.
Verification Plan
Automated Verification
- Pilot Run: Record a 100-frame scenario with semantic LiDAR.
- Post-Process: Run
python scripts/generate_shenron.py. - Check Output: Verify
data/<session>/shenron_radar/contains 100.npyfiles.
Manual Verification
- Run
python scripts/data_to_mcap.py. - Open the MCAP in Foxglove and verify that the
/radar/shenrontopic perfectly overlays with the/lidardata but shows radar-typical noise and sparsity.