Skip to main content
Version : 3.5.x

Transformations du montage et de l'espace de travail

Deux transformations permettent de positionner l'appareil dans l'espace d'application. Comprendre le processus vous aide à choisir la bonne.

Coordonner le pipeline

ScèneFonctionnalitésComment le configurerPersévérant ?
BasePermet de remapper les axes (par exemple, Z vers le haut → Y vers le haut)session.configure.basisOui
Transformation de montageDécalage physique de montage de l'appareil (position du bras, rotation, échelle)configure.mount ou configure.presetOui
Transformation de l'espace de travailDécalage de la caméra / de la navigation dans la scènecommands.set_transform ou le Module de navigationOui (en haut de la page)

Transformation de montage

La configuration de montage décrit l'emplacement physique de l'appareil: le déport du bras, son orientation et son échelle. Elle est définie une seule fois (ou lorsque l'utilisateur modifie la configuration physique) et est rarement mise à jour pendant l'exécution.

Préréglages (configurations d'usine)

Au lieu de calculer vous-même le montage, choisissez un préréglage :

PréréglageEmplacement d'origineFace au bras
defaultsSocle pour appareilVers l'avant (bras vers l'avant)
arm_frontSocle pour appareilSuivant
arm_front_centeredCentre d'espaces de travailSuivant
led_frontSocle pour appareilLED latérale avant
led_front_centeredCentre d'espaces de travailLED latérale avant
customManuel — à monter soi-même

Un préréglage permet de définir d'un seul coup la monture, la base et l'origine de l'espace de travail.

Configurer directement le montage

{
"inverse3": [{
"device_id": "049D",
"configure": {
"mount": {
"transform": {
"position": { "x": 0.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 }
}
}
}
}]
}
mount et preset s'excluent mutuellement

Les envoyer tous les deux dans le même message prête à confusion — le service le rejette. Choisissez-en un : un preset (qui configure le montage pour vous) ou un mount transformer.

Asymétrie entre les commandes et les instantanés

Quand envoi une monture, enveloppez la transformation : { "mount": { "transform": { … } } }. Quand lecture un montage à partir du cliché, c'est plat : { "mount": { "position": …, "rotation": …, "scale": … } }. C'est voulu : les commandes utilisent le système unifié command_data wrapper ; instantanés sérialiser le core::transform directement.

Transformation de l'espace de travail

La transformation de l'espace de travail est une déviation appliquée à l'exécution par-dessus le montage. Elle est généralement utilisée pour la navigation dans une scène : pour effectuer un panoramique, une rotation ou un zoom sur la vue de l'application tandis que l'appareil reste physiquement immobile.

Les transformations de montage et d'espace de travail sont toutes deux persistantes: le service mémorise la dernière valeur que vous avez envoyée. La différence réside dans leur objectif et leurs performances :

  • Mount est conçu pour être configuré une seule fois et rester inchangé : il décrit la configuration physique et est optimisé pour les mises à jour peu fréquentes.
  • La transformation de l'espace de travail est conçue pour être transmise en continu à une fréquence élevée (par exemple, à chaque image lors de la navigation de la caméra) — le pipeline interne est optimisé pour cette fréquence de mise à jour.
{
"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 }
}
}
}
}]
}
Utilisez le module de navigation pour la dérive automatisée

Si vous avez besoin d'un déplacement continu (navigation par bulles, dérive à vitesse contrôlée), utilisez le Module de navigation au lieu de diffuser manuellement set_transform à chaque instant — il gère pour vous la physique, le retour haptique et les limites de l'espace de travail.