Aller directement au corps du texte

Commandes de contrôle

Voici les informations relatives à chaque appareil : commands Il s'agit d'une commande non permanente transmise à la carte à chaque tick. La commande est Juste une fois Elle est appliquée, puis oubliée. Si l'envoi de commandes est interrompu, l'appareil revient à l'état de veille.

Sauf indication contraire, toutes les commandes de contrôle sont réservées à WebSocket(il n'existe aucune commande correspondante en HTTP).

set_cursor_force​

On applique une force dans le système de coordonnées cartésiennes au curseur (effecteur terminal).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_force": {
"vector": { "x": 0.0, "y": 0.0, "z": 1.5 }
}
}
}]
}
ChampTypeDescription
vectorvec3Force exprimée en newtons par rapport à l'espace de l'application

Les forces sont **additives** au sein d'un même pas. Les forces provenant de différentes sources (applications, SDF HFX, navigation) sont additionnées avant d'être transmises à l'appareil.


set_cursor_position​

Ordonne au curseur de se déplacer vers la position souhaitée (contrôle en mode position).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_position": {
"position": { "x": 0.0, "y": -0.12, "z": 0.15 }
}
}
}]
}
ChampTypeDescription
positionvec3Position cible exprimée en mètres, selon l'espace de l'application

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


set_angular_torques​

On applique un couple aux trois articulations (commande en mode force angulaire).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_torques": {
"torques": { "a0": 0.0, "a1": 0.0, "a2": 0.0 }
}
}
}]
}
ChampTypeDescription
torquesangles3Couple articulaire

set_angular_position​

Ordonne à l'articulation de se déplacer jusqu'à l'angle cible (commande en mode position angulaire).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_position": {
"angles": { "a0": 30.0, "a1": 45.0, "a2": 60.0 }
}
}
}]
}
ChampTypeDescription
anglesangles3Angle articulaire cible exprimé en degrés

set_transform​

Configure la conversion de l'espace de travail (espace de l'appareil → espace de l'application). Contrairement à d'autres commandes, set_transformIl est **persistant**. Le service mémorise la dernière valeur transmise. Vous pouvez diffuser en continu pendant que la caméra est en mouvement, ou vous pouvez vous contenter de l'envoyer une seule fois.

{
"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

En ce qui concerne les dispositifs de préhension rotationC'est la seule solution efficace. positionet scaleCela est autorisé pour garantir la cohérence du schéma avec Inverse3, mais n'a aucune incidence sur la prise.

Pour la dérive automatique, utilisez le module Navigation.

Si vous devez vous déplacer régulièrement, set_transformau lieu de le diffuser manuellement Module de navigationUtilisez-le. Il se charge automatiquement du calcul physique, du retour haptique et du traitement des limites de l'espace de travail.


probe_position / probe_orientation​

Il s'agit d'un keepalive dédié à la surveillance, destiné aux sessions qui n'envoient pas de commandes de contrôle (par exemple, lorsque l'on surveille un appareil via Haply Hub).

{
"inverse3": [{ "device_id": "049D", "commands": { "probe_position": {} } }]
}
{
"verse_grip": [{ "device_id": "DEF456", "commands": { "probe_orientation": {} } }]
}
Dans la plupart des cas, aucune sonde n'est nécessaire.

Si la session a déjà reçu une commande de contrôle (set_cursor_force, set_cursor_position etc.), l'état de l'appareil est automatiquement mis à jour à chaque réponse. Les sondes ne sont utiles que dans le cadre de sessions de surveillance en lecture seule.