This repository provides an overview of the Seattle Aquarium’s Coastal Climate Resilience (CCR) team’s remotely operated vehicle (ROV) survey workflow — spanning hardware configuration, field operations, telemetry data extraction, and visualization. It especially focuses on code and documentation for processing and organizing ROV telemetry data collected during benthic habitat surveys.
Our methods are designed for subtidal monitoring of nearshore habitats in the temperate waters of Puget Sound, where visibility and environmental conditions can be highly variable. Surveys are optimized to collect high-resolution, georeferenced imagery to support analyses of seafloor composition, kelp and algal cover, and associated benthic communities.
Our goal is to create an open-source reference that allows other research groups to understand, replicate, and adapt our methods for their own underwater survey applications.
- BlueROV2 (Blue Robotics) — Heavy Configuration with 150 m tether
- Navigator Flight Controller (with Raspberry Pi 4, 8 GB Model B)
- Modifications: Custom “kelp guards” fabricated from HDPE plastic to minimize entanglement with kelp stipes during surveys
- 4 × Kraken Solar Flare Mini 18,000 video lights
- 4 × Ultralight AD-1420-IK universal ball adapters mounted to ROV frame
- Water Linked DVL A50 — Doppler Velocity Log for local positioning
- Firmware: v1.0.8 (updated 2025-07-24)
- GoPro Hero 12 / 13 Black
- Protective Housing
- GoPro Labs firmware for time synchronization and advanced scripting
Camera configuration (for downward-facing imagery):
| Setting | Value |
|---|---|
| Mode | Photo |
| Interval | 3s |
| Lens | Wide |
| Output | RAW (.GPR) |
| EV Comp | 0 |
| White Balance | Native |
| ISO Min–Max | 100–200 |
| Sharpness | Low |
| Color | Flat |
| Shutter Speed | 1/300 s (!MEXPX=300 via GoPro Labs) |
Time synchronization: GoPro Precision Time
-
Water Linked Underwater GPS G2 Standard Kit
- Components: G2 Topside, Locator U1, Antenna
- Firmware: v3.3.4 (updated 2025-08-15)
-
Advanced Navigation Satellite Compass
- Firmware: v2.47 (updated 2025-08-08)
-
NMEA network integration for synchronized positioning across all sensors
- Custom Pelican case housing the surface control system
- Ruggedized laptop for mission control (Cockpit / BlueOS)
- 19-inch sunlight-readable monitor (MS190W1610NT)
- Ethernet switch for network connectivity between ROV, GPS, DVL, and camera control systems
- ArduSub: v4.5.3 (updated 2025-07-24)
- DVL Extension: v1.0.8
- UGPS Extension: v1.0.7
- Modified configuration with
EXTRA_ARGS=--ignore_gpsfor improved sensor fusion
- Modified configuration with
- Surftrack Fixit: v1.0.0-beta.2
- Water Linked External UGPS Extension
- Provides external (vessel) position and heading data to the Water Linked UGPS system
tlog_to_csv.py: This script processes.tlogfiles when GPS and DVL data are fused via an Extended Kalman Filter (EKF), producing more accurate tracks than using GPS or DVL alone. Instead of calculatingDVLlat/DVLlon, this script incorporates the fused position data (GLOBAL_POSITION_INT) for improved accuracy.
transect_map.py: This script generates a Leaflet map displaying the ROV tracks as measured by different navigation sources: GPS (black), DVL (blue), and EKF (red).
The following repos contain general information about our work, and specialized repos for ROV telemetry analyses, processing and analyses of ROV-derived benthic abundance and distribution data.
graph TD
A["<a href='https://github.com/Seattle-Aquarium/Coastal_Climate_Resilience' target='_blank' style='font-size: 16px; font-weight: bold;'>Coastal_Climate_Resilience</a><br><font color='darkgray'>the main landing pad for the CCR research program</font>"]
A --> E["<a href='https://github.com/Seattle-Aquarium/CCR_analytical_resources' target='_blank' style='font-size: 16px; font-weight: bold;'>CCR_ROV_telemetry_processing</a><br><font color='darkgray'>analytical tools for working with ROV telemetry data</font>"]
A --> F["<a href='https://github.com/Seattle-Aquarium/CCR_benthic_analyses' target='_blank' style='font-size: 16px; font-weight: bold;'>CCR_benthic_analyses</a><br><font color='darkgray'>code to work with ROV-derived benthic community data</font>"]
The following repos involve active areas of open-source software development, AI/ML implementation, and computer vision challenges; areas where we could use assistance are 🔶 highlighted in orange 🔶
graph TD
B["<a href='https://github.com/Seattle-Aquarium/CCR_development' target='_blank' style='font-size: 16px; font-weight: bold;'>CCR_development</a><br><font color='darkgray'>main hub for organizing active Issues under development </font>"]
B --> C["<a href='https://github.com/Seattle-Aquarium/CCR_image_processing' target='_blank' style='font-size: 16px; font-weight: bold;'>CCR_image_processing</a><br><font color='darkgray'>help wanted to implement AI/ML solution to expendite image processing</font>"]
B --> D["<a href='https://github.com/Seattle-Aquarium/CCR_kelp_feature_detection' target='_blank' style='font-size: 16px; font-weight: bold;'>CCR_kelp_feature_detection</a><br><font color='darkgray'>active research re: photogrammetry in kelp forests</font>"]
style B stroke:#FF8600,stroke-width:4px
style C stroke:#FF8600,stroke-width:4px



