# appRobotHoming `appRobotHoming` ist eine browserbasierte Benutzeroberfläche für die WebCam-gestützte Ermittlung der Roboterpose. Der Einstieg bleibt als einfaches Frontend erhalten, während die Auswertung künftig an den BodyTracker weitergeleitet wird. ## Was das Projekt jetzt macht - Holt aus der WebCam alle 3 bis 10 Bilder ab (siehe `doc/README_WebCam.md`). - Zeigt ausgewählte Bilder und die zugehörigen `.npz`-Daten in einer Auswertungsansicht. - Übergibt diese Daten an den BodyTracker (`doc/README_BodyTracker.md`). - Ermittelt daraus die Roboterpose und gibt sie aus. ## Aktueller Fokus - Benutzeroberfläche bleibt der Einstieg. - Bildanzeige und Poseausgabe sind zentral. - Der alte HTTPS/WSS-Server wurde entfernt. - `certs/`, `scripts/` und `server/` sind nicht mehr Teil des aktuellen Projekts. ## Integration - Die WebCam- und BodyTracker-Aufrufe laufen über das Backend, nicht direkt aus dem Browser. - Das Frontend lädt Snapshot-Daten über `/api/latest-snapshot`. - Der Browser sendet Pose-Anfragen an `/api/estimate`. - Das Backend kann dann auf interne Docker-Container zugreifen, z. B. auf den WebCam-Service und den BodyTracker-Service. - Als Fallback verwendet das Backend lokale `public/snapshots`, wenn keine externe WebCam verfügbar ist. - Konfigurierbare Umgebungsvariablen: - `WEBCAM_URL` – Basis-URL des internen Webcam-Services. - `BODYTRACKER_URL` – Basis-URL des internen BodyTracker-Services. ## Geplante Erweiterungen 1. Pose an `appRobotDriver` weitergeben. 2. Wenn die Hand nicht erkannt wird: Vorschlag für eine bessere Arm-/Foto-Position. 3. Manuelle Eingabe von `x, y, z, a, b, c, e`. 4. Erkennungsergebnis und erkannte Pose klar im UI ausgeben. ## Dateien & Struktur - `public/` – Frontend, UI, Client-Logik und Anzeige. - `doc/README_WebCam.md` – Details zur Webcam-Architektur und Bildabholung. - `doc/README_BodyTracker.md` – BodyTracker-Integration und Poseermittlung. - `test/` – bestehende Tests für die Berechnung und Auswertung. ## Nutzung 1. `npm install` 2. `npm test` 3. Öffne `public/index.html` im Browser oder nutze einen beliebigen statischen Server. > Hinweis: Die Anwendung ist aktuell als Frontend/Analyse-UI aufgebaut. Die > Backend-Serverlogik aus früheren Versionen wurde bereinigt, um das Projekt zu > fokussieren.