最初の姿勢の記録と再生
結果: は、レビューされた短いパスを再生し、最終的なモーターの状態を理解します。 Extension v9、検証済みの キャリブレーション および 、各モーターのプロファイル が必要です。 1 つのプロファイルの例を使用して完全なアームを実行しないでください。
1. 固定ハードウェアを確認する
アームをサポートし、トルクがかからないようにします。これらのコマンドはハードウェアを読み取ります。 --include-writes を追加しないでください:
macOS / Linux
npm run bus-benchmark -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
Windows PowerShell
npm.cmd run bus-benchmark -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
macOS / Linux
npm run telemetry -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
Windows PowerShell
npm.cmd run telemetry -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
実際の ID を使用します。別の実行のために新しいテレメトリ出力ディレクトリを選択します。電圧チェックのデフォルトは 8 – 16 V です。それが不適切な場合は、--voltage-min および --voltage-max をハードウェアの予期される範囲に設定します。
チェック: は、通信障害、アラーム、フラグ付き読み取り値を調査します。レポート ファイルだけではチェックに合格したことを意味しません。完全なハードウェア差分スイートを置き換えないでください。モーターを移動したり、設定を置き換えたりする可能性があります。
2. 近くの 2 つのポーズを記録します
対話型ターミナルでレコーダーを実行します。
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
- 機構をサポートし、Enter を押してトルクの解放を確認します。
Torque off verifiedを待ちます。- 移動制限内でサポートされているポーズを選択し、静止した状態で
startと入力します。 - 確認した小さな手動動作を行い、新しいポーズを保持して
nearbyと入力します。 doneと入力し、印刷された JSON パスを保持します。
ポーズは、同期したモーション記録ではなく、固定モーターの連続スナップショットです。トルクはオフのままです。ファイルは tools/poses/recordings/ に保存されます。これらにはキャリブレーション スナップショットが含まれていないため、後のオフセット変更を検出できません。
3. 構成とパス全体を確認します
設定ガイドに従って tools/poses/controller.local.json を作成します。記録したすべてのモーター、それぞれのプロファイル、正しいポートを指定してください。バスに接続するモーターは、その指定と完全に一致する必要があります。機構の支持に検証済みの重力モデルが必要な場合は、開始前に設定してください。補償ゼロの例は、使用する負荷への適合性を保証しません。
POSES.json を記録されたパスに置き換え、スペースを含むパスを引用符で囲みます。プレビューはハードウェアに接続し、ハードウェアを読み取り、設定を変更したり動きを開始したりすることなく、記録全体を通じてターゲットと設定された制限をチェックします。リンクの衝突、クリアランス、または物理パスはチェックされません。
macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json
チェック: ID とポートが正しく、フレーム数が録画と一致し、ターゲットと速度が期待どおりです。 cappedTargets は、現在の制限にクリップされたターゲットを報告します。変更されたパスが記録と一致すると仮定するのではなく、最初の実行前にクリッピングを調査してください。
4. 移動を開始する
記録した姿勢間だけでなく、現在位置から最初の姿勢までの経路にも障害物がないことを確認してください。手を可動範囲から離し、モーター電源をいつでも遮断できる状態にします。このコマンドは制御を有効にし、動作を開始します:
macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json --run
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json --run
新しいセッションや変更したプロファイルでは、開始時にトルクが一時的に無効になる場合があります。事前に機構を固定するか、安全に支えてください。関節速度は移動距離に応じて調整されますが、各サーボが個別に S 字曲線を計画するため、完全な同時到着は保証されません。各経由点で停止し、全体を一つの連続軌道としてつなぐ動作ではありません。
確認:プログラムがエラーなく完了し、位置が設定した許容範囲に入り、ログが logs/motion/ に保存されることを確認します。正常終了は、エンドエフェクターの絶対位置精度を測定したことにはなりません。
5. セッションを終了する
Extension 再生が正常に終了しても、モーターは通電したまま最終目標を保持します。Ctrl+C は新しい目標の送信を止めますが、動作を直ちに停止するものではありません。重力モデルを使用する場合、コントローラーは残りの動作を処理し、静止を待ってから終了します。重力モデルを使用しない場合は、モーターが最終目標へ動き続けている間にプログラムが終了することがあります。重力補償を設定している場合、最後の補償出力は残りますが、終了後はホストから更新されません。
プロセス終了後にトルクを無効にするには、アームを支えてから手順 2 の記録コマンドを実行し、トルク解除を確認します。Torque off verified が表示されるのを待ち、done を入力してください。使用しない空の記録ファイルが作成されます。通信が失われた場合、この手順は失敗することがあるため、モーター電源をすぐに遮断できる手段は引き続き必要です。
必要に応じて続けてください:重力補償、遠隔操作、調整、ログ表示。ツールごとの停止動作の違いは、セッションリファレンスを参照してください。
ドキュメントのホーム · ソースリビジョン:a995f77。Extension 9.0。