UUV survey autonomy for mine countermeasures, ISR, and hydrography. Cognis Digital LLC · US-only.
DEEPDRIFT plans and evaluates undersea survey missions for an unmanned underwater vehicle: it lays down a boustrophedon "lawnmower" survey sized to the sonar swath, navigates GPS-denied by DVL + inertial dead reckoning with surfacing/USBL fixes, budgets acoustic comms, and detects, classifies, and maps mine-like bottom contacts for clearance.
Detection, survey, and ISR — not weapons. DEEPDRIFT locates and characterizes hazards (mine countermeasures), maps the seabed, and collects ISR. It carries no weapon and does nothing offensive.
The Navy's Lionfish / REMUS-class small UUVs run autonomous mine-countermeasures surveys with side-scan sonar out to ~305 m depth, with ~0.1%-of-distance navigation accuracy. DEEPDRIFT is the open mission-planning + coverage + contact-triage layer for that mission profile.
- Side-scan sonar geometry (
sonar) — swath and usable ground range from altitude and slant range, overlap-aware lane spacing, shadow-length → target-height estimate. - Lawnmower survey planner (
survey) — parallel survey lines with alternating direction over a rectangular box, track length, coverage fraction. - Undersea navigation (
nav) — DVL + INS dead reckoning with REMUS-class drift, surface-GPS and USBL fixes, per-leg track integration, fix-needed flagging. - Acoustic comms (
acoustic) — data rate vs range, one-way/round-trip latency (~1500 m/s), message-delivery time, USBL slant→horizontal range + accuracy. - MCM contacts (
contacts) — rule-based MILCO/NOMBO classification with confidence, proximity de-duplication across passes, prioritized reacquire target list. - Mission + preflight (
mission,safety) — endurance/energy model, coverage, duration, and dispatch gates: full coverage, depth rating, endurance, nav-drift budget with fix cadence, geofence.
python -m deepdrift survey --origin 36.60,-121.90 \
--along 2000 --across 1000 --heading 90 \
--altitude 8 --depth 40 --mode mine_countermeasuresfrom deepdrift import (LatLon, SurveyArea, SideScanSonar, SurveyMission,
SurveyMode, preflight, McmClassifier, Contact, ContactManager)
area = SurveyArea(LatLon(36.60, -121.90), along_track_m=2000, across_track_m=1000, heading_deg=90)
m = SurveyMission("mcm", SurveyMode.MCM, area, SideScanSonar(max_slant_range_m=100)).build()
print(m.summary(), preflight(m).cleared)
# triage a detected contact
cc = McmClassifier().classify(Contact(LatLon(36.6,-121.9), 1.5, 0.6, 0.5, 1.2))
print(cc.classification, cc.confidence) # MILCO ...python -m pytest -q # 649 testsSister platforms: DROPWING (expendable aerial resupply), MULEWAY (UGV last-mile resupply & CASEVAC). Shared comms via edgemesh; GPS-denied PNT via spoofwatch.