Zum Hauptinhalt springen
Version: 3.5.x

Steuerbefehle

Dies sind pro Tick ausgeführte, nicht persistente Befehle, die unter jedem Gerät gesendet werden commands Karte. Sie werden angewendet einmal und vergessen – wenn man keine Signale mehr sendet, kehrt das Gerät in den Ruhezustand zurück.

Sofern nicht anders angegeben, erfolgen alle Steuerbefehle ausschließlich über WebSocket (kein HTTP-Äquivalent).

set_cursor_force

Wende 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 werden innerhalb eines Ticks addiert – mehrere Quellen (Ihre App, SDF HFX, Navigation) werden summiert, bevor sie an das Gerät gesendet werden.


set_cursor_position

Bewegen Sie den Cursor an eine Zielposition (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 Anwendungsbereich

Der Dienst berechnet die Kraft, die erforderlich ist, um den Cursor in Richtung des Ziels zu bewegen. Wenn „safe-trajectory“ aktiviert ist, wird die Cursorgeschwindigkeit begrenzt.


set_angular_torques

Wenden Sie Drehmomente auf die drei Gelenke an (Winkelkraftregelung).

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

set_angular_position

Steuern Sie die Gelenke auf bestimmte Winkel ein (Winkelpositionsregelung).

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

set_transform

Lege die Arbeitsbereichstransformation fest (Gerätebereich → Anwendungsbereich). Im Gegensatz zu den anderen Befehlen, set_transform ist anhaltend — Der Dienst speichert den zuletzt gesendeten Wert. Übertragen Sie ihn während der Kamerabewegung oder senden Sie ihn einmalig und belassen Sie es dabei.

{
"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-Griff / kabelloser Verse-Griff

Bei Greifvorrichtungen gilt nur rotation hat eine Wirkung. position und scale werden aus Gründen der Schemakonsistenz mit Inverse3 akzeptiert, haben Inverse3 keine Auswirkungen auf den Griff.

Verwenden Sie das Navigationsmodul für die automatische Drift

Wenn Sie sich kontinuierlich fortbewegen müssen, verwenden Sie die Navigationsmodul anstatt manuell zu streamen set_transform — Es übernimmt für Sie die Physik, das haptische Feedback und die Begrenzung des Arbeitsbereichs.


probe_position / probe_orientation

Keepalives nur zur Überwachung für Sitzungen, die keine Steuerbefehle senden (z. B. Haply -Überwachungsgeräte).

{
"inverse3": [{ "device_id": "049D", "commands": { "probe_position": {} } }]
}
{
"verse_grip": [{ "device_id": "DEF456", "commands": { "probe_orientation": {} } }]
}
Die brauchst du wahrscheinlich nicht

Falls Ihre Sitzung bereits einen Steuerbefehl sendet (set_cursor_force, set_cursor_position, usw.), wird der Gerätestatus bei jeder Antwort automatisch aktualisiert. Probes sind nur für schreibgeschützte Überwachungssitzungen sinnvoll.