Zum Hauptinhalt springen

Haply Inverser Dienst

Inverse Service läuft als Hintergrundprozess auf Ihrem Computer und verbindet die haptischen Geräte von Haply in Echtzeit mit Ihrer Anwendung. Es übernimmt alle Aufgaben, die in Ihrem Code darunter liegen: Geräteerkennung, serielle Kommunikation, Sicherheitsüberwachung sowie die Übertragung von Statusdaten, sodass Sie sich ganz auf die Gestaltung des Nutzererlebnisses konzentrieren können.

Systemanforderungen und Kompatibilität​

Dieser Dienst läuft auf den gängigen Desktop-Plattformen und kann mitjeder Spracheaufgerufen werden, dieüber einen WebSocket-Client und einen JSON-Parser verfügt:

  • Plattform: Windows 10+ (MSVC), Linux (.deb (Paket), macOS
  • Sprachen: Python, JavaScript/TypeScript, C++, C#, Rust, Go, Java … sowie alle Sprachen, die über WebSocket und JSON kommunizieren können

Offiziell unterstützte Integration​

Haply Für die folgenden Produkte werden offizielle Integrationen gepflegt:Haply Inverse Unity Package,Toia,Geomagic Freeform und NVIDIA Isaac Lab.

Darüber hinaus kann dieser Dienst genutzt werden, sofern die Plattform oder die Laufzeitumgebung einen WebSocket-Client und einen JSON-Parser bereitstellt – wir haben ihn bereits in der Unreal Engine, inTouchDesigner sowie in anderen Echtzeit- oder Simulations-Technologie-Stacks zum Einsatz gebracht. Solange Ihre Umgebung WebSockets unterstützt, können Sie Inverse-Geräte ansteuern.

Beispiele für bestimmte Programmiersprachen finden Sie in den öffentlich zugänglichen Beispiel-Repositories:C++ und Python.

Kommunikationsschnittstellen​

Dieser Dienst bietet zwei Kommunikationskanäle:

DurchgangAnschlussÜbertragungsartVerwendungszweck
Simulation10001WebSocketEchtzeit-Befehls-/Statuszyklus (1 eingehende Nachricht, 1 ausgegebener Status)
Vorfall10020WebSocket (nur lesbar)Systemereignisse: Warnungen zu Sicherheit, Akkustand, Verbindung und Datenübertragungsrate
HTTP10001RESTZustandslose Konfigurationsabfragen, Einstellungen, Sitzungsverwaltung und Geräteüberprüfung

Alle Daten sind im JSON-Format. Informationen zu den Regeln für Standard-Envelopes, Ports und Content-Types finden Sie in den JSON-Konventionen.

Anwendungsszenarien​

ZielStartposition
Kraft- oder Positionsziele an haptische Geräte sendenEchtzeitsteuerung
Konfiguration: Koordinatensystem, Einbindungsart, Voreinstellungen oder FilterSitzungskonfiguration
Navigationsszenario (geschwindigkeitsgesteuerte Bewegung)Navigationsmodul
Systemereignisse überwachen(Sicherheit, Akkustand, Verbindung)Vorfälle und Überwachung
Lernen anhand von BeispielenAnleitung

Koordinatensystem​

Haply Das interne Koordinatensystem istein rechtshändiges System, wobei die Z-Achse nach oben zeigt(+X nach rechts, +Y nach vorne, +Z nach oben). Du kannst es durcheine einmalige Koordinatenbasisverschiebungauf das Koordinatensystem der Anwendung abbilden – nach der Einstellung werden alle Ein- und Ausgänge automatisch umgerechnet.

Es gibt zwei Transformationen, mit denen Geräte in einer Szene positioniert werden können:

  • Einbau– Physikalischer Versatz des Geräts (überVoreinstellungenoder explizite Einstellung)
  • Arbeitsbereich– Laufzeit-Drift für die Kamera-/Szenennavigation (kann manuell oder überdas Navigationsmoduleingestellt werden)

Den vollständigen Ablauf der Koordinatenverarbeitung finden Sie unter„Einbinden und Arbeitsbereich“.

Dienste ausführen​

Inverse Service kann in zwei Modi betrieben werden:

Verwaltung unabhängiger Dienste​

Windows——Dienst-App öffnen: Drücken Sie Win+R, Eingabe services.msc, suchen Sie „Haply -Inverse-Service“, klicken Sie mit der rechten Maustaste darauf → Starten/Stoppen/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

Vollständige API-Referenz​

Vollständige, maschinenlesbare Spezifikationen zu jedem Endpunkt und jeder Nachricht: