開発にはInverse3
この記事は「クイックスタートガイド」を基にしており、Inverse3 をハプティック開発ツールとして活用するための入門ガイドとなっています。その目的のために、さまざまなハードウェア構成や制御方法、およびデバイスの動作を変更する重要な機能について解説します。
装置の利き手と座標系
Inverse3 には、さまざまなシナリオに合わせて最適化された2つのハードウェア構成が用意されています。

どのデバイスも、左利きの方でも右利きの方でも使用できます。ただし、右利きの方にとっては、状況によっては右利き用に設定されたデバイスの方が操作しやすい場合があります。
両手操作のシナリオで2台のデバイスを併用する場合、衝突や干渉を最小限に抑えるために、左利き用設定のデバイスは左側に、右利き用設定のデバイスは右側に配置する必要があります。

どちらの装置も、Inverse3 のアーム側にある銘板に示されている右利き座標系に従っています。座標系の原点は、装置の取り付けプレートの平らな面の中央付近にあります。
使用したい言語やプラグインに関するInverseSDKのドキュメントを確認してください。SDKで提供されている座標系は、すでにそのゲームエンジンの座標系に準拠している可能性があるためです。
制御Inverse3
Inverse3 の制御は、出力制御にとどまらず、各関節のトルクや角度を制御することも可能です。このセクションでは、さまざまな制御モードと、それぞれの関連する入出力およびその単位について説明します。
これら2つのモードのいずれかを使用すると、ユーザーやデバイスに固有のリスクが生じます。安全に関する情報は、Inverse3 – 「安全な使用方法」をご覧ください。
デカルト座標制御
力制御は、Inverse3 を使用する際の推奨される方法です。これは、力をニュートン(N)単位で入力し、位置をメートル(m)単位、速度をメートル毎秒(m/s)単位で出力するためです。位置制御モードでは、Inverse3 は指定された位置まで移動し、その位置を維持します。 2つのモード間の切り替えはシームレスに行われるため、これらを組み合わせて使用することで、より優れたユーザー体験を提供できます。例えば、シミュレーションの開始時にデバイスをインタラクティブなオブジェクトから遠ざけたり、トラッキング機能付きVerseGripを使用する場合、ツール切り替え時に位置制御モードでカーソルの位置を維持したりすることができます。

関節制御
これと同様に、Inverse3 の関節トルクおよび関節角度を直接制御することができます。トルク制御モードでは、本装置はニュートン・ミリメートル(N・mm)単位のトルクを発生させ、関節角度制御モードでは、度(°)単位で指定された角度まで移動します。いずれの場合も、本装置は位置を度(°)単位で、速度を度毎秒(°/s)単位で返します。
カラーコード
Haply のロゴにあるステータスランプは、デバイスの動作モードに応じて色が変わります。以下の表は、最新のファームウェアにおけるステータスランプの色を示しています(以前のファームウェアバージョンの色については、後述の「レガシーステータスランプの色」のセクションをご覧ください)。
| 色 | 点灯シーケンス | 状態 | 説明 |
|---|---|---|---|
| Aus | Aus | 接続されていません | USB-Cケーブルが外れています |
| 腐敗 | ブリンケン | 握手なし | サービスへの接続が確立されませんでした |
| SOS-ブリンケン | タイムアウト | 通信タイムアウトが検出されました。サービスからのコマンドを受信できませんでした。 | |
| ゲルブ | ブリンケン | 校正されておらず、電源も接続されていない | 電源が切断されており、キャリブレーションが必要です |
| 表示/非表示 | 未校正 | 機器の校正が必要です | |
| ヴァイス | 常時点灯 | アイドリング | 制御モードが有効になっていません |
| ブリンケン | 無負荷時および電源未接続時 | 電源が切断されており、制御モードは有効になっていません | |
| Grün | 常時点灯 | クラフト制御 | 力制御モードで動作中の装置 |
| ブリンケン | クラフト制御および電源なし | 電源が切断され、装置は出力制御モードにある | |
| シアン | 常時点灯 | 位置制御 | 位置制御モードで動作中のデバイス |
| ブリンケン | 位置制御および電源なし | 電源を切断し、装置を位置制御モードに設定 | |
| オレンジ | 常時点灯 | 安全装置の作動 | 不安定状態が検出され、安全トリガーが作動しました |
注:ステータスランプが赤色のままの場合は、USBケーブルがデータを転送していない可能性があります。接続がしっかりされているか確認するか、ケーブルを交換してください。ステータスランプの点灯パターンが想定されるいずれのパターンにも該当しない場合は、サポートへお問い合わせください。
パフォーマンス向上のためのオプション機能
Inverse3 パフォーマンスや操作感を調整できる複数の機能を備えています。このセクションでは、これらの機能とその使用方法について簡単に説明します。
速度推定
速度は直接測定されるのではなく、位置データから推定されます。これにより、ノイズが多く不正確な信号が生じる場合があり、それらをフィルタリングする必要があります。Inverse3 には、速度推定用のアルゴリズムが組み込まれており、内蔵のハードウェアを活用して、追加のフィルタリングを必要としない速度信号を生成します。
速度の推定値はあくまで概算であり、完全に正確ではない可能性がある点にご留意ください。継続的な改善により、性能と精度はさらに向上する可能性があります。
重力補償
重力補正機能は、Inverse3 の構成部品の質量に起因する力を相殺し、設置方向に関係なく、デバイスが無重力状態のように感じられるようにします。シミュレーションの開始時に、デバイスは内蔵センサーを使用してアルゴリズムのキャリブレーションを行います。動作中にデバイスの向きが変わると、動作が不安定になります。
重力補正機能は、力制御モードでのみ動作します。

重力補正の強さは、重力スケーリング係数を調整することで変更できます(デフォルトでは 0.75 に設定されています)。また、SDK 固有のコマンドを使用して、この機能を完全に無効にすることもできます(詳細については、SDK リファレンスを参照してください)。
スケーラビリティ
Inverse3 方向によって力の強さが異なります。そのため、Inverse3 の性能限界を超える力を生成しようとすると、意図した方向とは異なる方向の力が生じる可能性があります。力のスケーリングを有効にすると、力の方向は維持されますが、その強さは低下します。この機能はデフォルトで有効になっていますが、SDK固有のコマンドを使用して無効にすることができます。
VerseGrip用オリエンテーション追跡機能
Inverse3 を使用した工具の向き追跡には、VerseGripが必要です。
VerseGripsに関する詳細については、「はじめに:VerseGrip」の記事をご覧ください。
レガシー・ステータスランプ
ファームウェア 7.4.x およびそれ以前のバージョン
| 色 | ライトシーケンス | 状態 | 説明 |
|---|---|---|---|
| Aus | Aus | 分離 | USB-Cのケーブルが抜けています |
| 腐敗 | ブリンケン | 握手なし | サービスへの接続が確立されていません |
| リラ | 常にオン | 未校正 | 機器の校正が必要です |
| ブリンケン | 校正済みではありません&電源未接続 | 電源が切断されており、キャリブレーションが必要です | |
| ヴァイス | 常にオン | アイドリング | 制御モードが有効になっていません |
| ブリンケン | 無負荷運転および電源未接続時 | 電源が切断されており、制御モードは有効になっていません | |
| Grün | 常にオン | クラフト規制 | 出力制御モードで動作中の装置 |
| ブリンケン | クラフト制御および電源なし | 電源が切断され、装置は出力制御モードになっている | |
| ケーニヒスブラウ | 常にオン | 位置制御 | 位置制御モードで動作中のデバイス |
| ブリンケン | 位置制御および電源なし | 電源を切断し、装置を位置制御モードに設定 | |
| シアン | 常にオン | 減衰の確実性 | 速度/力制動:安全機能が作動しました |
| ピンク | 常にオン | 安定性の上限 | 不安定な状態が繰り返し発生し、許容荷重が低下した |
| ヴィオレット | 常にオン | 安定性支援が作動しました | 不安定状態が検出されたため、力が自動的に低減されます |
| オレンジ | 常にオン | 緊急ブレーキ | 即時停止、緊急ブレーキが作動中 |
| ゲルブ | 高速点滅 | タイムアウト | 通信タイムアウトが検出されました |