본문으로 건너뛰기

제어 명령어

이것들은 틱 단위의 비영구적 명령으로, 각 장치의 commands 지도 내에서 전송됩니다.단 한 번만 적용된 후 폐기됩니다. 전송이 중지되면 기기는 대기 상태로 돌아갑니다.

별도로 명시되지 않는 한, 모든 제어 명령은 WebSocket 전용입니다 (HTTP에 해당하는 명령은 없습니다).

set_cursor_force​

커서(엔드 이펙터)에 데카르트 좌표계의 힘을 가합니다.

{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_cursor_force": {
"vector": { "x": 0.0, "y": 0.0, "z": 1.5 }
}
}
}]
}
필드형설명
vectorvec3응용 공간 내의 힘 (단위: 뉴턴)

1틱 내에서는 힘이 합산됩니다. 여러 소스(사용 중인 앱, SDF HFX, 내비게이션 등)에서 발생하는 힘은 기기로 전송되기 전에 합산됩니다.


set_cursor_position​

커서를 목표 위치로 이동시키도록 명령합니다(위치 모드 제어).

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

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


set_angular_torques​

3개의 관절에 토크를 가합니다(각도 힘 모드 제어).

{
"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 와의 스키마 일관성을 위해 허용되지만, 그립에는 영향을 미치지 않습니다.

자동 드리프트에는 Navigation 모듈을 사용합니다.

지속적인 이동이 필요한 경우에는,set_transform 수동으로 스트리밍하는 대신 네비게이션 모듈 이 기능을 사용해 주세요. 물리 시뮬레이션, 햅틱 피드백, 작업 공간의 경계 제한을 자동으로 처리합니다.


probe_position / probe_orientation​

제어 명령을 전송하지 않는 세션(예:Haply Hub에서 장치를 모니터링하는 경우)을 위한, 모니터링 전용 키프얼라이브입니다.

{
"inverse3": [{ "device_id": "049D", "commands": { "probe_position": {} } }]
}
{
"verse_grip": [{ "device_id": "DEF456", "commands": { "probe_orientation": {} } }]
}
이것들은 보통 필요하지 않습니다

세션이 이미 제어 명령(set_cursor_force、set_cursor_position (등)을 전송하는 경우, 장치의 상태는 각 응답과 함께 자동으로 업데이트됩니다. 프로브는 읽기 전용 모니터링 세션에서만 유용합니다.