How jyothish-kumar-s-d/towed-array works
This repository’s primary product is a towed-sonar-array simulator that searches for the smallest safe vessel turning radius. The runtime workflow loads cable, fluid, sensor, and vessel telemetry; deploys and integrates the cable; attaches and simulates the sonar array; evaluates safety over the maneuver; and reports the radius search result. Supporting capabilities include telemetry-based array reconstruction and geometry visualization. The README also describes an older 3D prototype in the root. Some modules are documented but not sampled, so their internal wiring is omitted where uncertain.
Main entry points: Simulation.cpp Trial and radius search · main.cpp Runner and setup · plot_array.py Geometry visualization · towed_array.cpp Prototype simulator
Components 22
Simulation workflow
- Runner and setup
TOWED_ARRAY/main.cpp - Trial and radius search
TOWED_ARRAY/Simulation.cpp - Cable parameters
TOWED_ARRAY/cable_params.csv - Fluid parameters
TOWED_ARRAY/fluid_params.csv - Array configuration
TOWED_ARRAY/sensor_array_config.csv - Vessel telemetry
TOWED_ARRAY/vessel_telemetry.csv - Sensor telemetry
TOWED_ARRAY/sensor_telemetry.csv - Radius and safety report
- Cable geometry output
TOWED_ARRAY/cable_geometry.csv - Reconstructed array output
TOWED_ARRAY/reconstructed_array.csv - Array estimate output
TOWED_ARRAY/reconstructed_array_estimate.csv
Physical models
- Vessel motion
TOWED_ARRAY/Vessel.cpp - Tow cable dynamics
TOWED_ARRAY/TowCable.cpp - Sonar array dynamics
TOWED_ARRAY/SonarArray.cpp
Safety and analysis
- Array reconstruction
TOWED_ARRAY/ArrayReconstruction.cpp - Sensor estimation
TOWED_ARRAY/SensorEstimator.cpp - Safety checks
TOWED_ARRAY/SafetyChecker.cpp - Geometry visualization
TOWED_ARRAY/plot_array.py
3D prototype
- Prototype fluid field
FluidField.h - Prototype cable elements
components.h - Prototype simulator
towed_array.cpp
Other components
- Simulation operator
Connections 21
- Simulation operator → Runner and setup: runs
- Runner and setup → Cable parameters: loads
- Runner and setup → Fluid parameters: loads
- Runner and setup → Array configuration: loads
- Runner and setup → Trial and radius search: starts search
- Trial and radius search → Vessel telemetry: loads
- Trial and radius search → Sensor telemetry: loads
- Trial and radius search → Vessel motion: updates
- Trial and radius search → Tow cable dynamics: integrates
- Trial and radius search → Sonar array dynamics: attaches and integrates
- Trial and radius search → Array reconstruction: seeds and estimates
- Trial and radius search → Safety checks: evaluates
- Trial and radius search → Cable geometry output: writes
- Trial and radius search → Reconstructed array output: writes
- Trial and radius search → Array estimate output: writes
- Trial and radius search → Radius and safety report: returns report
- Runner and setup → Radius and safety report: prints search result
- Geometry visualization → Cable geometry output: reads
- Geometry visualization → Reconstructed array output: reads
- Prototype simulator → Prototype cable elements: coordinates
- Prototype simulator → Prototype fluid field: uses