Aller au contenu principal

Configuration de l'appareil

La configuration de l'appareil est envoyée via le dictionnaire configure de chaque appareil (WebSocket) ou via les routes /{device_type}/{id}/config/{key} HTTP. Toutes les entrées sont persistantes — une fois définies, elles restent en vigueur jusqu’à ce qu’elles soient modifiées.

Matrice de disponibilité des configurations​

import Tabs depuis '@theme/Tabs' ; import TabItem depuis '@theme/TabItem' ;

CléWS configureHTTP config/Portée de la sessionRemarques
preset✓✓✓Mutuellement exclusif avec mount
basis✓✓✓Au niveau de la session et par appareil
mount✓✓✓Mutuellement exclusif avec preset
damping✓✓✓Scalaire et/ou directionnel
force_gate✓✓✓Protection contre les oscillations
handedness—✓—Global à l'appareil (droite/gauche)
torque_scaling—✓—Global au téléphone
gravity_compensation—✓—Global au téléphone
home_return—✓—Micrologiciel pas encore activé
navigation✓✓✓Module → voir la page dédiée

preset​

Sélectionnez une configuration d'usine nommée qui définit en une seule fois le montage, la base et l'origine de l'espace de travail. Consultez la section « Montage et espace de travail (préréglages) » pour obtenir la liste complète.

{ "inverse3": [{ "device_id": "049D", "configure": { "preset": { "preset": "arm_front_centered" } } }] }
curl -X POST "http://localhost:10001/inverse3/049D/config/preset?session=:0" \
-d '{"preset":"arm_front_centered"}'

basis​

Définit le remappage des axes de coordonnées. Voir « Permutation de base» pour les conventions et les remarques relatives à la migration.

{ "session": { "configure": { "basis": { "permutation": "XZY" } } } }

La base par appareil est également prise en charge :

{ "inverse3": [{ "device_id": "049D", "configure": { "basis": { "permutation": "XZY" } } }] }
curl -X POST "http://localhost:10001/inverse3/049D/config/basis?session=:0" \
-d '{"permutation":"XZY"}'

mount​

Remplace la transformation de montage physique. Voir « Montage et espace de travail » pour la chaîne de traitement des coordonnées.

{
"inverse3": [{
"device_id": "049D",
"configure": {
"mount": {
"transform": {
"position": { "x": 0.0, "y": 0.0, "z": 0.0 },
"rotation": { "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
}
}
}]
}
curl -X POST "http://localhost:10001/inverse3/049D/config/mount?session=:0" \
-H "Content-Type: application/json" \
-d '{"transform":{"position":{"x":0,"y":0,"z":0},"rotation":{"w":1,"x":0,"y":0,"z":0},"scale":{"x":1,"y":1,"z":1}}}'
attention
mount et preset sont mutuellement exclusifs

N'envoyez pas les deux dans le même message : le service le rejette car il le considère comme ambigu.


damping​

Permet de contrôler l'amortissement uniforme et directionnel. Au moins un champ doit être rempli.

{ "inverse3": [{ "device_id": "049D", "configure": { "damping": { "scalar": 0.5 } } }] }

Directionnel :

{ "inverse3": [{ "device_id": "049D", "configure": { "damping": { "vector": { "x": 0.0, "y": 1.0, "z": 0.0 } } } }] }
curl -X POST "http://localhost:10001/inverse3/049D/config/filters/damping?session=:0" \
-d '{"scalar": 0.5}'

force_gate​

Dispositif anti-oscillation — atténue la force de sortie lorsqu'une oscillation est détectée.

ValeurEffet
gain = 0.0Désactivé — la force est transmise sans atténuation
gain = 1.0Atténuation maximale au cours d'une oscillation
{ "inverse3": [{ "device_id": "049D", "configure": { "force_gate": { "gain": 0.5 } } }] }
curl -X POST "http://localhost:10001/inverse3/049D/config/filters/force_gate?session=:0" \
-d '{"gain": 0.5}'

Configuration de l'appareil spécifique à HTTP​

Les paramètres suivants sont globaux pour l'appareil (et ne sont pas spécifiques à une session) et ne peuvent être définis que via HTTP :

Point d'arrivéeCorpsDescription
POST /{type}/{id}/config/handedness"left" ou "right"Lateralité Inverse3
POST /{type}/{id}/config/torque_scaling{ "enabled": bool }Activer/désactiver la mise à l'échelle du couple
POST /{type}/{id}/config/gravity_compensation{ "enabled": bool, "scaling_factor": float }Compensation de la gravité
POST /{type}/{id}/config/home_return{ "enabled": bool }Retour au point de départ (micrologiciel pas encore actif)

Tous ces points de terminaison prennent en charge GET (lecture de la valeur actuelle), POST (définition) et DELETE (rétablissement des paramètres par défaut).