【OpenArmトラブルシューティング】アクチュエーター更新後のファームウェアバージョンの不一致(中級)

1 つのアクチュエータのアップデートで安定した動作が壊れましたか? ファントム配線の問題を追跡する前に、クロスジョイントのバージョン/スキーマの不一致を見つけてください。

フォーラム / 投稿インデックス / オープンアーム

役職

1 つのアクチュエータを更新したり、モジュールを交換したりすると、ストレスの多い OpenArm メンテナンスの問題が発生します。スタックは引き続き起動しますが、バージョン依存の機能、パラメータの仮定、またはメッセージ形式がジョイント全体できれいに整列しなくなります。

アクチュエーターのアップデート後に OpenArm でファームウェアのバージョンの不一致をどのように診断していますか?

アーム全体のバージョンをどのように管理しているか、どの症状から問題が配線や構成のドリフトではなく本当にバージョンの不一致であることがわかるか、すべてを同期状態に戻す際にロボットを安全に保つ回復順序は何かについて共有してください。

返信する場合は、更新後の正確な症状を 1 つと、不一致を明らかにした正確なバージョンまたは互換性チェックを 1 つ含めてください。

関連するトラブルシューティング パス: アクチュエーター交換後のモーター ID の競合 · コントローラーマネージャーの切り替えと安全な再起動

モジュール: OpenArm · 対象者: ビルダー/インテグレーター · タイプ: 質問

タグ: オープンアーム、ファームウェア、バージョンの不一致、アクチュエーターの更新

コメント1

中間コンテキスト: 私たちの正確な症状は、1 つのアクチュエーターを交換した直後に、ジョイント 4 がプロトコル不一致の警告とともに保護停止に入ったことでした。 Discovery は機能しましたが、そのジョイントのトルク モードはすぐに失敗しました。

コメント2

中間コンテキスト: 重要なチェックは、マトリックス (ジョイント ID、ブートローダー、アプリ ソフトウェア、パラメーター スキーマ) にダンプされたバス全体のバージョン スイープでした。 1 つのジョイントは新しいスキーマで出荷されたため、コントローラーの想定がバス メッセージと一致しなくなりました。

コメント3

中間コンテキスト: リカバリは成功しました。すべてのジョイントを検証済みのバンドルに固定し、バージョン タプルが承認されたセットの外にある場合にモーションをブロックするプリフライト スクリプトを実行します。 これにより、後のメンテナンス中にインシデントが繰り返されるのを防ぎました。

コメント4

中間コンテキストのフォローアップ: フォローアップの質問: ジョイント ID によってバージョン バンドルをロックしましたか。また、1 つのアクチュエータがそのバンドルの外側にドリフトしたときに、どのプリフライト ルールがモーションをブロックするようになりましたか?

クイック症状セレクター

最も近い症状を選択して、適切なトラブルシューティング パスに従ってください。

まだ選択されていません。

クイック FAQ

真のファームウェア/スキーマの不一致を迅速に特定するにはどうすればよいですか?

すべてのジョイント バージョンをマトリックスにダンプし、承認された互換性バンドルと比較します。

python tools/dump_joint_versions.py --all
python tools/check_version_bundle.py --bundle approved_bundle.json
チームはどのようにしてインシデントの再発を回避するのでしょうか?

バージョン タプルが検証済みセットの外にある場合にモーションをブロックするプリフライト ガードを追加します。

これらのコマンドをそのままコピーしてもいいでしょうか?

まずはチェックリストのテンプレートとして使用してください。 実行前に自分のセルでインターフェイス名、フィクスチャ ID、安全条件を確認してください。