Passer directement au contenu principal

Service Inverse de Haply

Inverse Service fonctionne en arrière-plan sur votre machine et connecte en temps réel le périphérique haptique Haply à votre application. Comme il gère, à un niveau inférieur au code de l'application, la détection du périphérique, la communication série, la surveillance de sécurité et la transmission en continu de l'état, vous pouvez vous concentrer pleinement sur la conception de votre expérience.

Exigences et compatibilité​

Ce service fonctionne sur les principales plateformes de bureau et peut être utilisé depuisn'importe quel langage de programmation grâce à un client WebSocket et un analyseur JSON:

  • Plateforme : Windows 10 et versions ultérieures (MSVC), Linux (.deb(paquet), macOS
  • Langages : Python, JavaScript / TypeScript, C++, C#, Rust, Go, Java, … Tous les langages compatibles avec WebSocket et JSON

Intégrations officiellement prises en charge​

Haply assure la fourniture et la maintenance d'intégrations officielles pourHaply Inverse Unity Package,Toia,Geomagic FreeformetNVIDIA Isaac Lab.

Outre ces exemples, ce service est accessible depuis toute plateforme ou tout environnement d'exécution doté d'un client WebSocket et d'un analyseur JSON. Nous avons vérifié son fonctionnement en association avecUnreal Engine,TouchDesigneret d'autres piles logicielles dédiées au temps réel et à la simulation. Si votre environnement prend en charge les connexions WebSocket, vous pouvez contrôler les périphériques Inverse.

Pour consulter des exemples par langage, veuillez vous reporter aux dépôts d'exemples publics : C++etPython.

Interfaces de communication​

Ce service met à disposition deux canaux de communication :

ChaînePortTransportUtilisation
Simulation10001WebSocketBoucle de commande / d'état en temps réel (1 message d'entrée → 1 état de sortie)
Événement10020WebSocket (en lecture seule)Événements système : alertes relatives à la sécurité, à la batterie, à la connexion et au débit
HTTP10001RESTRequêtes de configuration sans état, paramètres, gestion des sessions, vérification des informations sur les appareils

Toutes les charges utiles sont au format JSON. Pour connaître les règles standard relatives à l'enveloppe, au port et au type de contenu, veuillez vous reporter àla spécification JSON.

Cas d'utilisation​

ObjectifPoint de départ
Envoyer les valeurs cibles de force et de positionà un dispositif haptiqueContrôle en temps réel
Réglages: base, montage, préréglages, filtresParamètres de session
Navigation dans la scène(déplacement par contrôle de la vitesse)Module de navigation
Réception d'événements système(sécurité, batterie, connexion)Événements et surveillance
Apprendre à partir d'exemplesTutoriel

Système de coordonnées​

Le système de coordonnéesinternede Haply estun système de coordonnées à main droite, avec l'axe Z orienté vers le haut(+X à droite, +Y vers l'avant, +Z vers le haut). Il est possible de le convertir dans le système de coordonnées de l'application àl'aide d'une seule transformation de base. Une fois configuré, toutes les entrées et sorties sont automatiquement converties.

Il existe deux transformations permettant de déterminer la position d'un appareil au sein d'une scène :

  • Montage — Décalage physique de l'appareil (via un préréglageou défini explicitement)
  • Espace de travail — Déviation à l'exécution pour la navigation dans la caméra / la scène (configurée manuellement ouvia le module de navigation)

Pour plus d'informations sur l'ensemble du pipeline de transformation des coordonnées, veuillez vous reporteraux sections « Montage » et « Espace de travail».

Exécution du service​

Inverse Service peut fonctionner selon deux modes :

  • Haply Intégration au Hub(recommandée) — Haply Le Hubcontient la dernière version du service, qui se lance automatiquement lorsque le Hub est ouvert. Aucune configuration manuelle n'est nécessaire et vous bénéficiez en permanence des derniers correctifs.
  • Autonome — Utilisez Inverse Installerpour installer une version spécifique du serviceen tant que service Windows ou démon Unix. Cette option est particulièrement utile pour le déploiement en environnement CI ou sans interface graphique, ainsi que sur les machines où Hub n'est pas en cours d'exécution.

Gestion des services autonomes​

Windows — Ouvrez l'application de service : Win+RAppuyez sur,services.mscSaisissez cette commande, recherchez «Haply Inverse Service », cliquez avec le bouton droit de la souris et sélectionnez « Démarrer », « Arrêter » ou « Redémarrer ».

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

Référence API (version complète)​

Voici les spécifications complètes et lisibles par machine pour tous les points de terminaison et tous les messages :