35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
# Homing 0 – Kamera & Triangulation
|
||
|
||
> Technische Detail-Doku zu [`Homing.md`](Homing.md) — dieser Teil: Foto → trianguliertes
|
||
> `aruco_marker_poses.json`.
|
||
> Status: Gerüst, wird sukzessive ausgebaut.
|
||
|
||
---
|
||
|
||
## Scope
|
||
|
||
Schritte 1–3b der Homing-Pipeline (siehe `Homing.md` → Ablauf), a.k.a. „Board-Pipeline":
|
||
|
||
| Schritt | Script | Pro | Ergebnis |
|
||
|---|---|---|---|
|
||
| 1 | `1_detect_aruco_observations.py` | Kamera | 2D-Marker-Ecken (mit NPZ-Intrinsik entzerrt) |
|
||
| 2 | `2_estimate_camera_from_observations.py` | Kamera | Kamera-Pose relativ zum Board (`cam*_camera_pose.json`) |
|
||
| 3b | `3b_corner_marker_poses.py` | einmal, ≥2 Kamera-Posen | `aruco_marker_poses.json` (3D-Weltpositionen aller Marker) |
|
||
|
||
Ausgelagert in `runBoardPipeline()` (`server/server.js`) — gemeinsam genutzt von
|
||
Kalibrierung und Homing.
|
||
|
||
## Offene Punkte / noch zu dokumentieren
|
||
|
||
- [ ] Kamera-Intrinsik-Format (NPZ-Inhalt, Verzeichnis)
|
||
- [ ] Wie `3b` mehrere Kamera-Beobachtungen eines Markers kombiniert (Triangulation/Mittelung, `num_cameras`-Feld)
|
||
- [ ] Fehlerquellen: Verdeckung, Belichtung, `num_cameras < 2` → Marker fehlt komplett
|
||
- [ ] Format von `aruco_marker_poses.json` (Felder `position_mm`, `corners_m`, `normal`, `edge_length_mm`)
|
||
- [ ] Zusammenhang mit `Kalibrierung.md` / `Kalibrierung_Marker.md`
|
||
|
||
## Verweise
|
||
|
||
- Allgemeiner Ablauf: [`Homing.md`](Homing.md)
|
||
- Nächster Schritt (Gelenkwinkel aus den triangulierten Positionen): [`Homing_1_StepByStep.md`](Homing_1_StepByStep.md)
|
||
- Kalibrierung: `Kalibrierung.md`, `Kalibrierung_Marker.md`
|