How vikashl25/sih-26 works
Project GARUD is an aero-engine digital twin for telemetry monitoring, fault prediction, remaining-useful-life estimation, and mission reliability. The primary demo workflow replays mission telemetry through Simulink/UDP and CAN-FD, processes it in the telemetry service, and has the API Gateway coordinate inference, XAI/advisories, persistence, and a WebSocket dashboard stream. The dashboard also supports mission replay, fleet views, and scenario/fault-injection workflows. Edges follow README architecture statements and shown source references; unsampled subsystem internals are represented at their documented service boundary.
Main entry points: api_gateway/main.py API Gateway · App.tsx Dashboard App · simulation_engine.py Mission Simulation · ml_inference_service/main.py Model Inference
Components 24
Telemetry Ingestion
- Simulink Replay
- UDP–CAN Bridge
simulink/udp_can_bridge.py - CAN Receiver
backend/can_receiver.py
Twin and Services
- Telemetry Service
services/telemetry_service/main.py - Mission Simulation
backend/simulation_engine.py - Feature Engine
backend/feature_engine.py - API Gateway
services/api_gateway/main.py - Mission Persistence
services/mongodb_service/main.py - Telemetry WebSocket
services/api_gateway/main.py
Health Analytics
- Model Inference
services/ml_inference_service/main.py - Model Loader
backend/model_loader.py - XAI and Advisories
services/xai_service/main.py - XAI Engine
explainability/xai_engine.py - Fault Diagnostics
backend/diagnostics.py - RUL Prediction
models/rul_prediction/inference/realtime_rul_predictor.py
Ground Dashboard
- Dashboard App
frontend/src/App.tsx - Live Dashboard
frontend/src/pages/LiveDashboard.tsx - Mission Replay
frontend/src/pages/MissionReplay.tsx - Fleet Overview
frontend/src/pages/FleetOverview.tsx - Scenario Simulation
frontend/src/pages/ScenarioSimulation.tsx - Twin State Store
frontend/src/store/useDigitalTwinStore.ts - 3D Engine Twin
frontend/src/components/dashboard/AeroPistonEngine3D.tsx - Engine Model Builder
frontend/src/components/dashboard/engineModelBuilder.ts
Other components
- Mission Operator
Connections 27
- Mission Operator → Dashboard App: uses
README.md - Simulink Replay → UDP–CAN Bridge: sends UDP
README.md - UDP–CAN Bridge → CAN Receiver: forwards CAN-FD
README.md - CAN Receiver → Telemetry Service: supplies telemetry
README.md - Telemetry Service → Mission Simulation: runs
services/telemetry_service/main.py - Mission Simulation → Feature Engine: processes samples
backend/simulation_engine.py - Mission Simulation → Model Loader: loads models
backend/simulation_engine.py - API Gateway → Telemetry Service: coordinates HTTP
README.md - API Gateway → Model Inference: requests inference
README.md - API Gateway → XAI and Advisories: requests explanations
README.md - API Gateway → Mission Persistence: requests persistence
README.md - Model Inference → Model Loader: uses
services/ml_inference_service/main.py - Mission Simulation → XAI Engine: explains predictions
backend/simulation_engine.py - XAI and Advisories → XAI Engine: uses
services/xai_service/main.py - Mission Simulation → Fault Diagnostics: checks faults
backend/simulation_engine.py - Mission Operator → API Gateway: controls missions
README.md - API Gateway → Telemetry WebSocket: publishes frames
README.md - Telemetry WebSocket → Dashboard App: streams telemetry
README.md - Dashboard App → Live Dashboard: routes to
frontend/src/App.tsx - Dashboard App → Mission Replay: routes to
frontend/src/App.tsx - Dashboard App → Fleet Overview: routes to
frontend/src/App.tsx - Dashboard App → Scenario Simulation: routes to
frontend/src/App.tsx - Mission Replay → API Gateway: requests mission data
- Dashboard App → Twin State Store: receives stream state
- Live Dashboard → 3D Engine Twin: renders twin
- 3D Engine Twin → Engine Model Builder: builds geometry
frontend/src/components/dashboard/AeroPistonEngine3D.tsx - Model Inference → RUL Prediction: predicts RUL