本文へスキップ
バージョン: 3.5.x

制御コマンド

これらは、各デバイスの 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アプリケーション空間における目標位置(メートル単位)

このサービスは、カーソルをターゲットに向かって移動させるために必要な力を計算します。 safe-trajectory が有効になっている場合、カーソルの速度は制限されます。


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 とのスキーマの一貫性を保つために受け入れられますが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など)の場合、デバイスの状態は応答があるたびに自動的に更新されます。プローブは、読み取り専用の監視セッションでのみ有効です。