メインコンテンツへ移動

制御コマンド

これらは、辞書を通じて送信される、サイクルごとの一時的なコマンドです。 commands 各機器について。これらは適用されています たった一度だけ、その後、忘れ去られてしまいます――送信を停止すると、デバイスは待機状態に戻ります。

特に断りがない限り、すべての制御コマンドはWebSocket専用であり(HTTPでの対応機能はありません)、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 est 持続性 — このサービスは、最後に 送信された値を記憶します。カメラを移動させる間は、その値を継続的に送信するか、一度だけ送信してそのままにしておいてください。

{
"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 et scale Inverse3 との整合性を保つために これらは受け入れられますが、ハンドルには何の影響もありません。

「ナビゲーション」モジュールを使用して、自動移動を実現しましょう

連続的な移動が必要な場合は、 モジュールナビゲーション 「伝える」というよりは set_transform 手動で継続的に — 物理演算、ハプティックフィードバック、 および作業領域の境界設定を自動的に処理します。


probe_position / probe_orientation​

制御コマンドを送信しないセッションに対して、監視のみを目的とした接続維持(keepalive)メッセージ (例:Haply デバイスを監視しているHub)。

{
"inverse3": [{ "device_id": "049D", "commands": { "probe_position": {} } }]
}
{
"verse_grip": [{ "device_id": "DEF456", "commands": { "probe_orientation": {} } }]
}
おそらく必要ないでしょう

セッションがすでにすべての制御コマンドを送信している場合(set_cursor_force, set_cursor_position(など)、各応答ごとにデバイスの状態が自動的に更新されます。 プローブは、読み取り専用の監視セッションでのみ有用です。