Environmental Simulation of Spatially- and Temporally- Varying Conditions for Underwater Navigation


Underwater navigation involves inherent obstacles, as the undersea environment severely limits senses (e.g. sight,  hearing, touch) that humans typically use to navigate. As such, it is difficult for a diver to know his/her position as well as any target location during a dive. In understanding a diver’s desired target and physical limitations/preferences, an Autonomous Underwater Vehicle (AUV) can work to bring more reliable navigation and robustness to diving missions. To offer the most efficient path, an AUV must incorporate changing environmental conditions into its localization and mapping algorithms in order to achieve successful and efficient navigation to its target. Thus, we developed an environmental model of spatially- and temporally- varying current conditions in simulation software. By utilizing an AUVs sensor data on both ocean currents and bathymetry from an initial survey, the environmental model will be used to allow for more robust diver localization and navigation. With more precise planning to a particular target, divers will be able to participate in more complex diving missions in a safe and efficient manner, as well as gain greater flexibility in choosing a mission path.

Author: Shir Goldfinger
California Institute of Technology
Mentors: Professor John Leonard (1), Brendan O’Neill (1), and Professor Melany Hunt (2)
(1) Massachusetts Institute of Technology, (2) California Institute of Technology
Editor: Ann Zhu

Introduction

Whether driven by a curiosity to explore the depths of the ocean or done out of a need for resources, underwater navigation has long been practiced in human civilizations [1]. Advancements in technology have allowed for safer and more calculated ocean exploration, yet the undersea environment will always contain inherent dangers and obstacles. For one, humans are physically limited in an undersea environment, unable to perform dives that exceed certain depths and levels of strenuosity, not to mention an inability to dive without an oxygen or mixed-gas supply [2]. Additionally, most traditional communication methods (such as those that involve radio waves) are rendered useless underwater, making it extremely difficult for a diver to know their position as well as any target location during a dive.

Autonomous underwater vehicles (AUVs) will be used to assist a diver in reaching a desired target (Figure 1). Through its consideration of a diver’s target and physical limitations, an AUV can improve navigational reliability within a mission [3]. Examples of such missions include underwater cable/infrastructure repair, object retrievals, as well as search and recovery missions. An AUV has the ability to map out its environment, allowing a diver to self-localize within the robot’s map and better understand the path to his/her target [4]. Researchers within the Marine Robotics Group (MRG) at the Massachusetts Institute of Technology (MIT) have validated an algorithmic approach for an AUV-assisted diver navigation and localization protocol. The approach has been validated through field trials using surface platforms as proxies for a diver and AUV with promising results [6].

Figure 1. A visual depiction of an AUV leading a diver to a desired target [5].

Goals

The current algorithms for AUV-assisted diver navigation and localization protocol do not account for ocean current fields or bathymetric impacts to the diver’s path. While this approach can yield reliable endpoint accuracy, it will almost certainly result in a less efficient path for the diver. An AUV must incorporate changing environmental conditions into its localization and mapping algorithms in order for a diver to successfully and efficiently navigate to a target. 

By utilizing an AUVs sensor data on ocean currents and bathymetry from an initial survey, an environmental model would be created to allow for more accurate diver localization and navigation. More accurate localization and navigation will be utilized to grant the diver’s flexibility in choosing a mission path; divers will be able to choose their ideal paths based on individual priorities, decision-making abilities, and understanding of the mission’s intent.

Methods

Implementing a Spatially-Varying Environmental Simulation

The first focus in building the environmental model was to implement a spatially-varying current field simulation, initialized by a random vector field. Although this simulation used a simple, hand-crafted current field upon initialization, more standardized ocean current models are implemented as well.

Figure 2. The uSimCurrent application. A current field file is used to initialize the simulator, which then uses the vehicle’s current position to create and publish the drift vector to the MOOSDB [8].

The environmental simulation was implemented in the Mission Oriented Operating Suite (MOOS) environment. MOOS is a powerful autonomy middleware that connects a collection of useful modules for marine robotic navigation [7]. A single MOOSDB (MOOS Database) handles the mail for any connected modules in what is known as a single MOOS community. There are several previously developed modules available in existing repositories (such as the Oxford MOOS and MIT MOOS-IvP [7]), but new modules are also be developed.

One such existing MOOS module, uSimCurrent [8], is initialized with a current field file that provides the details for the current vectors (latitude, longitude, magnitude, angle). The uSimCurrent application takes in a vehicle’s x- and y- positions as input during the simulation and then uses this current position along with the known current vectors to calculate the drift vector; the drift vector describes the magnitude and direction of the drift force applied to the vehicle. This drift vector is then published to the MOOSDB (Figure 2), where the uSimMarine application then correspondingly updates the vehicle’s position, state, and trajectory. 

Figure 3. A spatially varying current field using the uSimCurrent application is shown. The vehicle, circled in blue, is influenced by the current field, and has adjusted its heading to face towards its next waypoint.

The uSimCurrent model was successfully implemented using a sample current field text file (Figure 3), which allows for a basic simulation of a spatially varying current field. The implementation of the application allows for three different vehicle setups: one where the vehicle accounts for the drift vectors in actuation, one where the vehicle feels the current but does not adjust its heading, and one where the vehicle is not affected by the current field. While the first setup shows that the vehicle can use the current vectors to adjust its heading, the implementation has not yet incorporated path-planning algorithms to adjust the vehicle heading and speed in order to allow for the most efficient ways to traverse the current fields.

Creating a Spatially- and Temporally- Varying Environmental Model

While the uSimCurrent application is initialized (on startup) by a simple current field file that lists each current vector, ocean current data is commonly expressed in a Network Common Data Form (NetCDF) file format. This format supports the creation, access, and sharing of array-oriented scientific data, which is suitable for the spatially- and temporally- varying data needed to represent current fields [9]. Ocean currents databases thus often store variables such as time, x-position, y-position, current velocity, and current angle in NetCDF file formats.

Figure 4. The simulator modules. A NetCDF file is sorted using a MATLAB script, and the pCurrentPoster module posts the corresponding current field to uMySimCurrent which then uses the vehicle’s current position to create and publish the drift vector to the MOOSDB.

A MATLAB script was developed to read a NetCDF file and publish a single text file with the current field at every time step. Additionally, since uSimCurrent can only read current fields on the simulation’s startup, two new modules were developed for the time-varying current simulation: pCurrentPoster and uMySimCurrent (Figure 4). The module pCurrentPoster retrieves the current field at the current time step from MATLAB’s output file and then  publishes this current field information to the variable “CURRENTS.” Upon receiving new postings of the “CURRENTS” variable, the module uMySimCurrent displays the current field and generates a new drift vector (similarly to the uSimCurrent module). These modules were tested using NetCDF current data from the New York Harbor [10]. A spatially- and temporally- varying current field of the New York Harbor was simulated (Appendix).

Conclusion

An environmental model of spatially- and temporally- varying current conditions in simulation software was successfully developed. Although this model was utilized using previously collected current data in the NetCDF format, it will be adapted to input AUV sensor data in the future. Sensor data on ocean currents and bathymetry will be collected from an initial survey, and the environmental model will be initialized to allow for more robust diver localization and navigation. 

For instance, in the future, path-planning algorithms for a vehicle in the environment will be considered. The planning will take the dynamic nature of the environment into account to allow for the vehicle to reach its desired endpoint by minimizing a cost function; whether this cost function emphasizes time, energy expended, distance traveled, or depth reached would be up to the individual diver. One possibility is to use level set equations to solve for the time-optimal path through the spatially- and temporally- varying current field, which involves evolving the vehicle’s reachability front. This front is commonly described in robotic path planning as being comprised of the outermost points of the robot/vehicle’s reachability space at a particular time step. In this case, the vehicle’s reachability front is evolved at every time step until it intersects with the desired end point, and then the optimal vehicle trajectory is computed by tracking backwards in time [11]. 

Additionally, smoothing for potential output paths will need to be considered for further improvement. A diver may not be able to easily make fine course adjustments based on incremental changes in the current field. And so, a planned optimal path would require some form of smoothing to align with reasonable heading changes for a diver in an undersea environment.

Overall, by utilizing this environmental model along with more precise planning to a particular target, divers will be able to participate in more complex diving missions in a safe and efficient manner, as well as gain flexibility in choosing a mission path.

Appendix

Appendix. A spatially- and temporally- varying current field of the New York Harbor using NetCDF data. Several timestamps of the current field are shown, and a video of the current field’s evolution over time is referenced [12].

Acknowledgments

I would like to express my deep gratitude to my mentor, Professor John Leonard, and my co-mentor, Professor Melany Hunt, for their support through my research. Next, I would like to thank my graduate student mentor, Brendan O’Neill, for his guidance and support throughout the entirety of my project. I would also like to thank Megan Flynn for her invaluable help this summer. Lastly, I would like to thank the Larson family, Caltech’s Student Faculty Program, and the Massachusetts Institute of Technology for supporting my undergraduate research with the MIT Marine Robotics Group as a Shirley and Carl Larson SURF Fellow.

References

​​[1] Dive Training. A Brief History of Diving: Free Divers, Bells and Helmets. Dec. 2002. URL: https://dtmag.com/ thelibrary/a-brief-history-of-diving-free-divers-bells- and-helmets/.

[2] A. Brylske. The Complete Diver: The History, Science and Practice of Scuba Diving. Dive Training LLC, Aug. 2012. ISBN: 978-0615721330.

[3] Marino Mangeruga et al. “An Underwater Pathfinding Algorithm for Optimised Planning of Survey Dives”. In: Remote Sensing 12.23 (2020). ISSN: 2072-4292. DOI: 10.3390/rs12233974. URL: https://www.mdpi.com/ 2072-4292/12/23/3974.

[4] Brendan O’Neill. “Human-Robot Dive Teams for Environmentally Adaptive Missions”. PhD Thesis Proposal. Massachusetts Institute of Technology and Woods Hole Oceanographic Institution, Feb. 2022, unpublished.

[5] Brendan O’Neill. “Human-Robot Dive Team Summer 2022 Experiment Plan”. Massachusetts Institute of Technology and Woods Hole Oceanographic Institution, Jan. 2022, unpublished.

[6] Jesse Pelletier. “Human-Autonomy Teaming for Improved Diver Navigation”. Massachusetts Institute of Technology, Cambridge, MA, and Woods Hole Oceanographic Institution, Woods Hole, MA, Jan. 2022.

[7] Michael Benjamin and Henrik Schmidt. “Introduction to Moos.” MOOS-IvP : Lab – Class Intro MOOS Browse. Massachusetts Institute of Technology, Cambridge, MA. Web.

[8] Michael Benjamin and Henrik Schmidt. “uSimCurrent: Simulating Drift Effects.” MOOS-IvP : IvP Tools – uSimCurrent. Massachusetts Institute of Technology, Cambridge, MA. Web.

[9] “Network Common Data Form (NetCDF).” Unidata, UCAR Community Programs. 

[10] Tidetech. “New York Currents Sample.” Web.

[11] Tapovan Lolla et al. “Time-Optimal Path Planning in Dynamic Flows Using Level Set Equations: Theory and Schemes”. In: Ocean Dynamics (2014).

[12] Shir Goldfinger. “New York Harbor Current Field”. Video. URL:  https://drive.google.com/file/d/1UK2dy6LuE0Lo3LIV2ZImVkKUqEIgflRk/view?usp=sharing.


Leave a comment