Inverse3 開発する
このドキュメントはクイックスタートガイドに基づいており、ハプティック開発ツールであるInverse3を紹介します。そのために、さまざまなハードウェア構成、制御方式、およびデバイスの動作を変更する主な機能について解説します。
左右の手の構成と座標系
Inverse3には、それぞれ異なる使用環境に最適化された2種類のハードウェア構成があります。

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

両方のデバイスとも、Inverse3のアーム側のデバイス銘板に表示されている右利き座標系に従います。座標系の原点は、取り付けプレートの平らな面の中央付近にあります。
ご利用になる言語またはプラグインのInverseSDKのドキュメントをご確認ください。SDKで提供される座標系が、すでにゲームエンジン固有の座標系に準拠している可能性があるためです。
Inverse3 制御する
Inverse3の制御は力制御にとどまらず、関節のトルクや角度の制御も可能です。このセクションでは、さまざまな制御モードと、それに関連する入力値および出力値、ならびにそれぞれの単位について説明します。
どちらのモードも、ユーザーやデバイスに本質的な危険を伴います。安全に関する情報については、Inverse3 の「Safe Use」ドキュメントを参照してください。
直交座標制御
Inverse3 使用時には、力制御モードが推奨されます。力制御では、ニュートン(N)単位の力を入力として受け取り、位置はメートル(m)、速度はメートル毎秒(m/s)単位で返します。位置制御モードでは、Inverse3 デバイスが指定された位置まで移動し、その位置を維持します。 2つのモード間の切り替えはスムーズに行われるため、これらを併用することで、より優れたユーザー体験を提供できます。例えば、シミュレーション開始時にデバイスを操作可能なオブジェクトから離れた位置に配置したり、追跡機能を備えたVerseGripを使用する際には、ツールの切り替え中にカーソルの位置を維持するために位置制御モードに切り替えたりすることができます。

関節制御
同様に、Inverse3の関節トルクと角度を直接制御することができます。トルク制御モードでは、デバイスはニュートン・ミリメートル(N・mm)単位で指定されたトルクを発生させ、関節角度制御モードでは、指定された角度(°)まで移動します。いずれの場合も、デバイスは位置を°単位で、速度を1秒あたりの度(°/s)単位で返します。
カラーコード
Haply ロゴのステータスインジケーターは、デバイスの動作モードに応じて色が変わります。以下の表は、最新のファームウェアにおけるステータスインジケーターの色を示しています(以前のファームウェアバージョンの色については、以下の「レガシー版ステータスインジケーターの色」のセクションを参照してください)。
| 色 | 表示灯のパターン | 状態 | 説明 |
|---|---|---|---|
| オフ | オフ | 接続が切断されました | USB-Cケーブルが外れています |
| 赤 | ちらつき | 握手なし | サービスへの接続が確立されていません |
| SOSの点滅 | タイムアウト | 通信タイムアウトが検出され、サービスからのコマンドを受信できませんでした | |
| 黄色 | ちらつき | 未補正および電源なし | 電源アダプターが外れており、調整が必要です |
| フェードイン/フェードアウト | 補正なし | デバイスの校正が必要です | |
| 白 | 点灯し続ける | 待機 | 有効な制御モードはありません |
| ちらつき | 待機中および電源オフ | 電源アダプターが外されており、有効な制御モードはありません | |
| 要旨 | 点灯し続ける | 力制御 | デバイスは出力制御モードでアクティブ状態です |
| ちらつき | 力制御および電源なし | 電源アダプターが外されており、デバイスは電力制御モードになっています | |
| 青緑 | 点灯し続ける | 位置制御 | デバイスが位置制御モードでアクティブ状態です |
| ちらつき | 位置制御および電源なし | 電源アダプターが外されており、デバイスは位置制御モードになっています | |
| オレンジ | 点灯し続ける | 安全トリガー | 不安定性が検知され、安全トリガーが作動しました |
注:ステータスランプが赤色のままの場合は、USBがデータを正常に転送できていない可能性があります。接続がしっかりされているか確認するか、ケーブルを交換してください。ステータスランプの点灯パターンが想定通りでない場合は、サポートリクエストをご提出ください。
オプションのパフォーマンス向上機能
Inverse3には、パフォーマンスや操作感を調整できる機能がいくつか用意されています。このセクションでは、これらの機能とその使用方法について簡単に紹介します。
速度の推定
速度は直接測定されるのではなく、位置データから算出されるため、フィルタリングが必要なノイズの多い不正確な信号が発生する可能性があります。Inverse3には、内蔵ハードウェアを活用して、追加のフィルタリングを必要とせずに使用できる速度信号を生成するオンボード速度推定アルゴリズムが搭載されています。
速度の推定値は概算であり、完全に正確ではない場合がありますので、ご注意ください。その性能と精度は、今後の改善を通じてさらに向上する可能性があります。
重力補償
重力補正機能は、取り付け方向に関係なく、Inverse3 コンポーネントの質量によって生じる力を相殺し、デバイスが無重力状態にあるかのように感じさせます。シミュレーション開始時、デバイスは内蔵センサーを使用してアルゴリズムを補正しますが、動作中にデバイスの向きを変えると、動作が不安定になる可能性があります。
重力補正は、力制御モードでのみ機能します。

重力補正の強度は、重力スケーリング係数(デフォルト値 0.75)を使用して調整でき、SDK 専用のコマンドを使用すれば完全に無効にすることも可能です(詳細については、SDK リファレンスドキュメントをご確認ください)。
力スケーリング
Inverse3の力出力は、方向によって大きさが異なります。その結果、Inverse3の性能限界を超える力を生成しようとすると、意図した力とは異なる方向の力が生成される可能性があります。力のスケーリングを有効にすると、力の方向は維持されますが、大きさは小さくなります。この機能はデフォルトで有効になっており、SDK専用のコマンドを使用して無効にすることができます。
VerseGrip 方向追跡
Inverse3 使用時には、ツールの向きを追跡するためにVerseGripが必要です。
はじめに:VerseGripのドキュメントで、VerseGripについて詳しく知ることができます。
レガシー状態インジケーター
ファームウェア 7.4.x 以前
| 色 | 照明パターン | 状態 | 説明 |
|---|---|---|---|
| オフ | オフ | 接続を解除 | USB-Cケーブルが外れています |
| 赤 | 点滅 | 握手なし | サービスとの接続が設定されていません |
| 紫色 | 点灯 | 補正不可 | デバイスの校正が必要です |
| 点滅 | 補正不可および電源なし | 電源アダプターが外れており、調整が必要です | |
| 白 | 点灯 | 待機 | 有効な制御モードがありません |
| 点滅 | 待機中および電源オフ | 電源アダプタが外されており、有効な制御モードはありません | |
| 要旨 | 点灯 | 力制御 | デバイスは出力制御モードで動作中です |
| 点滅 | 力制御および電源なし | 電源アダプターが外れており、デバイスは電力制御モードになっています | |
| ロイヤルブルー | 点灯 | 位置制御 | デバイスは位置制御モードで動作中です |
| 点滅 | 位置制御および電源なし | 電源アダプターが外されており、デバイスは位置制御モードになっています | |
| 青緑 | 点灯 | 減衰安全機能 | 速度/力の減衰に関する安全機能が作動しました |
| ピンク | 点灯 | 安定性の上限 | 繰り返される不安定な状態により、出力制限の上限が引き下げられました |
| バイオレット | 点灯 | 安定性補助動作 | 不安定な状態が検知されたため、出力が自動的に徐々に低下します |
| オレンジ | 点灯 | 非常ブレーキ | 即時停止、緊急ブレーキが作動中です |
| 黄色 | 高速点滅 | タイムアウト | 通信タイムアウトが検出されました |