v3.5.3
3.5.3はパッチリリースです。主な変更点は、ペアリングされたInverse3 とグリップセットの片方を交換した際に再ペアリングされるようになった、よりスマートになった自動ペアリング機能、有線Verse Gripで発生していた誤ったバッテリー警告の解消、サポートされていないコマンドを黙って破棄しないよう明確化されたファームウェア機能チェック、接続時の状態LEDの安定性の向上、および競合のないサービスの停止と再起動です。 さらに、複数のデバイスおよびシリアル化に関する修正、ならびにバイトレベルのワイヤフォーマットに関するいくつかの注意事項も含まれています。
主な内容
- セットの片方を交換すると、自動ペアリングが再実行されます。自動的にペアリングされた「Inverse3 + Verse Grip」セットで、いずれかのデバイスが交換されると、SDKは以前のペアリングを解除し、新しく接続されたデバイスと再ペアリングを行います。手動でのペアリングには影響ありません。
- 有線版のVerse Gripでは、誤ったバッテリー警告が表示されなくなりました。バッテリー残量不足およびバッテリー危険の通知は、現在、ワイヤレス接続されたVerse Gripでのみ表示されます。有線版のVerse Gripでは、誤ったバッテリー残量不足やバッテリー危険の警告が表示されることはなくなりました。
- ファームウェアの機能テストの内容が明確になりました。 ファームウェアが古すぎて実行できないハプティック機能をデバイスに要求した場合――ファームウェア 7.5 以前の均一または方向性のあるダンピング、ファームウェア 7.4 以前のホーム復帰――以前は要求を静かに無視して 200 を返していましたが、現在は HTTP 422 レスポンスとともに
device-protocol-unsupportedイベントが発生します。 - 接続時のステータスLEDの動作がより安定しました。 Inverse3 ステータスLEDは、接続時や再接続のたびに赤く点滅しなくなりました。接続は、ウェイクアップ後の約5秒間の安定化期間中維持されるため、ファームウェアの接続ウォッチドッグがトリガーされることはなくなりました。
- サービスの停止および再起動時に競合は発生しません。サービスを停止して再起動しても、もはや競合やフリーズは発生しません。サービスの起動・停止時に発生していたパニックやフリーズを解消するため、終了および再起動の処理を再設計しました。
内部の改善点
- クラッチナビゲーションモード(実験的機能、デフォルトではオフ)。これは、実際のデバイスが動き続けている間でも、オペレーターがサービスからシーンへ出力される動きを縮小したり、完全に固定したりできる新しいナビゲーションモードです。微細な位置調整のための半速の「精密」モードと、ワークスペースの再配置のための完全固定モードが用意されており、モードを解除する際には、蓄積されたオフセットがワークスペースに反映されるため、シーンカーソルがジャンプすることはありません。 力フィードバックは、すべての比率で引き続き伝達されます。今回のリリースではオプトイン方式でのみ提供され、デフォルトのワイヤーフォーマットに変更はありません。
- セッション単位の力スケーリング(プレビュー)。クライアントは、例えばパイメニューが開いている間、1つのシミュレーションセッションのハプティック出力を0に近い値まで下げ、デバイスをHubに引き渡して、メニューのハプティックが通常の制御経路を通じてレンダリングされるようにすることができます。セッションが閉じられるか、メニューが閉じられると、自動的に元の状態に戻ります。 今回のリリースではプレビュー機能として提供されており、デフォルトのワイヤーフォーマットに変更はありません。
- ピボットを基準としたワークスペースの拡大・縮小(実験的機能)。ワークスペース変換を更新する際にピボットポイント(例:リアルタイムカーソル)を指定すると、ビューはそのポイントを基準に拡大・縮小され、ピボットの画面上の位置が維持されます。つまり、カーソルの位置に即座に拡大・縮小されます。Inverse3でのみサポートされており、今回のリリースでは実験的機能であるため、デフォルトのワイヤー形式は変更されていません。
- JSONシリアライズエンジン(glaze)をv7.8.4にアップグレードしました。今回の変更はインフラストラクチャのみを対象としており、公開APIや動作に変更はありません。値を保持する浮動小数点テキストワイヤーの再フォーマットも含まれています。以下の潜在的な互換性破綻に関する変更点をご参照ください。
修正内容
- デバイスのマウント変換を変更またはリセットしても、もはや競合のリスクはありません。マウントが変更されるたびに、ファームウェアにワークスペースの境界ボックスを伝達していたプロトタイプコードのパスが残っていましたが、そのコードパスは削除されました。
- インクウェル・ドックでの再キャリブレーション後、本体の向きが更新されます。インクウェルでの再ドッキングおよび再キャリブレーションが完了すると、ストリーミングされる本体の向き値は、次回の再接続までキャリブレーション前の値を報告するのではなく、デバイスの最新値に更新されます。最新のデバイスファームウェアが必要ですが、ワイヤーフォーマットに変更はありません。
- Minverseは、ブロックされた補正を常に報告します。 ファームウェアによるブロックが適用されたキャリブレーションを報告するたびに、Minverseは現在
device-calibration-failedイベントを発生させます。以前は失敗を黙って処理していた振動ホール(oscillating-hall)のエッジケースも含まれるようになったため、デバイスマネージャーには常に「キャリブレーションに失敗しました」というメッセージが表示されるようになりました。 - 「中央プリセット」は、原点を作業領域の実際に到達可能な中心に配置します。
arm_front_centeredわあled_front_centered(Inverse3 / Inverse3x)は、腕の関節軸に沿って整列していましたが、この軸は到達可能範囲の中心ではありません。したがって、原点{0, 0, 0}からset_cursor_positionを呼び出すと、中心からずれた位置に到達しました。Minverse 中央の原点も、約10mm右にずれていました。現在、各オフセットは軸ごとに到達可能な範囲の半分となっており、機械的に可能な範囲ではなく、ファームウェアの安全スプリング制限領域を除いて測定されます。(以下の「潜在的な互換性の変更点」にある原点移動の手順を参照してください。)
互換性に関する変更の可能性
POST/DELETE /config/filters/dampingバージョン7.5以前のファームウェアでこれを呼び出すと、現在はHTTP 422が返されます。 このときdevice-protocol-unsupportedこのイベントが併発します。以前は、書き込み操作が黙って省略されても、200が返されていました。ファームウェアバージョン7.5以上は影響を受けず、引き続き200を返します。移行措置:デバイスのファームウェアを7.5以上にアップグレードするか、422応答を処理してください。- そのコマンドがないファームウェア(7.4以前)では
POST/DELETE /home_returnを呼び出すと、現在はHTTP 422を返します。 以前は、無条件に200を返していました。この影響を受けるのは、旧バージョンのファームウェアを使用しているデバイスのみです。移行方法:ファームウェアを7.4以上にアップグレードするか、422レスポンスを処理してください。 config/mountおよびstate/transform(GET/POST/PATCH/DELETE)のコマンドエコーでは、これからはtransform.rotationこれ{x,y,z,w}ではなく{w,x,y,z}キーの順序でシリアライズされます。 これはストリーミングされるstateこれは、スナップショットの順序に合わせて行う変更です。変更はバイトレベルでのみ行われ、値とキー名は同じまま、キーの順序のみが変更されます。3つの構成要素はすべて引き続き反映されます。キー名でアクセスするJSONクライアントについては、特別な対応は必要ありません。厳密なバイト比較や順序比較を使用している場合は、基準データを再生成する必要があります。- 単一デバイス構成を適用すると、変更通知の範囲名が変更されます。 単一デバイスの構成が適用されると、セッション更新の変更通知イベントは、接頭辞のない名前(
mount,basis,preset) の代わりに構成スコープ名(config.mount,config.basis,config.preset)について報告します。このイベントの範囲文字列をフィルタリングするクライアントは、マッチングロジックを更新する必要があります。 - v3.0 および v3.1 における、すべての数値ワイヤーの値に対する Glaze 浮動小数点テキストの再フォーマット (例:
1.0E-7->1E-7,16777216->1.6777216E7,-1.0E-37->-1E-37). 変更はバイトレベルのみであり、数値パーサーは同じ値を読み取ります。変更されたのはテキスト形式のみです。文字列の等価比較を使用している利用者は、基準データ(フィクスチャ)を再作成する必要があります。 - 中央プリセットの原点移動。 中央プリセットは、実際に到達可能な中心を基準とするようになったため、設定される原点がバージョン3.5.2に比べて移動します。
arm_front_centered/led_front_centered装置の奥行き軸に沿って25mm、Minverse の中央プリセットはX軸10mm、Y軸20mm、Z軸20mm移動し、minverse_zupはX軸方向に20mm、Y軸方向に30mm移動します。これは基本的に有効になっている領域であり、minverse_zupは、検出されたフリーフォーム・セッションに自動的に適用されます。影響範囲:中央プリセットが有効になっている間、原点に配置されたコンテンツや、原点を基準として位置が決定されたジオメトリは、原点とともに移動します。移行:原点に固定されたジオメトリを再確認するか、以前のオフセットをカスタムマウント変換として明示的に指定してください。中央以外のプリセット(device_defaults,arm_front,led_front)は恒等元(identity)であるため、影響を受けません。
廃止予定の項目
- inverse3 制御コマンドのレガシー
valuesこの入力項目は、現在警告が表示される非推奨項目となっています。set_cursor_force,set_cursor_position,set_angular_position,set_angular_torquesコマンド名が指定されたフィールド(vector/position/angles/torques) の代わりにvalues配列を送信する方法は、依然として機能します。ただし、現在は黙って受け入れられるわけではなく、command-deprecatedイベントが発生します(1コマンドにつき30秒に1回という頻度制限があります)。valuesを指定されたフィールドに移行してください。レガシー入力はバージョン4.0で廃止される予定です。 - 今回のリリースにおいて、公開ワイヤに影響を与えるその他の変更点はありません。