Zum Hauptinhalt springen

Haply Inverser Dienst

Inverse Service läuft auf Ihrem Rechner als Hintergrundprozess und verbindet Haply-Haptikgeräte in Echtzeit mit Ihrer Anwendung. Da alle Vorgänge – von der Geräteerkennung über die serielle Kommunikation und die Sicherheitsüberwachung bis hin zum Streaming des Gerätestatus – auf einer Ebene unterhalb des Anwendungscodes abgewickelt werden, können Sie sich ganz auf die Gestaltung des Nutzererlebnisses konzentrieren.

Anforderungen und Kompatibilität​

Dieser Dienst läuft auf den gängigen Desktop-Plattformen und kann vonjeder Programmiersprache aus über einen WebSocket-Client und einen JSON-Parsergesteuert werden:

  • Plattform: Windows 10 und höher (MSVC), Linux (.deb(Paket), macOS
  • Sprachen: Python, JavaScript/TypeScript, C++, C#, Rust, Go, Java, … – alle Sprachen, die WebSocket und JSON unterstützen

Offiziell unterstützte Integrationen​

Haply bietet offizielle Integrationen fürHaply das Inverse Unity Package,Toia,Geomagic FreeformundNVIDIA Isaac Lab an und sorgt für deren Wartung.

Darüber hinaus können Sie diesen Dienst nutzen, sofern Ihre Plattform oder Laufzeitumgebung über einen WebSocket-Client und einen JSON-Parser verfügt. Wir haben die Funktionsfähigkeit in Verbindung mitder Unreal Engine,TouchDesignerund anderen Echtzeit- sowie Simulations-Stacks überprüft. Sofern Sie in Ihrer Umgebung WebSocket nutzen können, lassen sich die Inverse-Geräte bedienen.

Beispiele für die einzelnen Sprachen finden Sie in den öffentlichen Beispiel-Repositorys: C++undPython.

Kommunikationsschnittstelle​

Dieser Dienst stellt zwei Kommunikationskanäle zur Verfügung:

KanalPortTransportVerwendungszweck
Simulation10001WebSocketEchtzeit-Befehls-/Zustandsschleife (1 eingehende Nachricht → 1 ausgegebener Zustand)
Veranstaltung10020WebSocket (nur Lesezugriff)Systemereignisse: Warnungen zu Sicherheit, Akku, Verbindung und Datenrate
HTTP10001RESTZustandslose Konfigurationsabfragen, Konfiguration, Sitzungsverwaltung und Überprüfung von Geräteinformationen

Alle Nutzdaten liegen im JSON-Format vor. Informationen zu den Standardregeln für Envelope, Port und Content-Type finden Sie inden JSON-Spezifikationen.

Anwendungsfall​

ZweckStartpunkt
Zielwerte für Kraft und Positionan das haptische Gerät sendenEchtzeitsteuerung
Einstellungen: Basis, Halterung, Voreinstellungen, FilterSitzungseinstellungen
Durch die Szene navigieren(Bewegung mittels Geschwindigkeitssteuerung)Navigationsmodul
Systemereignisse empfangen(Sicherheit, Akku, Verbindung)Ereignisse und Überwachung
Anhand von Beispielen lernenTutorial

Koordinatensystem​

Das interne Koordinatensystem von Haply istein rechtshändiges System, beidemdie Z-Achse nach oben zeigt(+X rechts, +Y nach vorne, +Z nach oben). MithilfeeinereinzigenBasisrotationlässt es sich in das Koordinatensystem Ihrer Anwendung umrechnen. Nach der einmaligen Einrichtung werden alle Ein- und Ausgabewerte automatisch umgerechnet.

Es gibt zwei Transformationen, mit denen die Position eines Geräts innerhalb einer Szene bestimmt wird:

  • Mount — Physikalischer Versatz des Geräts (über Voreinstellungenoder explizit festgelegt)
  • Arbeitsbereich – Laufzeit-Drift für die Navigation in der Kamera/Szene (manuell oder überdas Navigationsmoduleinstellbar)

Informationen zur gesamten Koordinatentransformations-Pipeline finden Sieunter „Mount“ und „Workspace“.

Ausführung des Dienstes​

Inverse Service kann in zwei Modi ausgeführt werden:

  • Haply In den Hub integrieren(empfohlen) – Haply Der Hub enthältdie aktuellsteVersion des Dienstes und wird automatisch gestartet, sobald der Hub geöffnet ist. Eine manuelle Konfiguration ist nicht erforderlich, und Sie profitieren stets von den neuesten Korrekturen.
  • Standalone – Verwenden Sie den Inverse Installer, umeinebestimmteServiceversion als Windows-Dienst oder Unix-Daemonzu installieren. Dies ist besonders nützlich für CI, die Bereitstellung in Headless-Umgebungen und die Nutzung auf Rechnern, auf denen der Hub nicht läuft.

Verwaltung von Standalone-Diensten​

Windows — Öffnen Sie die Service-App: Win+Rdrücken Sie,services.mscGeben Sie dies ein, suchen Sie nach „Haply -Inverse-Service“, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Starten“, „Beenden“ oder „Neustart“.

Linux (systemd):

systemctl start haply-inverse-service.service
systemctl stop haply-inverse-service.service
systemctl restart haply-inverse-service.service
systemctl enable haply-inverse-service.service # auto-start on boot

API-Referenz (Vollversion)​

Die vollständigen, maschinenlesbaren Spezifikationen für alle Endpunkte und Nachrichten lauten wie folgt: