Skip to content

PoliTOcean/Mate_task_2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MATE ROV 2026 — Tasks

Team: PoliTOcean — Politecnico di Torino Competizione: MATE ROV World Championship 2026 — Explorer Class


Panoramica

Questa repository raccoglie il codice e la documentazione per i task lato Control Station del campionato MATE ROV 2026. Entrambi i task si svolgono nel Flume Tank e richiedono l'uso del ROV combinato con elaborazione software a terra.


Task

Obiettivo: misurare e creare un modello 3D del coral garden nel Flume Tank.

Il coral garden è una struttura in PVC (1–2,5 m × 36 cm, altezza ignota) con 8 target colorati 10 × 10 cm. Il task prevede due approcci alternativi:

Approccio Metodo Max punti
CV automatico Computer Vision (OpenCV) + CAD SolidWorks 40 pt
Manuale Misurazioni + modello CAD 30 pt

L'approccio del team è la misurazione automatica tramite computer vision: il ROV posiziona un righello arancione da 50 cm come riferimento metrico e acquisisce una foto della struttura. Lo script final.py calcola la scala pixel/cm dal righello, rileva i target colorati, misura lunghezza e altezza dei tubi PVC e scrive i valori in equations.txt, che SolidWorks legge automaticamente per scalare il modello CAD.

📁 Task 1.2/


Obiettivo: contare automaticamente i granchi invasivi European Green Crab in un campione 50 × 50 cm tramite image recognition.

Il campione contiene immagini di tre specie (Green Crab, Rock Crab, Jonah Crab). Il team ha addestrato un modello YOLOv8 per rilevare e contare solo i granchi invasivi.

Approccio Metodo Max punti
Automatico YOLOv8 image recognition 15 pt
Manuale Conteggio visivo 5 pt
Reporting form Compilazione form online +5 pt

📁 Task 2.1/


Obiettivo: valutare il livello di minaccia (verde / giallo / rosso) di un iceberg verso le 4 piattaforme petrolifere dei Grand Banks.

Dato un iceberg (posizione, rotta, profondità della chiglia), il modulo calcola la closest point of approach (CPA) verso ciascuna piattaforma a coordinate fisse e classifica la minaccia per la piattaforma di superficie e per gli asset subsea. Calcolo puro (niente CV / niente modello).

Componente Metodo Max punti
Piattaforme di superficie CPA + regola del 110% 10 pt
Asset subsea keel_ratio entro 25 NM 5 pt

📁 Task 2.2/


Obiettivo: calcolare e mostrare la % di frequenza delle 10 specie rilevate dal sensore eDNA.

Ricevuti i conteggi delle 10 specie, il modulo calcola count / totale * 100 per ognuna e li mostra a schermo per il giudice. Puro calcolo aritmetico.

Approccio Metodo Max punti
Automatico Calcolo % per le 10 specie 10 pt

📁 Task 2.5/


Riepilogo punteggi

Task Descrizione Max punti
1.2 Coral Garden Modelling (computer vision + CAD) 40 pt
2.1 Invasive Species (image recognition + form) 20 pt
2.2 Iceberg Threat Level (CPA + classificazione) 15 pt
2.5 eDNA Frequency Calculator (calcolo %) 10 pt
Totale CS 85 pt

Stack tecnologico

Componente Tecnologia
Object detection YOLOv8 (Ultralytics)
Computer vision OpenCV + NumPy
CAD SolidWorks (equazioni parametriche)
Training Google Colab + PyTorch
Linguaggio Python 3

Struttura della repository

Task CS/
├── README.md              ← questo file
├── Task 1.2/
│   ├── README.md          ← documentazione computer vision
│   ├── final.py           ← script principale CV
│   ├── target.py          ← versione precedente
│   ├── rilevatore_target.py ← prototipo iniziale
│   ├── equations.txt      ← output misure → SolidWorks
│   ├── Coral garden (CAD).SLDPRT ← modello SolidWorks
│   ├── righello.jpg       ← immagine di test
│   ├── nuova.jpg          ← immagine di test
│   ├── Coral garden.zip
│   └── colar_garden.zip
├── Task 2.1/
│   ├── README.md          ← documentazione crab detector
│   ├── best.pt            ← modello YOLOv8 addestrato
│   ├── crab_counter.py    ← script di inferenza
│   ├── train_yolo_colab.ipynb
│   ├── img_generator_colab.ipynb
│   ├── dataset.zip
│   ├── crabs/             ← immagini di riferimento specie
│   └── practice/          ← immagini di test
├── Task 2.2/
│   ├── README.md          ← documentazione iceberg threat
│   ├── iceberg.py         ← logica pura: evaluate()
│   └── test_iceberg.py    ← test (CPA + classificazione)
└── Task 2.5/
    ├── README.md          ← documentazione eDNA frequency
    ├── edna.py            ← logica pura: frequency()
    └── test_edna.py       ← golden test (totale 84)

Setup

# Crea e attiva il virtual environment
python -m venv .venv
.venv\Scripts\activate        # Windows
# source .venv/bin/activate   # Linux/macOS

# Installa le dipendenze
pip install -r requirements.txt

Avvio rapido

Task 1.2 — Coral Garden CV

python "Task 1.2/final.py"

Task 2.1 — Crab Detector

python "Task 2.1/crab_counter.py"

Task 2.2 — Iceberg Threat Level

python "Task 2.2/iceberg.py"

Task 2.5 — eDNA Frequency Calculator

python "Task 2.5/edna.py"

About

Code for software task for MATE 2026

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors