주요 콘텐츠로 건너뛰기
버전: 3.5.x

제어 명령

이는 각 장치의 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 }
}
}
}]
}
필드유형설명
vectorvec3응용 공간에서의 힘(뉴턴 단위)

한 틱 내에서는 힘들이 합산됩니다. 즉, 여러 소스(사용자 앱, SDF HFX, 내비게이션)에서 발생한 힘이 합쳐진 후 기기로 전송됩니다.


set_cursor_position

커서를 목표 위치로 이동시킵니다(위치 모드 제어).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_position": {
"position": { "x": 0.0, "y": -0.12, "z": 0.15 }
}
}
}]
}
필드유형설명
positionvec3응용 공간 내 목표 위치(미터 단위)

이 서비스는 커서를 목표 지점으로 이동시키는 데 필요한 힘을 계산합니다. safe-trajectory가 활성화된 경우, 커서 속도는 제한됩니다.


set_angular_torques

세 개의 관절에 토크를 가한다(각속도 제어 모드).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_torques": {
"torques": { "a0": 0.0, "a1": 0.0, "a2": 0.0 }
}
}
}]
}
필드유형설명
torquesangles3관절 토크

set_angular_position

관절이 목표 각도에 도달하도록 제어합니다(각도 위치 제어 모드).

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_angular_position": {
"angles": { "a0": 30.0, "a1": 45.0, "a2": 60.0 }
}
}
}]
}
필드유형설명
anglesangles3목표 관절 각도 (도)

set_transform

작업 공간 변환을 설정합니다(디바이스 공간 → 애플리케이션 공간). 다른 명령들과는 달리, set_transform지속적인 — 이 서비스는 사용자가 마지막으로 보낸 값을 기억합니다. 카메라가 움직일 때 실시간으로 전송하거나, 한 번만 보내고 그대로 두어도 됩니다.

{
"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 그립 / 무선 Verse 그립

그립 장치의 경우, 오직 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(등)의 경우, 응답이 돌아올 때마다 장치 상태가 자동으로 갱신됩니다. 프로브는 읽기 전용 모니터링 세션에서만 유용합니다.