# SLAM_Stereo_BlueOS > **Ce projet est piloté par OpenClaw (Surfer d'Argent).** > Toute discussion / décision / logs passent par Discord serveur Labo, > catégorie **Projets**, salon **#slam** (channel id `1495451262639149116`). > Le dossier Windows sert uniquement de workdir local pour tests hardware. > La source de vérité = Gitea (`192.168.0.89:3000`). Nextcloud = miroir de synchro. --- # SLAM Stéréo BlueOS — AUV Sous-Marin Autonome SLAM visuel stéréo pour drone sous-marin (AUV) intégré BlueOS. Stack: ORB-SLAM3 + ROS2 Humble + Python + Flask. ## Objectifs - Localisation et cartographie 3D temps réel en milieu sous-marin - Portée cible : **0.5 m – 5 m** (visibilité eau douce/mer côtière) - Baseline stéréo : **11 cm** (médiane 10-12 cm optimale) - Déploiement : Raspberry Pi 4B sous BlueOS (Docker extension) - Interface web Flask pour monitoring et calibration ## Hardware | Composant | Modèle | Quantité | |-----------|--------|----------| | SBC | Raspberry Pi 4B (4 GB) | 1 | | Caméra gauche | Microsoft LifeCam HD-3000 | 1 | | Caméra droite | Microsoft LifeCam HD-3000 | 1 | | IMU | À définir (MPU-6050 ou ICM-20689) | 1 | | Support | Impression 3D PETG (voir /hardware/) | 1 | ## Schéma Baseline Stéréo ``` CAMÉRA GAUCHE CAMÉRA DROITE | | |<------- B = 11cm ----->| | | _____|_____ _____|_____ | [o] f | | f [o] | |___________| |___________| | | | AUV | |_______________________| Z_max = f * B / d_min = 525 px * 0.11 m / 1 px ≈ 57.75 m (théorique, ~5 m pratique sous-marin) Z_min = f * B / d_max = 525 * 0.11 / 64 ≈ 0.9 m ``` ## Quick Start ### 1. Calibration stéréo (PC) ```bash # Capturer les paires de damier python src/calibration/stereo_capture.py # Calibrer python src/calibration/stereo_calibrate.py # → génère config/stereo_calib.yaml ``` ### 2. Déploiement Pi ```bash bash scripts/deploy_pi.sh ``` ### 3. Interface web ```bash cd src/interface && python app.py # → http://localhost:5000 ``` ### 4. Documentation Sphinx ```bash pip install sphinx sphinx-rtd-theme sphinxcontrib-bibtex myst-parser sphinx-build -b html docs/source docs/build # → ouvrir docs/build/index.html ``` ## Structure ``` SLAM_Stereo_BlueOS/ ├── src/ │ ├── calibration/ # Calibration stéréo OpenCV │ ├── slam/ # Wrapper ORB-SLAM3 │ └── interface/ # Flask web UI ├── docs/ # Sphinx documentation ├── hardware/ # OpenSCAD support caméras ├── datasets/ # (gitignored — trop lourds) ├── scripts/ # Deploy SSH Pi ├── config/ # YAML calibration + params └── Dockerfile # BlueOS extension ``` ## Dépendances Python ``` opencv-python>=4.8 flask>=3.0 numpy>=1.24 pyyaml>=6.0 ``` ## Licence MIT — Baptiste Moulin 2026