85e9a4d4b0b7df4e163306984a157cfe82ad3924
- simulator.py: flux JSONL réaliste (Ping360 angle/dist, IMU, heading, depth, altitude) + vérité terrain - slam.py: dead-reckoning + scan-to-map ICP 2D (cKDTree) + fermeture de boucle - process.py: ingestion streaming ligne-par-ligne → trajectory.csv + map_2d.csv + cloud.ply - stream_replay.py: rejoue le flux (vision streaming remote) - SCHEMA.md: contrat format données ROV réel↔sim - RMS dead-reckoning 0.386m → scan-matching 0.188m (2x)
moulin-mapper
Cartographie ROV multi-capteurs d'une chambre de moulin à marée, sans GPS ni USBL.
Principe
Le ROV se positionne relativement aux murs fixes détectés par le Ping360 (scan-matching / ICP 2D), sans dérive cumulative. L'axe Z (colonne d'eau) est donné par la pression (profondeur) + Ping1D (hauteur fond).
Capteurs
| Capteur | Rôle |
|---|---|
| Ping360 | Position X, Y, cap (scan-matching) |
| IMU | Attitude + prédiction haute fréquence |
| Pression | Profondeur sous surface (Z haut) |
| Ping1D | Hauteur au-dessus du fond (Z bas) |
| Caméra frontale | Odométrie visuelle, texture |
| 2 caméras latérales | Imagerie murs, stéréo éventuel |
| 2 side-scans | Imagerie fond et murs |
Structure
web/ → démo interactive (1 fichier HTML autonome)
pipeline/ → traitement données réelles (Python, à venir)
docs/ → rapports, notes techniques
data/ → données brutes et traitées
Démo
Page de démonstration : https://laboratoire.freeboxos.fr/moulin-mapper/
Livrables
- Plan de la chambre (contour 2D, DXF)
- Nuage de points 3D (
.ply/.las/.e57) - Hauteur d'eau, dimensions, verticalité des murs
- Trajectoire ROV annotée
Contact
Cosma / Silent Flow — moulin à marée project
Description
BlueROV multi-sensor mapping for tidal mill chambers — Ping360 scan-matching based positioning without GPS
Languages
HTML
65.1%
Python
34.8%
Dockerfile
0.1%