メインコンテンツへスキップ

制御コマンド

これらは、各デバイスの commands マッピングして送信します。これらは1回使用する,その後すぐに破棄されます――送信を停止すると、デバイスはアイドル状態に戻ります。

特に断りがない限り、すべての制御コマンドは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​

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 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 など)、デバイスの状態は応答のたびに自動的に更新されます。検出コマンドは、読み取り専用の監視セッションでのみ有効です。