Zum Hauptinhalt springen

Steuerbefehle

Dies sind pro Tick gesendete, nicht persistente Befehle, die unter der commands-Map jedes Geräts übergeben werden. Sie werden einmal angewendet und danach vergessen. Wenn Sie sie nicht weiter senden, kehrt das Gerät in den Leerlauf zurück.

Alle Steuerbefehle sind nur für WebSocket verfügbar (ohne Entsprechung in HTTP), sofern nicht anders vermerkt.

set_cursor_force​

Wendet eine kartesische Kraft auf den Cursor (Endeffektor) an.

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_force": {
"vector": { "x": 0.0, "y": 0.0, "z": 1.5 }
}
}
}]
}
FeldTypBeschreibung
vectorvec3Kraft in Newton im Anwendungsraum

Kräfte sind innerhalb eines Ticks additiv — mehrere Quellen (Ihre Anwendung, SDF HFX, Navigation) werden summiert, bevor sie an das Gerät gesendet werden.


set_cursor_position​

Befiehlt dem Cursor, eine Zielposition anzufahren (Steuerung im Positionsmodus).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_position": {
"position": { "x": 0.0, "y": -0.12, "z": 0.15 }
}
}
}]
}
FeldTypBeschreibung
positionvec3Zielposition in Metern im Anwendungsraum

Der Dienst berechnet die Kraft, die benötigt wird, um den Cursor zum Ziel zu bewegen. Ist safe-trajectory aktiviert, wird die Cursorgeschwindigkeit begrenzt.


set_angular_torques​

Wendet Drehmomente auf die drei Gelenke an (Steuerung im Winkel-Kraftmodus).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_torques": {
"torques": { "a0": 0.0, "a1": 0.0, "a2": 0.0 }
}
}
}]
}
FeldTypBeschreibung
torquesangles3Gelenkdrehmomente

set_angular_position​

Befiehlt den Gelenken, Zielwinkel anzufahren (Steuerung im Winkel-Positionsmodus).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_position": {
"angles": { "a0": 30.0, "a1": 45.0, "a2": 60.0 }
}
}
}]
}
FeldTypBeschreibung
anglesangles3Ziel-Gelenkwinkel in Grad

set_transform​

Setzen Sie die Workspace-Transformation (Geräteraum → Anwendungsraum). Im Gegensatz zu den übrigen Befehlen ist set_transform persistent: Der Dienst merkt sich den zuletzt gesendeten Wert. Streamen Sie ihn während Kamerabewegungen oder senden Sie ihn einmal und belassen ihn so.

{
"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 / wireless verse grip

Bei Grip-Geräten wirkt nur rotation. position und scale werden zur Konsistenz mit dem Schema von Inverse3 akzeptiert, haben aber keinen Effekt auf den Grip.

Für automatische Drift das Navigationsmodul verwenden

Wenn Sie kontinuierliche Fortbewegung benötigen, verwenden Sie stattdessen das Navigationsmodul, statt set_transform manuell zu streamen. Es übernimmt für Sie die Physik, das haptische Feedback und die Begrenzung des Workspaces.


probe_position / probe_orientation​

Nur zur Überwachung gedachte Keepalives für Sitzungen, die keine Steuerbefehle senden (z. B. Haply Hub bei der reinen Beobachtung von Geräten).

{
"inverse3": [{ "device_id": "049D", "commands": { "probe_position": {} } }]
}
{
"verse_grip": [{ "device_id": "DEF456", "commands": { "probe_orientation": {} } }]
}
Sie benötigen diese wahrscheinlich nicht

Wenn Ihre Sitzung bereits Steuerbefehle sendet (set_cursor_force, set_cursor_position usw.), wird der Gerätezustand mit jeder Antwort automatisch aktualisiert. Probes sind nur für reine Überwachungssitzungen (nur Lesezugriff) nützlich.