Zum Hauptinhalt springen

Steuerbefehle

Dies sind pro Tick gesendete, nicht persistente Befehle, die unter der commands-Die Zuordnung jedes Geräts muss übergeben werden. Sie werden einmal angewendet und anschließend vergessen. Wenn Sie keine weiteren Befehle 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 angegeben.

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 Anwendungsbereich

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


set_cursor_position​

Weist den Cursor an, eine Zielposition anzusteuern (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 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-Kraft-Modus).

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

set_angular_position​

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

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

set_transform​

Führen Sie die Workspace-Transformation durch (Geräteraum → Anwendungsraum). Im Gegensatz zu den übrigen Befehlen ist set_transform anhaltend: Der Dienst speichert den zuletzt gesendeten Wert. Streamen Sie ihn während Kamerabewegungen oder senden Sie ihn einmal und belassen Sie ihn dann 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 / kabelloser Verse Grip

Bei Grip-Geräten wirkt nur rotation. position und scale werden aus Gründen der Konsistenz mit dem Schema von Inverse3 akzeptiert, haben jedoch keinen Einfluss auf den Grip.

Verwenden Sie das Navigationsmodul für die automatische Drift

Wenn Sie sich kontinuierlich fortbewegen müssen, 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 Arbeitsraums.


probe_position / probe_orientation​

Keepalives, die ausschließlich zur Überwachung von Sitzungen gedacht sind, 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": {} } }]
}
Diese werden Sie wahrscheinlich nicht benötigen

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) sinnvoll.