Skip to main content

A UUV ocean data collection mission simulator based on an ocean model (ROMS)

Project description

UUVMissionSim

Table of Contents

Package Description

The UUVMissionSim package was developed as part of my master's thesis to provide a comprehensive tool for simulating UUV missions.The package presents a Regional Ocean Modelling System (ROMS)-based Unmanned Underwater Vehicle (UUV) mission simulator. The primary focus was on creating a sophisticated simulation tool that integrates ROMS data to replicate realistic ocean environments and accurately mimic the behavior and data collection processes of UUVs, with a specific emphasis on the T-REMUS vehicle. The developed simulator aims to provide a safe and efficient way to develop and test advanced navigation systems for UUVs.

This package provideas researchers and engineers with a robust foundation for advancing UUV navigation and data collection strategies, providing a tool for developing and testing advanced navigational algorithms in a cost effective way. The simulator's applications span mission planning, virtual ocean studies, and educational purposes, contributing significantly to oceanography and UUV navigation systems.

Installation

You can install the package using pip:

bash
pip install UUVMissionSim

Alternatively, if you want to install from source:

git clone https://github.com/Prakarsha01/UUVMissionSim.git cd UUVMissionSim pip install -e

Usage

Basic Usage

Here is a basic example of how to use the UUVMissionSim package to run a UUV mission simulation.

Sample dataset is hosted on huggingface.The below example can be used on the provided dataset:

import UUVMissionSim.simulator as simulator

# Define mission parameters
current_point = (13000, 33502, 4)
waypoints = [(13080, 33502, 4), (13005, 34510, 4)]
instructions = [1]
start_time = '2019-05-02T15:04:43.499997011'
max_depth = 8.0
min_depth = 4.0
z_resolution = 0.25
t_resolution = 60
horizontal_speed = 2.0
triangle_speed = 0.5

# Run the simulation
adcp_data, ctd_data, original_path, drift_path, original_time = simulator.run(
    current_point, waypoints, start_time, instructions, max_depth, min_depth, z_resolution, t_resolution, horizontal_speed, triangle_speed
)

# Print or handle the results as needed
print("ADCP Data:", adcp_data)
print("CTD Data:", ctd_data)
print("Original Path:", original_path)
print("Drift Path:", drift_path)
print("Original Time:", original_time)

Updating Dataset Path

To update the datapaths to your own data you can update the paths as shown below:

new_config = {
        'U_PATH': "/data/u.nc",
        'V_PATH': "/data/v.nc",
        'W_PATH': "/data/w.nc",
        'CTD_DATA_PATHS': [
            "/data/salt.nc",
            "/data/rho.nc",
            "/data/temp.nc"
        ]
    }

 # Update configuration
cg.update_config(**new_config)

Configuration

The package uses a config.py file to store various configuration settings such as data paths and sensor frequencies. Ensure to set the appropriate paths and values in config.py:

# config.py

# Data Paths
U_PATH = "/path/to/u.nc"
V_PATH = "/path/to/v.nc"
W_PATH = "/path/to/w.nc"
CTD_DATA_PATHS = ["/path/to/salt.nc", "/path/to/temp.nc", "/path/to/rho.nc"]

# Sensor frequency
ADCP_FREQUENCY = 2  # Hz
CTD_FREQUENCY = 16  # Hz

# ADCP Settings
VERTICAL_SPACING = 0.25  # Spacing between z points
Z_ABOVE_PATH = 4  # Maximum depth above the original path
Z_BELOW_PATH = -4  # Maximum depth below the original path
BLANKING_DISTANCE = 0.75 # Blanking distance around UUV

Acknowledgements

This project was made possible with the support and guidance of my advisors, Dr. Daniel McDonald and Dr. Shelley Zhang. I am grateful for their trust in my abilities and for giving me the opportunity to tackle such a fascinating problem. Special thanks to Ágata Piffer Braga for her invaluable guidance and support throughout the project. I also want to express my gratitude to Aakash Kardam for his valuable feedback and suggestions; I look forward to seeing his work with the simulator in developing advanced UUV navigation algorithms.

I would also like to thank the University of Massachusetts Dartmouth for providing the resources necessary for this research. This package was developed as part of my master's thesis at the University of Massachusetts Dartmouth.

Finally, I extend my heartfelt thanks to my family and friends for their unwavering support and encouragement throughout this journey.

Contact

For further information, please feel free to connect with me on LinkedIn.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uuvmissionsim-0.1.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uuvmissionsim-0.1.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file uuvmissionsim-0.1.1.tar.gz.

File metadata

  • Download URL: uuvmissionsim-0.1.1.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for uuvmissionsim-0.1.1.tar.gz
Algorithm Hash digest
SHA256 89cd01861972d8e8b70f568b41f9dd2f0c70264a69d84e1c9e099f264fac8f54
MD5 b0c1c5296385d4eb68e76e48f5b9010d
BLAKE2b-256 35c7bf1fb73fc0c6a55b676ce689db4fc6e873015afe9dd1046d662346d3e3ec

See more details on using hashes here.

File details

Details for the file uuvmissionsim-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: uuvmissionsim-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for uuvmissionsim-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d32544e1cf9e4db453292fcb133b53eb58f66eea666edadb84e03553defdfc8
MD5 1c9cb95393fbb46127e1b6d33028351c
BLAKE2b-256 b021c253d5dcab9e84f3ee966f4f3a314d4e7135414e74eba29891d7c6f95586

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page