Yonder-Deep / Nautilus

0 stars 3 forks source link

Nautilus

Repository for the YonderDeep 2020-2024 Nautilus AUV (Autonomous Underwater Vehicle) developed at Franklin Antonio Hall, UC San Diego for the research and study of global anthropogenic climate change.

Basics

The codebase is split among two machines:

Style Guidlines

Development will be done in Python3 using the PEP8 style guidelines (VSCode strongly encouraged).

Feel free to use the included settings.json file for VSCode development

Base Station

This machine communicates with the AUV using radio communication. Its main role is selecting and beginning missions for the AUV. It also receives data wirelessly from the AUV and outputs to an in-house Python GUI.

Hardware:

Any Unix-like Machine (preferebly Ubuntu 16.04LTS+)
A 915 MHz Radio (required)
Xbox 360 Controller (optional)
GPS device compatible with gpsd (optional)

System Dependencies:

python3-tk (for use with tkinter UI development)
python3-pip (enable pip package manager)
xboxdrv (Xbox Controller Driver)
gpsd
gpsd-clients (for the cgps program, optional)

Python Packages (in requirements.txt):

tkinter
matplotlib
pyserial
gps3
screeninfo
autopep8 (optional)

Nautilus (the AUV)

A practical, 3D-printed multi-mission modular AUV, housing many sensors including pressure, audio (hydrophones), and GPS. It can also be adapted to implement sonar, salinity, PH, and temperature sensors.

Hardware:

A fully assembled, 3D-printed Nautilus AUV also includes:

Raspbery Pi 3 running Raspbian
915 MHz Radio
GPS Sensor
Pressure sensor
BNO055 IMU (intertial measurement unit)
4 Underwater motors (Blue Robotics)
Blue Robotics End-Caps
Various acoustic acquisitions devives (made from ADC's and MCU's)

NOTE: that this does NOT include specialized YonderDeep PCBs, PDMs, batteries, or cables.

System Dependencies:

Python 3.5+ with pip
gpsd
gpsd-clients
IMU Library/Drivers
and many more...

This will continue to be updated as development continues.

Python Packages (in requirements.txt):

pyserial
adafruit-circuitpython-bno055 (our Inertial Measurement Unit)
and many more...

Missions

The Nautilus AUV is designed to perform a wide variety of aquatic "missions", many of which involve the research and development of:

Development

Most development takes place at the MESOM Laboratory in the Scripps Institution of Oceanography at the University of California, San Diego. Due to the COVID-19 pandemic, software development will continue remotely for the forseeable future.

Contributors

Pranav Mehta, Software Development Lead 2023-2024

Yashil Vora, Junior Software Development Lead 2023-2024

George Wu, Software Development

Deepta Bharadwaj, Junior Software Development Lead 2022-2023

Girish Krishnan, Software Development Lead 2022-2023

Abirami Sabbani, Software Development Lead 2021-2022

Stephen Boussarov, Software Team Advisor

Eric Estabaya, Software Development

Clair Ma, Software Development

Kevin Medzorian, Former Software Team Lead

Sean Chen, Software Development

Christopher Hughes, Software Development

Aleksa Stamenkovic, Software Development