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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89cd01861972d8e8b70f568b41f9dd2f0c70264a69d84e1c9e099f264fac8f54
|
|
| MD5 |
b0c1c5296385d4eb68e76e48f5b9010d
|
|
| BLAKE2b-256 |
35c7bf1fb73fc0c6a55b676ce689db4fc6e873015afe9dd1046d662346d3e3ec
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d32544e1cf9e4db453292fcb133b53eb58f66eea666edadb84e03553defdfc8
|
|
| MD5 |
1c9cb95393fbb46127e1b6d33028351c
|
|
| BLAKE2b-256 |
b021c253d5dcab9e84f3ee966f4f3a314d4e7135414e74eba29891d7c6f95586
|