제어 명령
이는 각 장치의 commands
지도. 이들은 적용됩니다 한 번 그리고 잊혀집니다 — 전송을 중단하면
기기가 대기 상태로 돌아갑니다.
별도로 명시되지 않는 한, 모든 제어 명령은 WebSocket 전용 이며(HTTP 대응 명령 없음)
set_cursor_force
커서(엔드 이펙터)에 직교 좌표계 힘(Cartesian force)을 가한다.
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_force": {
"vector": { "x": 0.0, "y": 0.0, "z": 1.5 }
}
}
}]
}
| 필드 | 유형 | 설명 |
|---|---|---|
vector | vec3 | 응용 공간에서의 힘(뉴턴 단위) |
한 틱 내에서는 힘들이 합산됩니다. 즉, 여러 소스(사용자 앱, SDF HFX, 내비게이션)에서 발생한 힘이 합쳐진 후 기기로 전송됩니다.
set_cursor_position
커서를 목표 위치로 이동시킵니다(위치 모드 제어).
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_position": {
"position": { "x": 0.0, "y": -0.12, "z": 0.15 }
}
}
}]
}
| 필드 | 유형 | 설명 |
|---|---|---|
position | vec3 | 응용 공간 내 목표 위치(미터 단위) |
이 서비스는 커서를 목표 지점으로 이동시키는 데 필요한 힘을 계산합니다. safe-trajectory가 활성화된 경우, 커서 속도는 제한됩니다.
set_angular_torques
세 개의 관절에 토크를 가한다(각속도 제어 모드).
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_torques": {
"torques": { "a0": 0.0, "a1": 0.0, "a2": 0.0 }
}
}
}]
}
| 필드 | 유형 | 설명 |
|---|---|---|
torques | angles3 | 관절 토크 |
set_angular_position
관절이 목표 각도에 도달하도록 제어합니다(각도 위치 제어 모드).
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_position": {
"angles": { "a0": 30.0, "a1": 45.0, "a2": 60.0 }
}
}
}]
}
| 필드 | 유형 | 설명 |
|---|---|---|
angles | angles3 | 목표 관절 각도 (도) |
set_transform
작업 공간 변환을 설정합니다(디바이스 공간 → 애플리케이션 공간). 다른
명령들과는 달리, set_transform 는 지속적인 — 이 서비스는 사용자가 마지막으로
보낸 값을 기억합니다. 카메라가 움직일 때 실시간으로 전송하거나, 한 번만 보내고 그대로 두어도 됩니다.
- 웹소켓
- 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}}}'
그립 장치의 경우, 오직 rotation 효과가 있다. position 그리고 scale Inverse3 스키마 일관성을 위해 Inverse3 그립에는 아무런 영향을 미치지 않습니다.
지속적인 이동이 필요하다면, 다음을 사용하세요. 탐색 모듈
수동으로 스트리밍하는 대신 set_transform — 물리 엔진, 햅틱
피드백, 작업 공간 경계 설정을 자동으로 처리해 줍니다.
probe_position / probe_orientation
제어 명령을 전송하지 않는세션에 대한 모니터링 전용 키프얼라이브 (예: Haply 관측 장치).
{
"inverse3": [{ "device_id": "049D", "commands": { "probe_position": {} } }]
}
{
"verse_grip": [{ "device_id": "DEF456", "commands": { "probe_orientation": {} } }]
}
세션에서 이미 제어 명령을 전송하고 있는 경우 (set_cursor_force,
set_cursor_position(등)의 경우, 응답이 돌아올 때마다 장치 상태가 자동으로 갱신됩니다.
프로브는 읽기 전용 모니터링 세션에서만 유용합니다.