Passer directement au contenu principal

Commandes de contrôle

Il s'agit de commandes non persistantes, exécutées à chaque tick, pour chaque périphérique commands Il sera envoyé depuis la carte.Une seule fois Elle est appliquée, puis supprimée. Lorsque l'envoi est interrompu, l'appareil revient à l'état de veille.

Toutes les commandes de contrôle sont réservées à WebSocket, sauf indication contraire (il n'existe pas d'équivalent 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 }
}
}
}]
}
ChampTypeExplication
vectorvec3Force dans l'espace de l'application (unité : newton)

Au cours d'un tick, les forces sont additionnées. Les forces provenant de plusieurs sources (votre application, SDF HFX, la navigation, etc.) sont additionnées avant d'être transmises à l'appareil.


set_cursor_position​

Donne l'ordre de déplacer le curseur vers la position cible (commande en mode position).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_position": {
"position": { "x": 0.0, "y": -0.12, "z": 0.15 }
}
}
}]
}
ChampTypeExplication
positionvec3Position cible dans l'espace de l'application (unité : mètre)

Le service calcule la force nécessaire pour déplacer le curseur vers la cible. Lorsque la trajectoire de sécurité est activée, la vitesse du curseur est limitée.


set_angular_torques​

On applique un couple à 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 }
}
}
}]
}
ChampTypeExplication
torquesangles3Couple articulaire

set_angular_position​

On donne l'instruction de déplacer l'articulation jusqu'à l'angle cible (commande en mode angle-position).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_position": {
"angles": { "a0": 30.0, "a1": 45.0, "a2": 60.0 }
}
}
}]
}
ChampTypeExplication
anglesangles3Angle articulaire cible (unité : degrés)

set_transform​

Configurez la conversion de l'espace de travail (espace de l'appareil → espace de l'application). Contrairement aux autres commandes,set_transform は Permanent . Le service mémorise la dernière valeur envoyée. Vous pouvez diffuser en continu pendant que la caméra fonctionne, ou envoyer la valeur une seule fois puis ne plus intervenir.

{
"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 }
}
}
}
}]
}
Verse Grip / Verse Grip sans fil

En ce qui concerne les dispositifs de préhension,rotation C'est la seule chose qui fonctionne.position et scale Il est accepté pour des raisons de cohérence avec le schéma de Inverse3 , mais n'a aucune incidence sur la prise en main.

Pour la dérive automatique, utilisez le module Navigation

Si vous devez vous déplacer régulièrement,set_transform Au lieu de diffuser manuellement Module de navigation Veuillez l'utiliser. Il gère automatiquement la simulation physique, le retour haptique et les limites de l'espace de travail.


probe_position / probe_orientation​

Il s'agit d'un « keep-alive » dédié à la surveillance, destiné aux sessions qui n'envoient pas de commandes de contrôle (par exemple, lorsque les périphériques sont surveillés via le Hub «Haply »).

{
"inverse3": [{ "device_id": "049D", "commands": { "probe_position": {} } }]
}
{
"verse_grip": [{ "device_id": "DEF456", "commands": { "probe_orientation": {} } }]
}
Ces éléments ne sont généralement pas nécessaires

Si la session a déjà reçu une commande de contrôle (set_cursor_force,set_cursor_position (etc.) : dans ce cas, 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.