Skip to main content
★ ISRO / SIH 2026 · PS-26169Air-Gapped SIL Simulation100% Pass Rate · 492 Tests

SANKET

AI-Assisted Virtual Camera Tracking System for Coarse Optical Alignment of Mobile Free Space Optical Communication (FSOC) Terminals.

An air-gapped Software-in-the-Loop (SIL) simulation and tracking workstation developed for the Department of Space and the Indian Space Research Organisation (ISRO) under Smart India Hackathon 2026.

Year2026
Role & ScopeLead Architect & Core Dev
Sponsoring AgencyISRO / Dept. of Space
ArchitectureAir-Gapped Standalone SIL
Operational DemonstrationRecorded Runtime · 22.0s
SANKET v1.0 Operational Launch Demo · 1080p 30 FPS
00:00 / 00:22

▶ High-definition operational walkthrough showcasing real-time optical beacon acquisition, 3D pedestal frustum visualization in Three.js, 2000×2000 wide-area spatial monitoring, and the automated 19-scenario ISRO benchmark matrix under noise and fog.

Empirical Performance

Measured Runtime Scorecard (Run ID: run_1790716901)

Recorded automatically by SANKET's telemetry engine during an uninterrupted clean execution of scenario_2_circular across 900 frames under zero-fabrication logging.

Acquisition TimePASS (+96.5%)
0.067sFrame 2
Threshold: ≤ 2.000 s
Tracking ErrorPASS (+51.8%)
4.82 pxMean
Threshold: ≤ 10.00 px
Throughput23× REAL-TIME
461.8FPS
P50 Latency: 0.88 ms (Spec ≥ 20 FPS)
Target Loss Rate100% LOCK
0.00%0 / 898 lost
Threshold: < 5.00%
Workstation Tour

Five Integrated Production Workspaces

Explore the five specialized operator consoles engineered natively within PySide6 and QtWebEngine.

PERCEPTION ENGINEMonochrome Focal Plane Array (640 × 480)
1920 × 1080 Native Screenshot · SANKET v1.0
SANKET Developer Workspace — 2D Sensor HUD View

The primary coarse alignment detector viewport. Displays the degraded 8-bit monochrome frame with live HUD overlays: cyan boresight crosshairs, a 1.5 px deadband radius circle, green candidate bounding boxes, and the sub-pixel intensity centroid reticle. Operating solely on raw pixel data, it tracks the Gaussian PSF beacon spot across adverse noise.

Sensor Resolution640 × 480 px uint8
Lens Field of View4.0° (H) × 3.0° (V)
Effective Focal Lengthf = 9167.3 px
Centroiding MethodIntensity-Weighted CoG (<0.1 px RMSE)
01 · Physical Constraint

The Spatial Uncertainty Cone in Deep-Space Laser Links

Unlike broad radio frequency (RF) broadcasts, Free Space Optical Communication relies on laser beams with microradian-level divergence angles (50 μrad to 2 mrad) over hundreds to thousands of kilometers. When mobile terminals (LEO satellites, UAVs, and optical ground stations) initiate a link, relative positioning from GPS and IMU ephemeris contains positional errors that form an uncertainty volume.

Fine-steering mirrors (FSMs) or quadrant photodiodes cannot establish lock within such an uncertainty envelope. A coarse Pointing, Acquisition, and Tracking (PAT) system must first sweep the spatial cone, detect the beacon spot on a wide Focal Plane Array, and center the beam onto the optical axis before handoff.

02 · SIL Innovation

Why an Air-Gapped Software-in-the-Loop Lab Was Essential

Validating and benchmarking coarse alignment algorithms on physical optomechanical gimbals is cost-prohibitive, fragile, and difficult to reproduce under controlled atmospheric disturbances.

SANKET solves this barrier by delivering a self-contained, air-gapped simulation workstation running on commercial hardware. It models optical lens projection (f = 9167.3 px), Gaussian diffraction PSFs, Beer-Lambert atmospheric transmittance across 5 regimes, sensor noise (Salt & Pepper, Gaussian, Poisson), and closed-loop pan/tilt mechanics without requiring any cloud connection or elevated privileges.

Interactive Flowchart · Anatomy Metaphor

The Optical Alignment Rig — High-Level Pipeline

Follow the journey of an optical beacon from deep-space transmission to closed-loop gimbal lock. Switch between Story Mode for intuitive physical metaphors and Engineer Mode for aerospace specifications.

Interactive System Anatomy · Optical Alignment Rig

A physical mechanical metaphor of SANKET's complete air-gapped simulation & tracking pipeline.

01·BEACON02·TURBULENCEX,Y TRUE ✕GPS EPHEM ✕03·FIREWALL04·FPA SENSOR05·AI CORE06·GIMBAL PID0.067s4.82px461.8 FPS07·TELEMETRY08·CONSOLE▲ ACTIVE INSPECTION
01
Station 01 · Optical Source

Deep-Space Satellite Beacon Emitter

Virtual Canvas Envelope2000 × 2000 px
★ Plain-English AnalogueNon-Coder Intuition

“The Long-Distance Flashlight”

A laser transmitter mounted on a distant satellite or drone shining an optical beacon beam across thousands of kilometers of empty space toward Earth.

⚡ Technical ImplementationAerospace Specs

src/simulation/target_manager.py · TargetManager

Simulates deep-space beacon kinematics across 4 trajectory models (Static, Linear, Circular, Lissajous) on a 2000×2000 px virtual canvas with sub-pixel ground-truth tracking.

Click any station on the rig above to inspect
Core Architectural Guarantee · Ground-Truth Firewall
Zero AST Leaks Verified

Perception Blind to Ground Truth by Architectural Law

In academic and hackathon computer vision projects, tracking algorithms often “cheat” by importing or reading simulation target coordinates directly. SANKET enforces an inviolable Architectural Ground-Truth Firewall:

  • ▸The perception pipeline receives strictly raw pixel matrices (uint8 2D NumPy array) via SimulationFrameProvider or MP4FrameProvider.
  • ▸Ground truth coordinates exist solely inside GroundTruthProvider and are routed exclusively to the post-hoc MetricsEngine for error calculation.
  • ▸Verified automatically by static Abstract Syntax Tree (AST) inspection tests (test_ground_truth_firewall_inspection) ensuring zero module imports or coordinate leaks.
firewall_contract_inspection.pySTATUS: SEALED
# 1. Tracker receives raw sensor pixels only:
frame_packet = frame_provider.get_frame()
raw_image: np.ndarray = frame_packet.image  # (480, 640) uint8

# 2. Perception algorithms run completely blind:
candidates = detection_engine.detect(raw_image)
filtered   = ai_classifier.filter(raw_image, candidates)
centroid   = centroid_estimator.estimate(raw_image, filtered[0])

# 3. PTZ gimbal controller operates strictly on sensor error:
error_x = centroid.x - 320.0  # Boresight X offset
error_y = centroid.y - 240.0  # Boresight Y offset
ptz_cmd = ptz_controller.update(error_x, error_y)

# 4. GroundTruthProvider feeds ONLY MetricsEngine:
ground_truth = gt_provider.capture(frame_number)
metrics_engine.record(estimated=centroid, true=ground_truth)
Technical Implementation

Algorithmic Perception & Closed-Loop Gimbal Kinematics

Four tightly coupled mathematical stages engineered for sub-millisecond execution and deterministic stability.

Perception Stage 01< 0.20 ms

Adaptive Contrast Thresholding & Morphological Opening

Evaluates an adaptive local contrast threshold T = μ_local + k · σ_local across candidate regions. Applies a 3×3 morphological opening kernel to strip single-pixel impulse Salt & Pepper noise, extracting connected component bounding boxes that meet minimum beacon area constraints.

Perception Stage 02< 0.03 ms

Calibrated 4-Feature AI Clutter Rejection Classifier

Replaces slow deep learning models with an ultra-lightweight calibrated Logistic Regression classifier trained on spot circularity, intensity ratio, fill factor, and spatial contrast gradient. Rejects sensor artifacts in microseconds with automatic fallback to RuleBasedClassifierFallback.

Perception Stage 030.028 px RMSE

Sub-Pixel Intensity-Weighted Center of Gravity (CoG)

Sub-pixel localization estimates the local background intensity strictly from the perimeter border pixels of the bounding box, preventing the bright central optical beacon from corrupting the background baseline. Computes sub-pixel coordinates achieving 100.0% of frames with < 1.0 px error.

Control Stage 04Rate Clamped ≤ 10°/s

Closed-Loop PID Gimbal Control & Expanding Search

A dual-axis PID velocity controller actuates pan/tilt angular rates with dynamic clamping to ISRO's 10.0°/s limit. Features conditional anti-windup clamping to prevent actuator overshoot and an Expanding Square Search (ESS) generator with 25% overlap when acquiring targets in the SEARCH state.

Verification Audit

ISRO Problem Statement 26169 Compliance Audit

Formal verification mapping every mandated parameter of the Department of Space specification against SANKET's measured runtime results.

Parameter CategoryMandated Threshold (PS-26169)SANKET Measured ValueStatus
Virtual Canvas Dimensions≥ 2000 × 2000 pixels2000 × 2000 px Orthographic Ground PlanePASS
Camera Sensor Resolution640 × 480 px Monochrome FPA640 × 480 px Single-Channel uint8 FPAPASS
Camera Field of View4.0° × 3.0° FOV4.0° (H) × 3.0° (V) Lens Model (f = 9167.3 px)PASS
Gimbal Pan/Tilt Max Speed5.0°/s to 10.0°/s LimitDynamic rate clamping strictly at ≤ 10.0°/sPASS
Target Acquisition Time≤ 2.000 s0.067 s (Frame 2 at 30 FPS · +96.5% Margin)PASS
Steady-State Tracking Error≤ 10.00 pixels4.823 px Mean Radial Error (+51.8% Margin)PASS
Target Loss Rate< 5.00%0.000% (0 / 898 frames lost · 100% Lock)PASS
Algorithmic Processing Speed≥ 20.0 FPS461.82 FPS (0.88 ms P50 Latency · +313% Margin)PASS
Disturbance & Noise ModelsS&P, Gaussian, Poisson, JitterGaussian (σ≤20), 10% S&P, Poisson, ±20px Jitter, 5 Fog ModesPASS
Benchmark 2 Decoupled ModeIngest external 30 FPS MP4OpenCV VideoCapture pipeline with PTZ bypass & CSV comparatorPASS
Ground-Truth IsolationAir-tight firewallZero AST leaks; tracker receives raw pixel matrix onlyPASS
Engineering Stack
  • Python 3.11
  • OpenCV
  • NumPy
  • PySide6
  • QtWebEngine
  • React 19
  • TypeScript
  • Three.js
  • Tailwind CSS
  • Pytest
Engineering Ownership & Attribution

Individual Technical Ownership

Built for Smart India Hackathon 2026 (Team Run_Time_Terror, ISRO Problem Statement 26169). Sole developer across the entire core system: engineered the simulation engine, optical projection geometry, disturbance models, computer vision pipeline, PID control laws, benchmark harness, and the complete React 19 + Three.js + PySide6 desktop workstation application.

While submitted under team “Run_Time_Terror” for Smart India Hackathon 2026, I personally handled the entire development process end-to-end: architected the Software-in-the-Loop simulation engine, authored the mathematical optical model, engineered the sub-pixel computer vision pipeline and PID rate controller, developed the automated 19-scenario evaluator harness, built the React 19 / Three.js 3D frontend, integrated the QtWebChannel IPC bridge with PySide6, and compiled the standalone air-gapped executable package.

Official Submission Package

Formal Aerospace Documentation & Deliverables

Inspect the comprehensive engineering reports, user manuals, and source artifacts submitted for SIH 2026 evaluation.

Complete Source Code & Benchmark SuitesAvailable on GitHub under the official Smart India Hackathon submission repository.
Explore GitHub Repository↗