Steuerbefehle
Es handelt sich hierbei um nicht persistente Befehle pro Tick, die für jedes Gerät commands Die Übermittlung erfolgt innerhalb der Karte.Nur einmal Sie wird angewendet und anschließend verworfen. Wenn die Übertragung beendet wird, kehrt das Gerät in den Ruhezustand zurück.
Alle Steuerbefehle sind, sofern nicht anders angegeben, ausschließlich für WebSocket bestimmt (es gibt keine entsprechenden Befehle für HTTP).
set_cursor_force
Auf den Cursor (Endeffektor) wird eine Kraft im kartesischen Koordinatensystem ausgeübt.
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_force": {
"vector": { "x": 0.0, "y": 0.0, "z": 1.5 }
}
}
}]
}
| Feld | Typ | Erläuterung |
|---|---|---|
vector | vec3 | Kraft im Anwendungsraum (Einheit: Newton) |
Innerhalb eines Ticks werden die Kräfte addiert. Die Kräfte aus mehreren Quellen (Ihre App, SDF HFX, Navigation usw.) werden summiert, bevor sie an das Gerät gesendet werden.
set_cursor_position
Es wird der Befehl erteilt, den Cursor an die Zielposition zu bewegen (Positionssteuerung).
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_position": {
"position": { "x": 0.0, "y": -0.12, "z": 0.15 }
}
}
}]
}
| Feld | Typ | Erläuterung |
|---|---|---|
position | vec3 | Zielposition im Anwendungsraum (Einheit: Meter) |
Der Dienst berechnet die Kraft, die erforderlich ist, um den Cursor auf das Ziel zu bewegen. Wenn die sichere Flugbahn aktiviert ist, wird die Geschwindigkeit des Cursors begrenzt.
set_angular_torques
Es wird ein Drehmoment auf drei Gelenke ausgeübt (Winkelkraft-Modus-Steuerung).
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_torques": {
"torques": { "a0": 0.0, "a1": 0.0, "a2": 0.0 }
}
}
}]
}
| Feld | Typ | Erläuterung |
|---|---|---|
torques | Winkel3 | Gelenkdrehmoment |
set_angular_position
Es wird der Befehl erteilt, das Gelenk in den Zielwinkel zu bewegen (Winkel-Positions-Modus-Steuerung).
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_position": {
"angles": { "a0": 30.0, "a1": 45.0, "a2": 60.0 }
}
}
}]
}
| Feld | Typ | Erläuterung |
|---|---|---|
angles | Winkel3 | Zielgelenkwinkel (Einheit: Grad) |
set_transform
Die Arbeitsraumkonvertierung (Geräteräum → Anwendungsraum) wird konfiguriert. Im Gegensatz zu anderen Befehlen,set_transform は dauerhaft . Der Dienst speichert den zuletzt gesendeten Wert. Sie können während des Kamerabetriebs Daten streamen oder die Daten einmalig senden und es dann dabei belassen.
- 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:rotation Es wirkt nur.position und scale wird zwar aus Gründen der Schemakonsistenz mit „ Inverse3 “ akzeptiert, hat jedoch keine Auswirkungen auf den Griff.
Falls Sie sich ständig fortbewegen müssen,set_transform anstatt manuell zu streamen Navigationsmodul Bitte verwenden Sie diese Funktion. Sie übernimmt automatisch die Verarbeitung von Physiksimulationen, haptischem Feedback und den Begrenzungen des Arbeitsbereichs.
probe_position / probe_orientation
Dies ist ein reiner Überwachungs-Keepalive für Sitzungen, bei denen keine Steuerbefehle gesendet werden (z. B. wenn ein Gerät über den „Haply -Hub“ überwacht wird).
{
"inverse3": [{ "device_id": "049D", "commands": { "probe_position": {} } }]
}
{
"verse_grip": [{ "device_id": "DEF456", "commands": { "probe_orientation": {} } }]
}
Die Sitzung hat bereits einen Steuerbefehl (set_cursor_force、set_cursor_position (usw.) gesendet werden, wird der Status des Geräts automatisch mit jeder Antwort aktualisiert. Die Abfrage ist nur in schreibgeschützten Überwachungssitzungen sinnvoll.