メインコンテンツまでスキップ

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を返すのではなく、device-protocol-unsupportedイベントとともにHTTP 422を返すようになりました。
  • 接続時のステータスLEDの安定化。 Inverse3のステータスLEDは、接続や再接続のたびに赤く点滅しなくなりました。ウェイクアップ後の約5秒間の安定化期間中も接続が維持されるため、ファームウェアの接続ウォッチドッグが作動しなくなりました。
  • クラッシュしないサービスの停止と再起動。 サービスの停止と再起動時にクラッシュやハングが発生しなくなりました。サービスのオン/オフを切り替えた際に見られたパニックやハングを解消するため、シャットダウンおよび再起動の処理を作り直しました。

内部の改善​

  • クラッチナビゲーションモード(実験的機能、デフォルトではオフ)。 物理デバイスが動き続けている間に、サービスがシーンへ出力する動きを、オペレーターが縮小したり完全に固定したりできる新しいナビゲーションモードです。微細な位置決め用の半速の「precise」モードと、ワークスペースを再配置するための完全固定モードがあります。解除時には、蓄積されたオフセットをワークスペースに取り込むため、シーンのカーソルがジャンプすることはありません。フォースフィードバックはどの比率においても送られ続けます。今回のリリースサイクルではオプトイン方式で、デフォルトのワイヤ仕様は変更されていません。
  • セッション単位のフォーススケーリング(プレビュー)。 クライアントは、例えばパイメニューの表示中などに、あるシミュレーションセッションの触覚出力をゼロ方向へ下げ、デバイスの制御をHubに引き渡すことができます。これにより、メニューの触覚は通常の制御経路を通じて描画されます。セッションが終了したとき、またはメニューが閉じられたときには、自動的に元に戻ります。今回のリリースサイクルではプレビューでのみ有効で、デフォルトのワイヤ仕様は変更されていません。
  • ピボットを中心としたワークスペースのズーム(実験的機能)。 ワークスペースの変換を更新する際にピボットポイント(例:現在のカーソル位置)を渡すと、ビューはそのポイントを中心にスケーリングされるため、ピボットの画面上の位置は動きません。これにより、即座にカーソル位置へのズームが実現します。Inverse3でのみ利用可能です。今回のリリースサイクルでは実験的機能であるため、デフォルトのワイヤ仕様は変更されていません。
  • JSONのシリアライズエンジン(glaze)をv7.8.4にアップグレードしました。 インフラのみの変更であり、公開APIや動作の変更はありません。値を保持する浮動小数点テキストのワイヤ形式の再フォーマットが1件、あわせて含まれています。詳細は下記の「潜在的な破壊的変更」を参照してください。

修正​

  • デバイスのマウントトランスフォームを変更またはリセットしても、もうクラッシュの危険はありません。 試作段階の名残のコードパスが、マウントを変更するたびにファームウェアのワークスペース境界ボックスを送信していました。このコードパスは削除されました。
  • インクウェルドックでの再キャリブレーション後、ボディの向きが更新されるようになりました。 インクウェルでの再ドッキングおよび再キャリブレーションの後、ストリーミングされるボディの向きは、次回の再接続までキャリブレーション前の値を報告するのではなく、デバイスから更新されるようになりました。最新のデバイスファームウェアが必要です。ワイヤフォーマットは変更されていません。
  • Minverse は、キャリブレーションのブロックを常に報告するようになりました。 ファームウェアがキャリブレーションのブロックを報告するたびに、Minverse は device-calibration-failed イベントを発生させるようになりました。これには、以前は失敗を黙って握りつぶしていたオシレーティングホールのエッジケースも含まれます。これにより、Device Manager には常に「キャリブレーションに失敗しました」というメッセージが表示されます。
  • センタリングプリセットでは、原点がワークスペースの実際に到達可能な中心に設定されるようになりました。 arm_front_centered と led_front_centered(Inverse3 / Inverse3x)は、アームジョイント軸に沿って位置合わせされていましたが、この軸は到達可能なエンベロープの中心ではありませんでした。そのため、原点 {0, 0, 0} で set_cursor_position を実行すると中心からずれていました。また、Minverse のセンタリング原点も約 10 mm 右にずれていました。各オフセットは、各軸の到達可能範囲の半分になるように修正されました。機械的に可能な範囲ではなく、ファームウェアの安全スプリング制限ゾーンを除外して測定しています。(「破壊的変更の可能性」セクションの原点シフトに関する注記を参照してください。)

破壊的変更の可能性​

  • 7.5 より古いファームウェアでは、POST/DELETE /config/filters/damping が HTTP 422 を返すようになりました。書き込みを黙って破棄していた 200 の代わりに、device-protocol-unsupported イベントが発生します。ファームウェア 7.5 以降は影響を受けません(引き続き 200 を返します)。移行方法:デバイスのファームウェアを 7.5 以降にアップグレードするか、422 を処理してください。
  • ファームウェアがこのコマンドをサポートしていない場合(7.4 より古い)、POST/DELETE /home_return は無条件の 200 の代わりに HTTP 422 を返すようになりました。影響を受けるのは古いファームウェアのデバイスのみです。移行方法:ファームウェアを 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 はデバイスの奥行き軸に沿って 25 mm シフトします。Minverse のセンタリングプリセットは X 方向に 10 mm、Y 方向に 20 mm、Z 方向に 20 mm シフトします。minverse_zup は X 方向に 20 mm、Y 方向に 30 mm シフトします。これはデフォルトで有効になっている動作であり、minverse_zup は検出された Freeform セッションに対して自動的に適用されます。影響範囲:センタリングプリセットが有効な間に原点に配置されたコンテンツ、または原点を基準に配置されたジオメトリは、原点とともに移動します。移行方法:原点に固定されたジオメトリを再確認するか、以前のオフセットをカスタムマウントトランスフォームとして明示的に書き込んでください。センタリングされていないプリセット(device_defaults、arm_front、led_front)は恒等変換であり、影響を受けません。

非推奨​

  • inverse3 制御コマンドのレガシー values 入力は、警告付きの非推奨になりました。 set_cursor_force、set_cursor_position、set_angular_position、set_angular_torques に、コマンドの名前付きフィールド(vector / position / angles / torques)の代わりに values 配列を送信した場合も、引き続き動作します。ただし、黙って受け入れられる代わりに command-deprecated イベントが発生するようになりました(コマンドごとに 30 秒に 1 回に制限されています)。values を名前付きフィールドに移行してください。レガシー入力は 4.0 で削除される予定です。
  • ほかに、今回のリリースサイクルで公開ワイヤに影響する変更はありません。