デバイスの構成
デバイスの構成は、各デバイスの configure マップ(WebSocket)に格納して送信するか、 /{device_type}/{id}/config/{key} HTTPルートを通じて送信されます。すべての項目は**永続的(persistent)**です。一度設定すると、変更されるまで維持されます。
構成の可用性マトリックス
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
| キー | WS configure | HTTP config/ | セッションの範囲 | 備考 |
|---|---|---|---|---|
preset | ✓ | ✓ | ✓ | mountと互いに排他的 |
basis | ✓ | ✓ | ✓ | セッション単位およびデバイス別 |
mount | ✓ | ✓ | ✓ | presetおよび互いに排他的 |
damping | ✓ | ✓ | ✓ | スカラーおよび/またはベクトル |
force_gate | ✓ | ✓ | ✓ | 振動ガード |
handedness | — | ✓ | — | デバイス全体(右/左) |
torque_scaling | — | ✓ | — | デバイス全体 |
gravity_compensation | — | ✓ | — | デバイス全体 |
home_return | — | ✓ | — | ファームウェアではまだ有効になっていません |
navigation | ✓ | ✓ | ✓ | モジュール → 別ページを参照 |
preset
マウント、ベース、ワークスペースの原点を一括で設定する、名前付き工場設定を選択します。完全なリストについては、「マウントおよびワークスペース(プリセット)」を参照してください。
{ "inverse3": [{ "device_id": "049D", "configure": { "preset": { "preset": "arm_front_centered" } } }] }
curl -X POST "http://localhost:10001/inverse3/049D/config/preset?session=:0" \
-d '{"preset":"arm_front_centered"}'
basis
座標軸の再マッピングを設定します。ルールおよび移行に関する注意事項については、「Basis 順列」を参照してください。
{ "session": { "configure": { "basis": { "permutation": "XZY" } } } }
デバイスごとのbasisもサポートされています:
{ "inverse3": [{ "device_id": "049D", "configure": { "basis": { "permutation": "XZY" } } }] }
curl -X POST "http://localhost:10001/inverse3/049D/config/basis?session=:0" \
-d '{"permutation":"XZY"}'
mount
物理マウント変換を再定義します。座標パイプラインについては、「マウント」および「ワークスペース」を参照してください。
{
"inverse3": [{
"device_id": "049D",
"configure": {
"mount": {
"transform": {
"position": { "x": 0.0, "y": 0.0, "z": 0.0 },
"rotation": { "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
}
}
}]
}
curl -X POST "http://localhost:10001/inverse3/049D/config/mount?session=:0" \
-H "Content-Type: application/json" \
-d '{"transform":{"position":{"x":0,"y":0,"z":0},"rotation":{"w":1,"x":0,"y":0,"z":0},"scale":{"x":1,"y":1,"z":1}}}'
警告
mountわあ presetは互いに排他的です同じメッセージ内で両方を送信しないでください。サービス側がこれを曖昧なリクエストと判断し、拒否します。
damping
均一なダンピングと方向性のあるダンピングの両方を制御します。少なくとも1つのフィールドが必要です。
{ "inverse3": [{ "device_id": "049D", "configure": { "damping": { "scalar": 0.5 } } }] }
方向性:
{ "inverse3": [{ "device_id": "049D", "configure": { "damping": { "vector": { "x": 0.0, "y": 1.0, "z": 0.0 } } } }] }
curl -X POST "http://localhost:10001/inverse3/049D/config/filters/damping?session=:0" \
-d '{"scalar": 0.5}'
force_gate
振動ガード — 振動が検知されると、出力を低減します。
| 値 | 効果 |
|---|---|
gain = 0.0 | 無効化 — 力が元の大きさのまま伝わる |
gain = 1.0 | 振動中の最大減衰 |
{ "inverse3": [{ "device_id": "049D", "configure": { "force_gate": { "gain": 0.5 } } }] }
curl -X POST "http://localhost:10001/inverse3/049D/config/filters/force_gate?session=:0" \
-d '{"gain": 0.5}'
HTTP専用デバイスの設定
以下の設定はデバイス全体に適用される(セッションスコープではない)ものであり、HTTP 経由でのみ設定可能です:
| エンドポイント | 本文 | 説明 |
|---|---|---|
POST /{type}/{id}/config/handedness | "left" または "right" | Inverse3 利き手(handedness) |
POST /{type}/{id}/config/torque_scaling | { "enabled": bool } | トルクスケーリングの有効化/無効化 |
POST /{type}/{id}/config/gravity_compensation | { "enabled": bool, "scaling_factor": float } | 重力補償 |
POST /{type}/{id}/config/home_return | { "enabled": bool } | ホーム画面に戻る(ファームウェアではまだ有効化されていません) |
すべてのエンドポイントは GET(現在の値の照会)、 POST(設定)、 DELETE(「デフォルト値にリセット」)に対応しています。