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.
- 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
- 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
- NVIDIA Jetson AGX Orin/Xavier
- Intel NUC systems
- Custom embedded platforms
-
Clone the repository
git clone https://github.com/triton-mining/auv-systems-core.git cd auv-systems-core -
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
-
Build the workspace
colcon build --symlink-install source install/setup.bash
# 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-coreauv-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
# 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# 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/poseThe 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
# 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=DebugWe welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Install development dependencies
pip install -r requirements-dev.txt
# Install pre-commit hooks
pre-commit install
# Run linting
pre-commit run --all-filesThis project is licensed under the MIT License - see the LICENSE file for details.
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.
- Documentation: docs.triton-mining.com
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
- ROS 2 community for the excellent robotics framework
- NVIDIA for Jetson platform support
- Open source contributors and marine robotics researchers
π¬ Research Use: This project is actively used in marine robotics research. If you use this software in your research, please cite our work appropriately.