Browse Source

docs: upgrade Memory Update Protocol to v1.1 and expand v1.1 "Ares" Chronicles

- Overhauled intel/memory_update.md with v1.1 protocol:
    - Implemented "Trigger Identification" thresholds (Structural, Physical, Behavioral).
    - Added "AI Search Optimization" requirements (Keyword Density, Structural Consistency).
    - Mandated "Doc-Code Parity" verification checklist.
    - Standardized absolute file:/// URIs for instant cross-document navigation.
    - Established "Rule of Thumb" for Chronicles executive summary length (10-12%).

- Expanded CHRONICLES.md Executive Summary:
    - Added high-density briefings for Architecture (Stage-based), Radar (Shenron Iterations), Data Export (MCAP Metrology), Dashboard (SSE), and the new Physics Layer.

- Synchronized gemini.md, Shenron_debug.md, and dashboard.md with v1.1 "Ares" architecture:
    - Documented VideoStage, centralized physics.py, and new telemetry tags.
    - Resolved legacy "Pending Issues" in calibration logs.
main
RUSHIL AMBARISH KADU 4 weeks ago
parent
commit
269aecdd35
  1. 56
      gemini.md
  2. 23
      intel/CHRONICLES.md
  3. 67
      intel/memory_update.md
  4. 34
      intel/radar/diagnostics/Shenron_debug.md

56
gemini.md

@ -16,18 +16,28 @@ This document is the consolidated source of truth for AI agents working on the F
- `run.bat`: One-click runner for the simulation (activates `carla312` conda env). - `run.bat`: One-click runner for the simulation (activates `carla312` conda env).
- `config.py`: Global simulation constants (FPS, sensor specs, ego model). - `config.py`: Global simulation constants (FPS, sensor specs, ego model).
- `src/main.py`: Thin CLI wrapper for the `PipelineManager`. - `src/main.py`: Thin CLI wrapper for the `PipelineManager`.
- `src/pipeline/`: **[NEW]** Core stage-based architecture (Manager + Stages).
- `src/processing/`: **[NEW]** Centralized physics and sensor augmentation logic.
- `src/pipeline/`: Core stage-based architecture (Manager + Stages).
- `src/pipeline/base.py`: `PipelineContext` dataclass and `PipelineStage` ABC.
- `src/pipeline/manager.py`: Sequential stage executor with cleanup guarantees.
- `src/pipeline/stages/`: Individual stage implementations.
- `src/processing/`: Centralized physics and sensor augmentation logic.
- `src/processing/physics.py`: Radial velocity injection, ADAS metrics, actor classification.
- `src/sensors.py`: `SensorManager` — Handles camera, radar, and lidar sync. - `src/sensors.py`: `SensorManager` — Handles camera, radar, and lidar sync.
- `src/recorder.py`: `Recorder` — Serializes raw frames to disk asynchronously. - `src/recorder.py`: `Recorder` — Serializes raw frames to disk asynchronously.
- `scenarios/`: Contains scenario implementations (e.g., `braking.py`, `cutin.py`, `showcase.py`). - `scenarios/`: Contains scenario implementations (e.g., `braking.py`, `cutin.py`, `showcase.py`).
- `scripts/`: Utility scripts for data processing (e.g., `data_to_mcap.py`, `generate_shenron.py`).
- `scripts/data_to_mcap.py`: Production MCAP converter with full metrology suite.
- `scripts/generate_shenron.py`: Orchestrates Shenron radar synthesis per session.
- `scripts/test_shenron.py`: Standalone diagnostic testbench for radar iteration.
- `scripts/ISOLATE/`: High-fidelity radar simulation engine.
- `scripts/ISOLATE/sim_radar_utils/`: Visualization and DSP utilities.
- `scripts/ISOLATE/sim_radar_utils/plots.py`: **Single source of truth** for all radar heatmap rendering (`FastHeatmapEngine`, `postprocess_ra`, `scan_convert_ra`).
- `scripts/ISOLATE/sim_radar_utils/config.yaml`: DSP processor and plot limit configuration.
- `dashboard/`: Flask backend and static web assets for the GUI. - `dashboard/`: Flask backend and static web assets for the GUI.
- `intel/`: Detailed deep-dive documentation for specific components. - `intel/`: Detailed deep-dive documentation for specific components.
- `intel/CHRONICLES.md`: **Project History** — Weekly evolution and major milestones. - `intel/CHRONICLES.md`: **Project History** — Weekly evolution and major milestones.
- `intel/memory_update.md`: **Agent Protocol** — Standardized guide for repo memory updates.
- `intel/memory_update.md`: **Agent Protocol (v1.1)** — Standardized guide for repo memory updates.
- `intel/internal/[version]/`: Versioned release changelogs and walkthroughs.
- `intel/radar/`: Deep dives into radar physics (e.g. `research/isotropic_illumination_problem.md`). - `intel/radar/`: Deep dives into radar physics (e.g. `research/isotropic_illumination_problem.md`).
- `scripts/ISOLATE/`: High-fidelity radar simulation engine and plotting utils.
--- ---
@ -36,22 +46,24 @@ This document is the consolidated source of truth for AI agents working on the F
### `src/pipeline/manager.py` (The Director) ### `src/pipeline/manager.py` (The Director)
- **Role:** Sequential executor for pipeline stages. - **Role:** Sequential executor for pipeline stages.
- **Workflow:** Reads `PipelineContext` → Skips stages if requested → Executes `Sim``Shenron``MCAP``Video`. - **Workflow:** Reads `PipelineContext` → Skips stages if requested → Executes `Sim``Shenron``MCAP``Video`.
- **Error Handling:** Halts the pipeline on critical stage failures but ensures cleanup for all started stages.
- **Error Handling:** Halts the pipeline on critical stage failures but ensures `cleanup()` is called for all started stages (reverse order).
### `src/main.py` (CLI Entry Point) ### `src/main.py` (CLI Entry Point)
- **Role:** Parses arguments and initializes the `PipelineManager`. - **Role:** Parses arguments and initializes the `PipelineManager`.
- **Features:** Supports selective execution via `--only-mcap` or `--skip-shenron`.
- **Features:** Supports selective execution via `--only-mcap`, `--only-shenron`, `--skip-shenron`, `--skip-mcap`, `--skip-sim`.
- **Session Reuse:** `--session <path>` allows re-processing existing data without re-running the simulation.
### `src/pipeline/stages/` (The Workers) ### `src/pipeline/stages/` (The Workers)
- `SimulationStage`: Handles CARLA connection, ego spawning, and the capture loop.
- `ShenronStage`: Triggers physics-based radar synthesis via `generate_shenron.py`.
- `McapStage`: Performs Foxglove serialization via upgraded `data_to_mcap.py`.
- `SimulationStage` (`sim_stage.py`): Handles CARLA connection, ego spawning, sensor capture loop, and `stop.flag` detection.
- `ShenronStage` (`shenron_stage.py`): Triggers physics-based radar synthesis via `generate_shenron.py`. Non-fatal on error.
- `McapStage` (`mcap_stage.py`): Performs Foxglove serialization via `data_to_mcap.py`.
- `VideoStage` (`video_stage.py`): Stitches captured camera frames into `.mp4` preview videos (dash + third-person).
### `src/processing/physics.py` (The Math Layer) ### `src/processing/physics.py` (The Math Layer)
- Centralized source of truth for: - Centralized source of truth for:
- **Radial Velocity Injection**: Projecting relative velocity onto LOS.
- **ADAS Metrics**: Real-time Range, Azimuth, and Closing Velocity.
- **Actor Categorization**: Classifying CARLA actors for telemetry.
- **Radial Velocity Injection**: Projecting relative velocity onto LOS via `calculate_radial_velocity()`.
- **ADAS Metrics**: Real-time Range, Azimuth, and Closing Velocity via `calculate_relative_metrics()`.
- **Actor Categorization**: Classifying CARLA actors into `vehicle`, `vru`, `pedestrian` via `get_actor_class()`.
### `src/sensors.py` (SensorManager) ### `src/sensors.py` (SensorManager)
- Manages Camera (RGB), Radar, and LiDAR. - Manages Camera (RGB), Radar, and LiDAR.
@ -61,6 +73,7 @@ This document is the consolidated source of truth for AI agents working on the F
### `scenarios/base.py` (The Plugin Contract) ### `scenarios/base.py` (The Plugin Contract)
- All scenarios must inherit from `ScenarioBase`. - All scenarios must inherit from `ScenarioBase`.
- Required methods: `setup()`, `step()`, `cleanup()`, and `name` property. - Required methods: `setup()`, `step()`, `cleanup()`, and `name` property.
- Optional hooks: `on_ego_spawned()`, `get_scenario_metadata()`, `max_frames`, `weather`, `ego_spawn_point`.
- Support for CLI parameter injection via `apply_parameters(args.params)`. - Support for CLI parameter injection via `apply_parameters(args.params)`.
--- ---
@ -69,21 +82,35 @@ This document is the consolidated source of truth for AI agents working on the F
### Data Recording (`src/recorder.py`) ### Data Recording (`src/recorder.py`)
- Saves images as `.png`, radar/lidar as `.npy`, and metadata as `.jsonl`. - Saves images as `.png`, radar/lidar as `.npy`, and metadata as `.jsonl`.
- **Relative ADAS Metrics:** Calculates range, azimuth, and closing velocity for all actors.
- **Relative ADAS Metrics:** Calculates range, azimuth, and closing velocity for all actors via `src/processing/physics.py`.
### MCAP Conversion (`scripts/data_to_mcap.py`) ### MCAP Conversion (`scripts/data_to_mcap.py`)
- Converts raw dataset folders into Foxglove-compatible `.mcap` files. - Converts raw dataset folders into Foxglove-compatible `.mcap` files.
- **Coordinate Conversion:** Negates Y and Yaw to switch from CARLA left-handed to ROS/Foxglove right-handed convention. - **Coordinate Conversion:** Negates Y and Yaw to switch from CARLA left-handed to ROS/Foxglove right-handed convention.
- **Radar Math:** Converts spherical (Depth/Az/Alt) to Cartesian (XYZ) for PointCloud representation. - **Radar Math:** Converts spherical (Depth/Az/Alt) to Cartesian (XYZ) for PointCloud representation.
- **Metrology Suite (v1.1):**
- **RD Heatmaps:** dB-converted via `10*log10(data) - 68.0` system gain offset.
- **RA Dual Plots:** Static (absolute bounds) + Dynamic (auto-scaled peak tracking) via `FastHeatmapEngine`.
- **CFAR Visualization:** dB-converted threshold mask.
- **Telemetry:** Flattened metrics schema for native Foxglove Plot panel graphing.
- **3D FOV Frustums:** Hardware-accurate LINE_LIST wireframes per radar type.
### Visualization Engine (`scripts/ISOLATE/sim_radar_utils/plots.py`)
- `render_heatmap()`: Stateless single-shot colormap rendering.
- `FastHeatmapEngine`: Stateful matplotlib renderer that reuses figure memory for high-speed frame-by-frame rendering.
- `postprocess_ra()`: Clutter subtraction, log compression, and fixed dynamic range clipping.
- `scan_convert_ra()`: Polar-to-Cartesian sector projection for RA BEV display.
--- ---
## 🖥️ 4. GUI Dashboard Architecture ## 🖥️ 4. GUI Dashboard Architecture
- **Backend:** Flask (`app.py`) running on port 5000. - **Backend:** Flask (`app.py`) running on port 5000.
- **Version:** Orchestrator v1.1.
- **Simulator Lifecycle:** Dashboard polls `/api/simulator/status` to detect if CARLA is Offline/Ready. Provides one-click initialization via the UI. - **Simulator Lifecycle:** Dashboard polls `/api/simulator/status` to detect if CARLA is Offline/Ready. Provides one-click initialization via the UI.
- **GPU Resource Control:** Incorporates "Idle Mode" (Synchronous Throttling) to drop CARLA GPU usage to ~0% when inactive or while Shenron processing is active. - **GPU Resource Control:** Incorporates "Idle Mode" (Synchronous Throttling) to drop CARLA GPU usage to ~0% when inactive or while Shenron processing is active.
- **Streaming:** Uses **Server-Sent Events (SSE)** to stream `stdout` to the browser. - **Streaming:** Uses **Server-Sent Events (SSE)** to stream `stdout` to the browser.
- **Visual Feedback Tags:** `[SHENRON_INIT]`, `[SHENRON_STEP]`, `[AUTO-MCAP]`, `[PROCESS_COMPLETED]` drive progress bars and telemetry HUD.
- **Execution:** Spawns `run.bat` as a subprocess. - **Execution:** Spawns `run.bat` as a subprocess.
- **Crucial Rule:** Always set `PYTHONUNBUFFERED=1` to prevent log delays in the GUI console. - **Crucial Rule:** Always set `PYTHONUNBUFFERED=1` to prevent log delays in the GUI console.
@ -109,6 +136,7 @@ This document is the consolidated source of truth for AI agents working on the F
- **Run Scenario:** `cmd /c run.bat <scenario_name> --frames <N> --params "KEY=VAL" --weather <Preset>` - **Run Scenario:** `cmd /c run.bat <scenario_name> --frames <N> --params "KEY=VAL" --weather <Preset>`
- **List Scenarios:** `cmd /c run.bat --list-scenarios` - **List Scenarios:** `cmd /c run.bat --list-scenarios`
- **Run Testbench:** `cmd /c "call C:\ProgramData\miniconda3\Scripts\activate.bat carla312 && python scripts/test_shenron.py --iter <Name>"` - **Run Testbench:** `cmd /c "call C:\ProgramData\miniconda3\Scripts\activate.bat carla312 && python scripts/test_shenron.py --iter <Name>"`
- **Re-process MCAP Only:** `cmd /c run.bat --only-mcap --session data/<session_folder>`
## 🤖 7. Agent Execution Rules ## 🤖 7. Agent Execution Rules

23
intel/CHRONICLES.md

@ -4,6 +4,25 @@ This document is the definitive record of the Fox CARLA ADAS Simulation project.
--- ---
## 📌 Executive Summary (Current State: v1.1 "Ares")
### Architecture
The monolithic `main.py` orchestrator has been fully decomposed into a **stage-based pipeline**. Four discrete stages — `SimulationStage`, `ShenronStage`, `McapStage`, and `VideoStage` — are managed by the [PipelineManager](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/pipeline/manager.py), which handles sequential execution, skip logic, and guaranteed reverse-order cleanup. The shared state between stages flows through a `PipelineContext` dataclass defined in [base.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/pipeline/base.py). All path resolution uses `Pathlib` for Windows robustness.
### Radar Engine (Shenron)
The physics-based FMCW radar simulator has matured through **33 iterations** — from an unstable legacy port to a $1/R^4$-calibrated testbench with hardware-accurate antenna patterns. All visualization and DSP post-processing is centralized in [plots.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/sim_radar_utils/plots.py), which exposes the `FastHeatmapEngine` (stateful matplotlib renderer for high-speed frame rendering), `postprocess_ra()` (clutter subtraction + 68.0 dB log compression), and `scan_convert_ra()` (polar-to-Cartesian sector projection). Hardware specs are persisted via `radar_specs.json` during synthesis for downstream axis scaling.
### Data Export (MCAP)
The production converter [data_to_mcap.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/data_to_mcap.py) now has full parity with the [test_shenron.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/test_shenron.py) diagnostic testbench. Key metrology channels include: dB-calibrated **RD heatmaps** (with 68.0 system gain offset), **dual RA plots** (Static absolute bounds + Dynamic peak-tracking), **CFAR threshold masks**, **flattened telemetry** for native Foxglove Plot panel graphing, and **3D FOV frustum wireframes** (LINE_LIST) per radar hardware type.
### Dashboard
The Flask GUI orchestrator has been bumped to **v1.1**. It uses **Server-Sent Events (SSE)** to stream stdout, with the frontend JS parsing structured tags — `[SHENRON_INIT]`, `[SHENRON_STEP]`, `[AUTO-MCAP]`, `[PROCESS_COMPLETED]` — to drive dual progress bars, a hardware telemetry HUD (GPU, VRAM, radar specs), and live signal metrics (SNR, point count). GPU resource control via synchronous "Idle Mode" ensures near-zero VRAM usage when the simulator is not actively running a scenario.
### Physics Layer
Sensor augmentation logic has been extracted from the recorder into [physics.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/processing/physics.py), providing reusable functions for radial velocity injection (`calculate_radial_velocity`), ADAS relative metrics (`calculate_relative_metrics`), and actor classification (`get_actor_class`). This enables standalone re-processing of existing datasets without a live CARLA connection.
---
## 🏛️ 1. Project Manifesto: The Vision ## 🏛️ 1. Project Manifesto: The Vision
The Fox project was born from a need for **deterministic, high-fidelity ADAS validation.** While standard CARLA simulations provide a starting point, they often lack the physical realism required for modern radar sensor fusion. The Fox project was born from a need for **deterministic, high-fidelity ADAS validation.** While standard CARLA simulations provide a starting point, they often lack the physical realism required for modern radar sensor fusion.
@ -17,7 +36,7 @@ The Fox project was born from a need for **deterministic, high-fidelity ADAS val
## 🛰️ 2. The Shenron Iteration Log (The Long Road to Fidelity) ## 🛰️ 2. The Shenron Iteration Log (The Long Road to Fidelity)
The "Shenron" radar engine evolved through 26 critical iterations. This table tracks its journey from a broken port to a physically consistent testbench.
The "Shenron" radar engine evolved through **33 critical iterations**. This table tracks its journey from a broken port to a physically consistent testbench. Detailed calibration log: [Shenron_debug.md](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/intel/radar/diagnostics/Shenron_debug.md).
| Iteration | Focus | The "Why" (Decision & Rationale) | Technical Result | | Iteration | Focus | The "Why" (Decision & Rationale) | Technical Result |
| :--- | :--- | :--- | :--- | | :--- | :--- | :--- | :--- |
@ -196,4 +215,4 @@ After 30 iterations of parameter tuning, we identified the fundamental reason fo
--- ---
*Generated by Antigravity AI | Fox CARLA ADAS Simulation | 2026-04-15*
*Generated by Antigravity AI | Fox CARLA ADAS Simulation | Last Updated: 2026-04-23*

67
intel/memory_update.md

@ -1,45 +1,56 @@
# 🧠 Agent Memory Update Protocol
# 🧠 Agent Memory Update Protocol (v1.1)
This document instructs future AI agents on how to maintain the repository's documentation and "memory" files. Follow these steps after every significant feature implementation, technical breakthrough, or calibration milestone.
This document ensures that the repository's "Digital Soul"—its architecture, physics rationale, and technical history—remains synchronized with the code. Follow these steps to maintain high-fidelity situational awareness for both human and AI developers.
--- ---
## 📂 Target Files
## 📂 1. Core Memory Targets
| File | Purpose | Update Context |
| File | Context Layer | Purpose |
| :--- | :--- | :--- | | :--- | :--- | :--- |
| `intel/CHRONICLES.md` | The Project Saga | Git milestones, technical "Why" & "How," bug post-mortems. |
| `gemini.md` | Source of Truth | Architecture changes, new components, active file rules. |
| `intel/radar/diagnostics/Shenron_debug.md` | Calibration Log | Radar iterations (01-XX), specific physics fixes. |
| `intel/scenarios/*.md` | Scenario Guides | Decision rationale for specific testing maneuvers. |
| `gemini.md` | **Structural** | The high-level Source of Truth. Update when layout or dependencies change. |
| `intel/CHRONICLES.md` | **Historical** | The "Saga." Explains the *Why* behind the *What.* Captures math/physics breakthroughs. |
| `intel/radar/diagnostics/` | **Scientific** | Iteration logs for radar calibration, SNR tuning, and coordinate fixes. |
| `intel/internal/[version]/` | **Versioned** | Snapshots of major releases (Walkthroughs, Changelogs). |
--- ---
## 🔄 Update Procedure
## 🔄 2. The 4-Step Update Procedure
### Step 1: Analyze Evolution
Run the following to understand what changed:
```powershell
git log --pretty=format:"%ad | %s | %b" --date=short -n 10
```
### Step 1: Trigger Identification
Determine if your changes meet the "Memory Threshold":
- [ ] **Structural**: Did you move files or add new components (e.g., `src/pipeline`)?
- [ ] **Physical**: Did you change a formula, gain offset, or coordinate transform?
- [ ] **Behavioral**: Did you change how the Dashboard or Orchestrator interacts with the system?
### Step 2: Extract Rationale
Don't just log *what* happened. Documentation must explain:
- **The Problem**: What was breaking or inaccurate?
- **The Decision**: Why was this specific technical path taken over others?
- **The Physics/Math**: What formulas or logical constraints were applied?
### Step 2: Contextual Extraction
Don't just log the change. Extract the **Rationale**:
- **The Problem**: What was breaking, blurry, or inaccurate?
- **The Decision**: Why this path? (e.g., "Used `Pathlib` over `os.path` for robust Windows pathing").
- **The Physics**: Document formulas using LaTeX: $P_{rec} = \frac{P_{tx} G^2 \lambda^2 \sigma}{(4\pi)^3 R^4}$.
### Step 3: Atomic Updates
- **Chronicles**: Append new daily entries to Section 6. If a major milestone was reached, create a dedicated Deep-Dive in Section 4.
- **Iteration Log**: If working on the Shenron radar, update the Iteration Table (01-XX) with the latest physics impacts.
- **Gemini**: Update the "Repository Layout" if new directories or scripts are added.
### Step 3: Atomic Synthesis
- **Chronicles**: Append daily entries to Section 6. Update Section 4 with architectural deep-dives. **Rule of Thumb:** Maintain the "Executive Summary" at ~10-12% of the document's total length to ensure it remains a high-density standalone briefing.
- **Gemini**: Ensure the "Repository Layout" and "Component Reference" match the current `tree /f`.
- **Linking**: Cross-link documents using absolute `file:///` URIs to allow instant agent navigation.
### Step 4: Verification (Doc-Code Parity)
Perform a final "Sanity Check":
- [ ] Does the documentation reflect the *current* state of the code?
- [ ] Are any legacy "Knobs or Dials" still documented that were removed?
- [ ] Did you update the "Last Updated" timestamp in `gemini.md`?
--- ---
## 🎨 Style Guide
- **Premium Aesthetic**: Use GitHub alerts (Note, Important, Tip) to highlight key insights.
- **Technical Rigor**: Use LaTeX math for physics formulas.
- **No Fluff**: Keep descriptions concise but info-dense.
## 🎨 3. Style & Search Optimization
### For the Human Reader:
- **Premium Aesthetics**: Use GitHub alerts (`> [!IMPORTANT]`) and Mermaid diagrams for flows.
- **Media**: Embed screenshots or `mcap` recording clips for visual proof of calibration.
### For the AI Agent:
- **Keyword Density**: Use specific terms like "coordinate system," "RHS conversion," and "sync mode" to aid semantic search.
- **Structural Consistency**: Keep headers predictable so future agents can regex the chronology efficiently.
--- ---
*Generated by Antigravity AI | Repository Memory System | 2026-04-15*
*Generated by Antigravity AI | Fox Memory System | Updated: 2026-04-23*

34
intel/radar/diagnostics/Shenron_debug.md

@ -1,6 +1,6 @@
**Date:** 2026-04-03 — 2026-04-06 (Calibration Update)
**Date:** 2026-04-03 — 2026-04-23 (v1.1 Sync Update)
**Engineer:** Fox ADAS Pipeline | Antigravity AI **Engineer:** Fox ADAS Pipeline | Antigravity AI
**Objective:** Resolve physics-based discrepancies in the C-Shenron synthetic radar pipeline, calibrate physical materials for turn-stability, and align sensor coordinate frames for zero-parallax synchronization.
**Objective:** Resolve physics-based discrepancies in the C-Shenron synthetic radar pipeline, achieve production-testbench parity, and stabilize the modular stage-based architecture.
--- ---
@ -213,8 +213,8 @@ python scripts/test_shenron.py --iter "07_high_def_sync"
### Known Pending Issues (Next Steps) ### Known Pending Issues (Next Steps)
1. **Turn Lag:** Shenron points appear to trail ~0.5-1 frame behind the CARLA native radar during sharp turns. Suspected cause: LiDAR data captured at `T-1` but rendered with ego pose at `T`. Requires timestamp sync investigation in `recorder.py`. 1. **Turn Lag:** Shenron points appear to trail ~0.5-1 frame behind the CARLA native radar during sharp turns. Suspected cause: LiDAR data captured at `T-1` but rendered with ego pose at `T`. Requires timestamp sync investigation in `recorder.py`.
2. **Angular FOV Validation:** Compare Shenron angular output vs. AWRL1432BOOST hardware spec (`+/- 60°`) to ensure angular clipping is not removing valid detections.
3. **CFAR Threshold Tuning:** Iteration 16 magnitude boost (+234%) has significantly improved SNR. `threshold: 20` in `config.yaml` should be recalibrated to maintain precision.
2. ~~**Angular FOV Validation:** Compare Shenron angular output vs. AWRL1432BOOST hardware spec.~~ **RESOLVED (v1.1):** 3D FOV frustums now validate angular coverage in real-time.
3. ~~**CFAR Threshold Tuning:** Iteration 16 magnitude boost should be recalibrated.~~ **RESOLVED (Iter 32):** `FastHeatmapEngine` with 68.0 dB system gain offset stabilizes CFAR visualization.
4. **Target Classification:** Proof of bimodal Magnitude Distribution in Iteration 16 allows for potential MLC (Machine Learning Classifier) based on point intensity maps. 4. **Target Classification:** Proof of bimodal Magnitude Distribution in Iteration 16 allows for potential MLC (Machine Learning Classifier) based on point intensity maps.
--- ---
@ -223,18 +223,20 @@ python scripts/test_shenron.py --iter "07_high_def_sync"
| File | Role | | File | Role |
| :--- | :--- | | :--- | :--- |
| `scripts/ISOLATE/model_wrapper.py` | Public API — single entry point for Shenron |
| `scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/lidar.py` | LiDAR ingestion, semantic mapping, axis swap |
| `scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/ConfigureRadar.py` | Hardware profiles (awrl1432, radarbook, ti_cascade) |
| `scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/shenron/Sceneset.py` | Fresnel reflection + RCS physics |
| `scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/shenron/heatmap_gen_fast.py` | GPU FMCW ADC synthesis |
| `scripts/ISOLATE/sim_radar_utils/radar_processor.py` | Range/Doppler FFT + CFAR detection |
| `scripts/ISOLATE/sim_radar_utils/config.yaml` | DSP processor configuration |
| `scripts/test_shenron.py` | Testbench — generates and packages iterations |
| `scripts/data_to_mcap.py` | Main MCAP converter (Dashboard path) |
| `src/recorder.py` | Data capture — includes velocity + semantic metadata |
| `intel/radar/archive/shenron_architecture_deepdive.html` | Visual HTML architecture guide |
| [model_wrapper.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/model_wrapper.py) | Public API — single entry point for Shenron |
| [lidar.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/lidar.py) | LiDAR ingestion, semantic mapping, axis swap |
| [ConfigureRadar.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/ConfigureRadar.py) | Hardware profiles (awrl1432, radarbook, ti_cascade) |
| [Sceneset.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/shenron/Sceneset.py) | Fresnel reflection + RCS physics |
| [heatmap_gen_fast.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/e2e_agent_sem_lidar2shenron_package/shenron/heatmap_gen_fast.py) | GPU FMCW ADC synthesis |
| [plots.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/sim_radar_utils/plots.py) | **Single Source of Truth** for visualization (`FastHeatmapEngine`, `postprocess_ra`, `scan_convert_ra`) |
| [radar_processor.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/sim_radar_utils/radar_processor.py) | Range/Doppler FFT + CFAR detection |
| [config.yaml](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/ISOLATE/sim_radar_utils/config.yaml) | DSP processor configuration |
| [test_shenron.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/test_shenron.py) | Testbench — generates and packages iterations |
| [data_to_mcap.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/scripts/data_to_mcap.py) | Main MCAP converter (Dashboard path) |
| [recorder.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/recorder.py) | Data capture — includes velocity + semantic metadata |
| [physics.py](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/src/processing/physics.py) | Centralized ADAS physics (radial velocity, range, azimuth) |
| [shenron_architecture_deepdive.html](file:///d:/CARLA/CARLA_0.9.16/PythonAPI/Fox/intel/radar/archive/shenron_architecture_deepdive.html) | Visual HTML architecture guide |
--- ---
*Generated by Antigravity AI | Fox CARLA ADAS Pipeline | 2026-04-06 (Calibration Milestone)*
*Generated by Antigravity AI | Fox CARLA ADAS Pipeline | Last Updated: 2026-04-23*
Loading…
Cancel
Save