Hi @zhrandell, thanks for sharing!
This looks to be a really cool project, and I’m glad our existing technology and software stack has been useful so far. Hopefully the marine robotics community can continue to advance together, through sharing our successes, and the lessons from our failures.
It’s always exciting to see new and interesting applications that our products have helped to enable, and I have personal interests in both computer vision and data analysis, so there’s lots for me to enjoy here. Hopefully I’m able to finish up my current major documentation projects soon, and get a bit more time to work on my StaROV and data-alignment projects
I had a quick look at the codebase you linked to. I’m not particularly familiar with R, so kept my attention relatively shallow and high-level. As a few suggestions:
- the current ‘nth frame extraction’ process is indiscriminate, which means occasional blurry or poor quality frames could be captured even if there are other ‘better’ frames nearby
- if you’re not overly short on processing time, it may be worth getting the sharpest of ‘k’ frames around each time of interest (similar-ish to this code of mine (which extracts the sharpest of every block of k frames))
- the issues you’re having with the ping data may be somewhat preventable by turning off automatic mode and setting a manual scan range, assuming you know rough limits for how far away the bottom will be
- for the already collected data, the correction approach discussed here may help avoid needing to interpolate data that ‘overflows’ when the sonar gets too close to the bottom
- it may be worth checking out Log Viewer for initial log previewing, analysis, and csv output of selected data
- Log Viewer is also built into BlueOS, although it’s currently only fully integrated for Navigator-based vehicles
- you might want to look into the
hdf5
data format, particularly as you start to build up collections of data segments from longer dives
Also, please feel free to share any ideas you have about what kinds of hardware or software would make this kind of work easier (at any part of the process). We can’t guarantee we’ll be able to develop everything, but knowing the valuable and desired features across different use-cases helps us to prioritise what we focus our R&D and example creation resources on