2026-04-19 16:55:57 +00:00

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.82: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)

# 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 scripts/deploy_pi.sh <IP_DU_PI>

3. Interface web

cd src/interface && python app.py
# → http://localhost:5000

4. Documentation Sphinx

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

Description
SLAM stereo Pi4B BlueOS Navigator - piloted by OpenClaw
Readme MIT 76 KiB
Languages
Python 80.5%
OpenSCAD 6.7%
Dockerfile 6.6%
Shell 6.2%