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