Silver Surfer 3398ec7751 fix #1: calibration stéréo HD-3000 (YUYV/V4L2, ORB-SLAM3 YAML, gate RMS<0.5px)
- stereo_capture.py : backend V4L2 + fourcc YUYV 640×480@30 (HD-3000 ne supporte
  pas MJPG), indices /dev/video0 et /dev/video2, mode --headless pour SSH,
  warmup AE/AGC, grab+retrieve pour meilleur synchronisme, sortie
  datasets/calib_raw/ à la racine du repo.
- stereo_calibrate.py : log RMS per-cam + RMS stéréo global, écrit
  config/stereo_params.yaml au format ORB-SLAM3 (Camera1/2.fx, Stereo.T_c1_c2,
  Stereo.b/bf, IMU.T_b_c1 placeholder), génère config/calibration_report.md
  avec baseline mesurée vs cible 110 mm. Gate exit-code 2 si RMS > 0.5 px
  (bypass --no-gate).
- .gitignore : ajoute datasets/calib_raw/ (captures brutes volumineuses).
- docs/source/calibration.rst : procédure SSH headless reproduite, format YAML
  ORB-SLAM3 documenté, gate RMS<0.5 px expliqué.

Note : la calibration numérique (RMS, K/D/R/T, baseline mesurée) doit être
exécutée sur le Pi avec les caméras connectées — code prêt, hardware run à
faire manuellement.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 18:40:58 +00:00
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%