Alpha AUV
This repository contains source codes for ALPHA AUV.
Directory Structure
alpha_auv
Meta Package for ALPHA AUV.
alpha_bringup
Launch files for firing up the vehicle and simulator.
alpha_config
Configuration files for devices, vehicle controller, mission controller, and etc.
alpha_description
URDF descriptions, 3D Mesh, and launch files for the ALPHA AUV.
alpha_driver
This directory contains code for embedded devices on the ALPHA AUV.
The code for embedded device, namely RP2040,
and the code for its client program resides in its sub-directories.
alpha_localization
Contains robot_localization
configuration for local and global navigation.
It filters the depth information with Linear Quadratic Estimator.
alpha_stonefish
Stonefish descriptions for ALPHA AUV.
alpha_teleop
Simple teleoperation package.
Contains configurations for joy_teleop node.
alpha_viz
Contains configuration for RViZ.
external
Contains drivers for devices and utilities.
legacy
Outdated but still somewhat maintained code.
Not deprecated but should not be used.
Installation
MVP Installation
Currently MVP packages should be build from the source. Target platform must be Ubuntu 20.04 because of the dependencies.
Pull repository and other dependencies
git clone --single-branch --branch noetic-devel https://github.com/uri-ocean-robotics/mvp_msgs
git clone --single-branch --branch noetic-devel https://github.com/uri-ocean-robotics/mvp_control
git clone --single-branch --branch noetic-devel https://github.com/uri-ocean-robotics/mvp_mission
git clone --single-branch --branch noetic-devel https://github.com/uri-ocean-robotics/stonefish_mvp
ALPHA AUV Simulation and Hardware Installation
Pull repository and other dependencies
git clone https://github.com/uri-ocean-robotics/alpha_auv
cd alpha_auv
git submodule update --init --recursive
Install pip and setup python3 as default
sudo apt install python3-pip
Install Stonefish Simulator
Pull the stonefish simulator library repository in somewhere other than ROS workspace. Follow the installation instuctions at the Stonefish Readme.
git clone https://github.com/uri-ocean-robotics/stonefish
Install the dependencies
sudo apt install libglm-dev libsdl2-dev
Build the stonefish library and install it.
cd stonefish
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
sudo make install
Install Dependencies
Install dependencies
rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} -y
Quick Start
Run the simulation and MVP Helm
roslaunch alpha_bringup bringup_simulation.launch
roslaunch alpha_bringup bringup_helm.launch
Start the local path tracking mission
rosservice call /helm/change_state "state: 'survey_local'"
Citation
If you find this software useful in your research, please cite:
@INPROCEEDINGS{9977113,
author={Zhou, Mingxi and Gezer, Emir Cem and McConnell, William and Yuan, Chengzhi},
booktitle={OCEANS 2022, Hampton Roads},
title={Acrobatic Low-cost Portable Hybrid AUV (ALPHA): System Design and Preliminary Results},
year={2022},
volume={},
number={},
pages={1-5},
doi={10.1109/OCEANS47191.2022.9977113}
}
Funding
This work is supported by the National Science Foundation award #2154901