주요 내용으로 이동

제어 명령

이 명령들은 틱(tick) 단위로 실행되며 비영구적인 명령으로, 각 장치의 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힘, 단위는 뉴턴이며, 적용 공간 내에 위치한다

동일한 틱 내에서 힘은합산됩니다. 즉, 여러 출처(사용자의 앱, 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 Grip / 무선 Verse Grip

그립 장치(Verse Grip / 무선 Verse Grip)의 경우, 오직 rotation 유효합니다.position 와 scale 이는 Inverse3 와 아키텍처 일관성을 유지하기 위해 채택된 것이지만, 그립 장치에는 아무런 영향도 미치지 않습니다.

내비게이션 모듈을 사용하여 자동 드리프트 구현하기

계속 이동해야 하는 경우 다음을 사용하십시오.내비게이션 모듈,수동으로 스트리밍 전송하는 것이 아니라 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 (등), 장비 상태는 응답할 때마다 자동으로 갱신됩니다. 탐지 명령은 읽기 전용 모니터링 세션에서만 유용합니다.