MultiPose

This commit is contained in:
chk
2026-06-16 17:04:11 +02:00
parent 08d1c21d1e
commit 5f6d28673a
5 changed files with 487 additions and 77 deletions

View File

@@ -102,6 +102,29 @@ befestigt. Diese werden in `links.Base.markers` eingetragen.
- `links.Arm1.jointToParent.origin[1]` (Y) und `[2]` (Z) in `robot.json`
- Optional: `links.Base.markers` ergänzt
### Alternative/Ergänzung — `--calibrate-origin` (`5_pose_estimation.py`)
🔶 *Experimentell, noch nicht in dieses UI eingebunden* — Details, Mathematik und
Vergleichstabelle: [`doc/Homing_5_Pose.md`](Homing_5_Pose.md) (Abschnitt
„Kalibrier-Switch: Gelenk-Origin").
Bestimmt `origin[1,2]` desselben Gelenks **aus einer einzelnen vorhandenen
Homing-Aufnahme** (Position + gemessene Normale aller Arm1-Marker, robuster
Least-Squares-Fit) statt aus der dedizierten 3-Pose-Aufnahme oben — keine
eigene Mess-Session nötig, dafür (noch) ohne die explizite Drehung, die hier
Achse und Winkel sauber entkoppelt. Auf zwei realen Captures ergab sich eine
konsistente Korrektur von ca. **+7 mm (Y) / 19 mm (Z)** gegenüber dem
aktuellen `robot.json`-Wert — bisher **nicht** gegen eine frische Messung mit
Verfahren B gegengeprüft, daher noch nicht über „Joint-Origin Y/Z übernehmen"
angewendet. Aufruf:
```bash
python scripts/5_pose_estimation.py <evalDir>/aruco_marker_poses.json \
-robot scripts/robot_1781069752019.json \
--from-state <evalDir>/state_Arm2.json \
--calibrate-origin Arm1
```
---
### Mathematik: Bestimmung der Rotationsachse