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 }
}
}
}]
}
| Feld | Typ | Beschreibung |
|---|---|---|
vector | vec3 | Kraft 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 }
}
}
}]
}
| Feld | Typ | Beschreibung |
|---|---|---|
position | vec3 | Zielposition 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 }
}
}
}]
}
| Feld | Typ | Beschreibung |
|---|---|---|
torques | Winkel3 | Gelenkmomente |
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 }
}
}
}]
}
| Feld | Typ | Beschreibung |
|---|---|---|
angles | Winkel3 | Zielwerte 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.
- WebSocket
- HTTP
{
"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 }
}
}
}
}]
}
curl -X POST "http://localhost:10001/inverse3/049D/state/transform?session=:0" \
-H "Content-Type: application/json" \
-d '{"transform":{"position":{"x":1,"y":0,"z":0},"rotation":{"w":1,"x":0,"y":0,"z":0},"scale":{"x":1,"y":1,"z":1}}}'
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.
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": {} } }]
}
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.