docs: Sphinx — 9 pages rst, conf.py rtd-theme, sources.bib, navigator_imu

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Floppyrj45
2026-04-19 18:07:05 +02:00
parent c14fdfe572
commit 9a46824199
13 changed files with 861 additions and 0 deletions

View File

@@ -0,0 +1,98 @@
Théorie — Baseline Stéréo
==========================
Modèle géométrique
------------------
Le système stéréo calibré suit le modèle trou d'aiguille rectifié.
Après rectification, les lignes épipolaires sont horizontales et
la disparité est uniquement sur l'axe X.
Relation profondeurdisparité
------------------------------
.. math::
Z = \frac{f \cdot B}{d}
Avec :
- :math:`Z` — profondeur en mètres
- :math:`f` — focale en **pixels** (après calibration)
- :math:`B` — baseline en **mètres**
- :math:`d` — disparité en **pixels**
Paramètres du système
---------------------
.. list-table::
:header-rows: 1
* - Paramètre
- Valeur
- Source
* - Focale estimée :math:`f`
- 525 px
- LifeCam HD-3000, résolution 1280×720
* - Baseline :math:`B`
- 0.11 m
- Support OpenSCAD, médiane 1012 cm
* - Disparité min :math:`d_{min}`
- 1 px
- Limite théorique
* - Disparité max :math:`d_{max}`
- 64 px
- StereoBM / SGBM config
Portée théorique
----------------
.. math::
Z_{max} = \frac{f \cdot B}{d_{min}} = \frac{525 \times 0.11}{1} = 57.75 \text{ m}
.. math::
Z_{min} = \frac{f \cdot B}{d_{max}} = \frac{525 \times 0.11}{64} \approx 0.9 \text{ m}
**Portée pratique sous-marin** : 0.5 m 5 m
La limite pratique est imposée par la **visibilité de l'eau** (turbidité,
diffusion), pas par la géométrie. En eau claire méditerranéenne,
portée max mesurée ≈ 8 m. En eau verte côtière : ≈ 23 m.
Pourquoi 1012 cm ?
--------------------
**Baseline trop courte** (< 5 cm) :
- Disparité trop faible → bruit dominant
- :math:`Z_{max}` réduit, peu de points 3D à grande distance
**Baseline trop longue** (> 20 cm) :
- Zone aveugle centrale grande (:math:`Z_{min}` augmente)
- Occultations importantes (objet vu par une seule caméra)
- Synchronisation temporelle plus critique
**Plage 1012 cm** :
- Compromise optimal pour portée 0.55 m
- Compatible avec gabarit BlueROV2 (largeur tube ~10 cm)
- Résolution en profondeur : :math:`\delta Z = Z^2 / (f \cdot B)` ≈ 4 cm à 2 m
Sensibilité à la calibration
-----------------------------
Une erreur de 1 mm sur la baseline :math:`B` induit une erreur
:math:`\delta Z / Z = \delta B / B \approx 0.9\%` sur toutes les profondeurs.
Conserver le support imprimé rigide et éviter le choc thermique
(dilatation différentielle PETG/aluminium).
Références
----------
:cite:`campos2021orbslam3` — ORB-SLAM3, précision stéréo-inertiel.
:cite:`ferrera2019underwater` — Calibration sous-marine, modèle réfraction.