Skip to main content
Version : 3.5.x

Commandes de contrôle

Il s'agit de commandes par tick, non persistantes, envoyées à chaque commands carte. Elles sont appliquées une fois et oubliés — si vous cessez de les envoyer, l' appareil revient en mode veille.

Sauf indication contraire, toutes les commandes de contrôle s'effectuent exclusivement via WebSocket (il n'existe pas d'équivalent HTTP).

set_cursor_force

Appliquez une force cartésienne au curseur (effecteur terminal).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_force": {
"vector": { "x": 0.0, "y": 0.0, "z": 1.5 }
}
}
}]
}
Champ d'applicationTypeDescription
vectorvec3Force en newtons, dans l'espace d'application

Les forces s'additionnent au cours d'un tick : les différentes sources (votre application, SDF HFX, la navigation) sont additionnées avant d'être transmises à l'appareil.


set_cursor_position

Placez le curseur à l'emplacement souhaité (commande en mode position).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_position": {
"position": { "x": 0.0, "y": -0.12, "z": 0.15 }
}
}
}]
}
Champ d'applicationTypeDescription
positionvec3Position cible en mètres, dans l'espace d'application

Le service calcule la force nécessaire pour déplacer le curseur vers la cible. Si l'option « safe-trajectory » est activée, la vitesse du curseur est limitée.


set_angular_torques

Appliquer des couples aux trois articulations (régulation en mode force angulaire).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_torques": {
"torques": { "a0": 0.0, "a1": 0.0, "a2": 0.0 }
}
}
}]
}
Champ d'applicationTypeDescription
torquesangles3Couples articulaires

set_angular_position

Régler les articulations sur des angles cibles (régulation en mode de position angulaire).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_position": {
"angles": { "a0": 30.0, "a1": 45.0, "a2": 60.0 }
}
}
}]
}
Champ d'applicationTypeDescription
anglesangles3Angles articulaires cibles en degrés

set_transform

Définissez la transformation de l'espace de travail (espace matériel → espace application). Contrairement aux autres commandes, set_transform est persistant — le service mémorise la dernière valeur que vous avez envoyée. Vous pouvez la transmettre en continu pendant le déplacement de la caméra, ou l'envoyer une seule fois et ne plus y toucher.

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_transform": {
"transform": {
"position": { "x": 1.0, "y": 0.0, "z": 0.0 },
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
}
}
}]
}
Poignée Verse / Poignée Verse sans fil

Pour les dispositifs de préhension, uniquement rotation a un effet. position et scale sont acceptées pour assurer la cohérence du schéma avec Inverse3 n'ont aucun effet sur la prise.

Utilisez le module de navigation pour la dérive automatisée

Si vous avez besoin d'un déplacement continu, utilisez le Module de navigation au lieu de diffuser manuellement set_transform — il gère pour vous la physique, le retour haptique et les limites de l'espace de travail.


probe_position / probe_orientation

Messages de maintien de connexion à des fins de surveillance uniquement pour les sessions qui n'envoient pas de commandes de contrôle (par exemple, les appareils de surveillance Haply ).

{
"inverse3": [{ "device_id": "049D", "commands": { "probe_position": {} } }]
}
{
"verse_grip": [{ "device_id": "DEF456", "commands": { "probe_orientation": {} } }]
}
Vous n'en avez probablement pas besoin

Si votre session envoie déjà une commande de contrôle (set_cursor_force, set_cursor_position, etc.), l'état de l'appareil est actualisé automatiquement à chaque réponse. Les sondes ne sont utiles que pour les sessions de surveillance en lecture seule.