제어 명령어
이는 틱당 전송되는 비지속적 명령으로, 다음 조건 하에서 commands-각 기기의 맵이 전달됩니다. 이들은 einmal 한 번 사용한 뒤 잊어버립니다. 더 이상 신호를 보내지 않으면 기기는 대기 모드로 돌아갑니다.
별도로 명시되지 않는 한, 모든 제어 명령은 WebSocket에서만 사용할 수 있으며(HTTP에는 해당 명령이 없음),
set_cursor_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 의 스키마와 일관성을 유지하기 위해 허용되지만, 그립에는 아무런 영향을 미치지 않습니다.
지속적인 이동이 필요한 경우, 대신 다음을 사용하십시오. 내비게이션 모듈,
statt 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 등)의 경우, 응답이 있을 때마다 장치 상태가 자동으로 업데이트됩니다. 프로브는 순수한 모니터링 세션(읽기 전용)에서만 유용합니다.