Skip to content

tritonminingco/auv-systems-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AUV Systems Core

License: MIT ROS 2 Python C++ CMake Docker Jetson

Advanced Autonomous Underwater Vehicle (AUV) Systems Framework

A comprehensive ROS 2-based framework for developing, deploying, and managing autonomous underwater vehicle systems. Built for marine robotics applications with support for navigation, control, sensor integration, and mission planning.

πŸš€ Features

  • Modular Architecture: Component-based design for easy customization and extension
  • ROS 2 Integration: Full ROS 2 Humble support with modern C++ and Python APIs
  • Hardware Support: Optimized for NVIDIA Jetson platforms and embedded systems
  • Simulation Ready: Gazebo integration for testing and validation
  • Docker Support: Containerized deployment for consistent environments
  • Mission Planning: Advanced path planning and mission execution capabilities
  • Sensor Integration: Support for IMU, depth sensors, cameras, and sonar systems
  • Real-time Control: High-performance control loops for precise vehicle maneuvering

πŸ“‹ Prerequisites

System Requirements

  • Operating System: Ubuntu 22.04 LTS (recommended)
  • ROS 2: Humble Hawksbill
  • Python: 3.8 or higher
  • CMake: 3.16 or higher
  • C++: C++17 compatible compiler

Hardware Support

  • NVIDIA Jetson AGX Orin/Xavier
  • Intel NUC systems
  • Custom embedded platforms

πŸ› οΈ Installation

Quick Start

  1. Clone the repository

    git clone https://github.com/triton-mining/auv-systems-core.git
    cd auv-systems-core
  2. Install dependencies

    # Install ROS 2 Humble (if not already installed)
    sudo apt update
    sudo apt install ros-humble-desktop-full
    
    # Install additional dependencies
    sudo apt install python3-colcon-common-extensions python3-rosdep
    sudo rosdep init
    rosdep update
  3. Build the workspace

    colcon build --symlink-install
    source install/setup.bash

Docker Installation

# Build the Docker image
docker build -t auv-systems-core .

# Run with GUI support (for simulation)
docker run -it --rm \
  --privileged \
  -e DISPLAY=$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  auv-systems-core

πŸ—οΈ Project Structure

auv-systems-core/
β”œβ”€β”€ src/                    # Source packages
β”‚   β”œβ”€β”€ navigation/         # Navigation and path planning
β”‚   β”œβ”€β”€ control/           # Vehicle control systems
β”‚   β”œβ”€β”€ sensors/           # Sensor drivers and processing
β”‚   β”œβ”€β”€ mission/           # Mission planning and execution
β”‚   └── utils/             # Common utilities and tools
β”œβ”€β”€ config/                # Configuration files
β”œβ”€β”€ launch/                # Launch files
β”œβ”€β”€ docs/                  # Documentation
β”œβ”€β”€ tests/                 # Unit and integration tests
└── docker/                # Docker configurations

🚒 Usage

Basic Launch

# Launch the complete AUV system
ros2 launch auv_systems_core complete_system.launch.py

# Launch simulation environment
ros2 launch auv_systems_core simulation.launch.py

# Launch individual components
ros2 launch auv_systems_core navigation.launch.py
ros2 launch auv_systems_core control.launch.py

Mission Execution

# Load and execute a mission
ros2 run mission_planner mission_executor --mission-file missions/example_mission.yaml

# Monitor system status
ros2 topic echo /auv/status
ros2 topic echo /auv/navigation/pose

πŸ“Š Monitoring and Diagnostics

The system provides comprehensive monitoring capabilities:

  • Real-time Status: Vehicle state, sensor health, and system performance
  • Mission Progress: Current mission status and completion metrics
  • Diagnostic Tools: Built-in diagnostics for troubleshooting
  • Logging: Comprehensive logging for analysis and debugging

πŸ§ͺ Testing

# Run unit tests
colcon test

# Run integration tests
colcon test --packages-select auv_systems_core

# Run with coverage
colcon test --packages-select auv_systems_core --cmake-args -DCMAKE_BUILD_TYPE=Debug

πŸ“š Documentation

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

# Install development dependencies
pip install -r requirements-dev.txt

# Install pre-commit hooks
pre-commit install

# Run linting
pre-commit run --all-files

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🏒 About Triton Mining Co

Developed by Triton Mining Co, a leader in marine robotics and autonomous underwater systems. Our mission is to advance underwater exploration and resource extraction through cutting-edge technology.

πŸ“ž Support

πŸ™ Acknowledgments

  • ROS 2 community for the excellent robotics framework
  • NVIDIA for Jetson platform support
  • Open source contributors and marine robotics researchers

⚠️ Safety Notice: This software is designed for research and development purposes. Always follow proper safety protocols when operating autonomous underwater vehicles in real-world environments.

πŸ”¬ Research Use: This project is actively used in marine robotics research. If you use this software in your research, please cite our work appropriately.

About

Core systems for Triton AUV operations. This repo holds the foundation for navigation, telemetry, mission control, and real-time monitoring. Built for reliability, speed, and adaptability in the ocean.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors