バックアップとファームウェアの書き込み
結果: 各モーターの設定が保存され、互換性のあるイメージがインストールされ、アプリケーションの起動と設定の保存がチェックされます。 ツールと通信 はすでに動作している必要があります。
1. 機構を準備する
アームを固定し、各リンクを支えてからモータートルクを無効にします。他のシリアル通信プログラムを終了してください。書き込みツールは torqueEnable = 0、lock = 1 による永続設定への書き込みロック、およびアクティブなアラームがないことを要求します。条件を満たさない場合は、適切な設定ツールで解決してください。検査を回避したり、原因不明のアラームを消去したりしないでください。
インストール済みの姿勢記録ツールでトルクを無効にできます。コマンドを実行し、機構を物理的に支えてからトルク解除を確認してください。Torque off verified を待ち、姿勢を記録せずに done と入力します:
macOS / Linux
npm run record-poses -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6
Windows PowerShell
npm.cmd run record-poses -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6
選択した ID を自分の ID に置き換えます。これにより、再生には必要のない空のポーズ ファイルが作成されます。これは制御されたトルク解放手順であり、緊急停止ではありません。
2. すべてのモーターをバックアップする
2 つのバックアップ目的では、異なる互換性のない形式が使用されます。
| ファイル | 作成者 | 目的 |
|---|---|---|
tools/settings/backups/servo-1-before-flash.json |
Node.js settings backup |
同じモーターへの永続的なレガシー設定の通常の復元 |
backups/servo-1-factory-recovery.json |
Python settings.py backup |
工場出荷時のファームウェアに戻った後の保存された設定の修復とリセットテンプレート |
どちらのコマンドも、設定を変更せずにモーターを読み取ります。
macOS / Linux
npm run settings -- backup --port "$SERVO_PORT" --id 1 --file tools/settings/backups/servo-1-before-flash.json
Windows PowerShell
npm.cmd run settings -- backup --port "$env:SERVO_PORT" --id 1 --file tools/settings/backups/servo-1-before-flash.json
macOS / Linux
tools/flash/.venv/bin/python tools/flash/settings.py backup --port "$SERVO_PORT" --id 1 --file backups/servo-1-factory-recovery.json
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/settings.py backup --port "$env:SERVO_PORT" --id 1 --file backups/servo-1-factory-recovery.json
すべての ID に対して繰り返し、 --id とファイル名の両方を変更します。別のコピーをプロジェクトの外に保管し、各バックアップに物理モーターのラベルを付けます。既存のファイルは上書きされません。別のスナップショットには新しい名前を使用してください。レガシー バックアップには、Extension プロファイルや重力モデルは含まれません。これらの JSON ファイルは個別に保存してください。
チェック: 両方のコマンドが成功し、両方のファイルが存在します。別のモーターのバックアップを復元しないでください。そのオフセットにより、エンコーダ カウントの物理的な意味が変わる可能性があります。
3. ファームウェアイメージをオフラインで確認する
ダウンロードcustom-v9-e44c0e6.zipからv0.1-プレビュー アセット。抽出する両方 firmware.encそしてrelease.jsonの中へtools/flash/releases/custom/。ソースコードアーカイブは使用しないでください。release.example.jsonまたは生のビルド出力。
macOS / Linux
tools/flash/.venv/bin/python tools/flash/flash.py inspect --manifest tools/flash/releases/custom/release.json
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/flash.py inspect --manifest tools/flash/releases/custom/release.json
inspect はシリアル ポートを開きません。マニフェストの構造、画像サイズ、SHA-256 をチェックします。このアーカイブでは、 extension.major: 9 、 extension.minor: 0 、 model_bytes: [[9, 3]] および encoded_bytes_verified: 25744 が想定されます。検証が失敗した場合は、元の一致するペアを取得します。ハッシュやサイズを手動で調整しないでください。
4. ID を指定して 1 台に書き込む
次のコマンドはファームウェアを書き込み、選択したモーターを再起動します。
macOS / Linux
tools/flash/.venv/bin/python tools/flash/flash.py flash --manifest tools/flash/releases/custom/release.json --port "$SERVO_PORT" --id 1
Windows PowerShell
.\tools\flash\.venv\Scripts\python.exe tools/flash/flash.py flash --manifest tools/flash/releases/custom/release.json --port "$env:SERVO_PORT" --id 1
指示されたら FLASH と入力します。電源を接続したままにし、完了するまで別の書き込みツールを実行しないでください。通常のアドレス指定書き込みでは、固有アドレスを持つ他のモーターを接続したままにできます。1 台ずつ順番に書き込んでください。通常の書き込み中にバスの電源を手動で入れ直さないでください。
このツールは、設定スナップショットの保存、イメージの転送、アプリケーションの起動の確認、設定の比較を行います。正常に完了するとトルクはオフのままになります。レポートは backups/flash/ に保存されます。バックアップと一緒に保管してください。これにより、ファームウェアのすべてのバイトを読み取るのではなく、アプリケーションと設定がチェックされます。
5. インストールされているインターフェースを確認します
ファームウェアの書き込み後、動作を開始せずに機能とフィードバックを読み取ります。
macOS / Linux
node host/servo-driver/examples/v9-feedback.js "$SERVO_PORT" 1
Windows PowerShell
node host/servo-driver/examples/v9-feedback.js "$env:SERVO_PORT" 1
この例では、 1,000,000 ボーおよび ID 1 を使用します。最後の引数を別の ID に変更します。ボーレートが異なる場合は、この例のコードを変更する必要があります。 Extension バージョン 9.0 を期待します。トルクがオフの非アクティブなセッションは正常です。
転送は終了したがアプリケーションの検証が失敗した場合は、別のフラッシュを試みる前にレポートを保存し、ID、ボー、設定を確認してください。応答しないデバイスまたは意図的に工場出荷時のファームウェアに戻す場合は、 リカバリ を使用します。
次へ: 校正を確認または確立します 。
ドキュメント ホーム · ソース リビジョン: a995f77 。 Extension 9.0 。