Aller au contenu principal

Développer avec Inverse3

Cet article s'appuie sur le guide de démarrage rapide et sert d'introduction à Inverse3 en tant qu'outil de développement haptique. À cette fin, il traite de diverses configurations matérielles, des méthodes de contrôle et des principales fonctionnalités qui modifient le comportement de l'appareil.

Latéralité de l'appareil et système de coordonnées​

Inverse3 offre deux configurations matérielles optimisées pour différents scénarios.

Chaque appareil peut être utilisé indifféremment par des gauchers ou des droitiers, mais les droitiers peuvent trouver plus facile d'utiliser les appareils configurés pour la main droite dans certaines situations.

Lorsque deux appareils sont utilisés ensemble dans un scénario bimanuel, l'appareil pour gaucher doit être placé du côté gauche et l'appareil pour droitier du côté droit, afin de minimiser les collisions et les interférences.

Les deux appareils suivent un système de coordonnées droitier, indiqué sur les plaques de l'appareil situées du côté du bras de Inverse3. L'origine du système de coordonnées se trouve sur la face plane de la plaque de montage de l'appareil, près du centre.

Consultez la documentation d'InverseSDK pour le langage ou le module d'extension que vous prévoyez utiliser, car le système de coordonnées fourni dans les SDK peut déjà suivre le système de coordonnées propre au moteur de jeu.

Contrôle de Inverse3​

Le contrôle de Inverse3 ne se limite pas au contrôle des forces : il est également possible de contrôler ses couples et angles articulaires. Cette section présente les différents modes de contrôle ainsi que les entrées et sorties pertinentes, avec leurs unités respectives.

L'utilisation de l'un ou l'autre de ces modes comporte des risques intrinsèques pour les utilisateurs comme pour l'appareil ; pour les informations de sécurité, consultez Inverse3 Utilisation sécuritaire.

Contrôle cartésien​

Le contrôle de force est la méthode privilégiée pour utiliser Inverse3, car il reçoit une force exprimée en newtons (N), et renvoie sa position en mètres (m) et sa vitesse en mètres par seconde (m/s). En mode de contrôle de position, Inverse3 se déplace vers une position spécifiée et la maintient. Le passage entre les deux modes est transparent, ce qui signifie qu'ils peuvent être utilisés ensemble pour offrir une meilleure expérience utilisateur. Par exemple, l'appareil peut être éloigné des objets interactifs au début d'une simulation ou, avec l'utilisation d'un VerseGrip suivi, le mode de contrôle de position peut maintenir la position du curseur lors d'un changement d'outil.

Contrôle articulaire​

De façon analogue, les couples et angles articulaires de Inverse3 peuvent être contrôlés directement. En mode de contrôle du couple, l'appareil génère un couple spécifié en newtons par millimètre (N·mm) et, en mode de contrôle de l'angle articulaire, il se déplace vers un angle spécifié en degrés (°). Dans les deux cas, l'appareil renvoie sa position en ° et sa vitesse en degrés par seconde (°/s).

Codes de couleur​

Le voyant d'état du logo de Haply change de couleur selon le mode de fonctionnement de l'appareil. Le tableau présente les couleurs du voyant d'état pour le dernier micrologiciel (pour les couleurs des versions précédentes du micrologiciel, consultez la section Couleurs des anciens voyants d'état ci-dessous)

CouleurSéquence lumineuseÉtatDescription
ÉteintÉteintDébranchéLe câble de USB-C est débranché
RougeClignotementAucune négociationAucune connexion au service établie
Clignotement SOSDélai dépasséDépassement du délai de communication détecté, aucune commande reçue du service
JauneClignotementNon calibré et non alimentéAdaptateur d'alimentation débranché et calibrage requis
Fondu entrant/sortantNon calibréCalibrage de l'appareil requis
BlancContinuInactifAucun mode de contrôle actif
ClignotementInactif et non alimentéAdaptateur d'alimentation débranché et aucun mode de contrôle actif
VertContinuContrôle de forceAppareil actif en mode de contrôle de force
ClignotementContrôle de force et non alimentéAdaptateur d'alimentation débranché et appareil en mode de contrôle de force
CyanContinuContrôle de positionAppareil actif en mode de contrôle de position
ClignotementContrôle de position et non alimentéAdaptateur d'alimentation débranché et appareil en mode de contrôle de position
OrangeContinuDéclencheur de sécuritéInstabilité détectée, déclencheur de sécurité activé

Remarque : si le voyant d'état reste rouge, il se peut que votre connexion USB ne transmette pas les données. Assurez-vous que les connexions sont bien fixées, ou remplacez votre câble. Si votre voyant d'état ne correspond à aucun des schémas attendus, veuillez soumettre une demande de soutien.

Fonctionnalités facultatives d'amélioration des performances​

Inverse3 dispose de plusieurs fonctionnalités visant à contrôler ses performances et son ressenti. Cette section présente brièvement ces fonctionnalités et leur utilisation.

Estimation de la vitesse​

La vitesse n'est pas mesurée directement, mais déduite des données de position, ce qui peut produire des signaux bruités et imprécis nécessitant un filtrage. Inverse3 intègre un algorithme d'estimation de la vitesse embarqué qui exploite son matériel intégré pour produire un signal de vitesse ne nécessitant pas de filtrage supplémentaire.

Veuillez noter que l'estimation de la vitesse est approximative et peut ne pas être entièrement exacte. Ses performances et sa précision pourraient être affinées au fil des améliorations.

Compensation de la gravité​

La compensation de la gravité élimine les forces résultant de la masse des composants de Inverse3, ce qui procure une sensation d'absence de poids quelle que soit l'orientation de montage. Au début d'une simulation, l'appareil utilise un capteur embarqué pour calibrer l'algorithme ; modifier l'orientation de l'appareil pendant le fonctionnement entraînera un comportement erratique.

La compensation de la gravité ne fonctionne qu'en mode de contrôle de force.

L'intensité de la compensation de la gravité est réglable au moyen d'un facteur d'échelle de la gravité (réglé à 0.75 par défaut) et elle peut être entièrement désactivée au moyen des commandes propres au SDK (consultez la référence du SDK pour plus de détails) .

Mise à l'échelle des forces​

Inverse3 génère des intensités de force différentes selon les directions. Par conséquent, tenter de générer une force qui dépasse les capacités de Inverse3 peut produire une force dont la direction diffère de la force souhaitée. L'activation de la mise à l'échelle des forces préserve la direction de la force, mais en réduit l'intensité. Cette fonctionnalité est activée par défaut, mais elle peut être désactivée au moyen des commandes propres au SDK.

Suivi de l'orientation de VerseGrip​

Le suivi de l'orientation de l'outil avec Inverse3 nécessite un VerseGrip.

Pour en savoir plus sur les VerseGrips, consultez l'article Premiers pas : VerseGrip.

Anciens voyants d'état​

Micrologiciel 7.4.x et antérieurs​

CouleurSéquence lumineuseÉtatDescription
ÉteintÉteintDébranchéCâble de USB-C débranché
RougeClignotantAucune poignée de mainAucune connexion au service établie
VioletFixeNon calibréCalibration de l'appareil requise
ClignotantNon calibré et hors tensionAdaptateur d'alimentation débranché et calibration requise
BlancFixeInactifAucun mode de contrôle actif
ClignotantInactif et hors tensionAdaptateur d'alimentation débranché et aucun mode de contrôle actif
VertFixeContrôle en forceAppareil actif en mode de contrôle en force
ClignotantContrôle en force et hors tensionAdaptateur d'alimentation débranché et appareil en mode de contrôle en force
Bleu roiFixeContrôle en positionAppareil actif en mode de contrôle en position
ClignotantContrôle en position et hors tensionAdaptateur d'alimentation débranché et appareil en mode de contrôle en position
CyanFixeSécurité d'amortissementSécurité d'amortissement en vitesse ou en force déclenchée
RoseFixePlafond de stabilitéInstabilités répétées, la limite de force a été réduite
MauveFixeAssistance à la stabilité déclenchéeInstabilité détectée, la force est réduite automatiquement
OrangeFixeFrein d'urgenceArrêt immédiat, frein d'urgence actif
JauneClignotement rapideDélai dépasséDépassement du délai de communication détecté