本文へ移動

テレメトリーの表示

確認済み 2026-11-01

結果: ログを開き、その表示が実際のメカニズムに対応していることを確認します。ビューアはファイルを読み取ります。サーボに接続したり、ハードウェアに指令を出したり、PID チューニング結果を予測したりすることはありません。

ログをインストールして開く

プロジェクト ルートから、Python 3.12 を使用して:

macOS / Linux
python3.12 -m venv tools/simulation/.venv
tools/simulation/.venv/bin/python -m pip install -r tools/simulation/requirements.txt
mkdir -p logs/motion
Windows PowerShell
py -3.12 -m venv tools/simulation/.venv
.\tools\simulation\.venv\Scripts\python.exe -m pip install -r tools/simulation/requirements.txt
New-Item -ItemType Directory -Force logs/motion | Out-Null

1 つの端末でログ ディレクトリを監視します。

macOS / Linux
tools/simulation/.venv/bin/python tools/simulation/viewer.py live logs/motion --model so101
Windows PowerShell
.\tools\simulation\.venv\Scripts\python.exe tools/simulation/viewer.py live logs/motion --model so101

空のディレクトリは最初の記録を待ちます。別の端末でハードウェア制御を開始します。ビューアは新しいログをたどって、後続のセッションに切り替えます。サブディレクトリではなく、そのディレクトリで .ndjson ファイルを検索します。ビューアを閉じてもハードウェア制御は停止しません。

完了したセッションを表示するには、EVENTS.ndjson をそのパスに置き換えます。

macOS / Linux
tools/simulation/.venv/bin/python tools/simulation/viewer.py play EVENTS.ndjson --model so101
Windows PowerShell
.\tools\simulation\.venv\Scripts\python.exe tools/simulation/viewer.py play EVENTS.ndjson --model so101

SO-101 の場合は --model so101 、 SO-102 の場合は --model so102 を選択します。 SO-102 がデフォルトです。モデルとメッシュがバンドルされています。名前付きポーズ POSES.json はビューア ログではありません。コントローラを介して再生し、結果のイベント ログを開きます。

ポジションマッピングを確認する

キャリブレーションと表示マッピングは別個です。

angle = referenceRadians + (counts − referenceCount) × radiansPerCount

記録されたカウントには、サーボの位置補正がすでに含まれています。再度減算しないでください。

モデル デフォルトの仮定
SO-101 カウント 2048 では、6 つの URDF ジョイントすべてが 0 ° にあります。正のカウントでは、カウントごとに 2π/ 4096 ラジアンずつ角度が増加します。
SO-102 カウント 2048 : M1 0 °、M2 − 3 °、M3 1 °、M4 1 °;リストロールとジョーは固定表示位置を使用します

SO-101 には reference pose assumed というラベルが付いています。これは推定であり、アライメントが検出されたわけではありません。グリッパーは、正規化された 0 – 100 開口部ではなく、エンコーダ角度を使用します。 SO-102 マップは、元のアームの特定のオフセットをバインドします。

再キャリブレーション後、物理的な基準を URDF 角度に一致させます。 2 番目のポーズと各関節での小さな手動の動きの兆候を確認します。 1 つの一致するポーズでは、スケールや方向を確認できません。最小および最大のエンコーダ数は、これらの角度を自動的に導き出すものではありません。

カスタム バージョン 2 マップの場合は、 tools/simulation/so101-encoder-map.json または tools/simulation/encoder-angle-map.json をコピーし、編集してパスを指定します。

macOS / Linux
tools/simulation/.venv/bin/python tools/simulation/viewer.py play EVENTS.ndjson --model so101 --mapping MY_MAP.json
Windows PowerShell
.\tools\simulation\.venv\Scripts\python.exe tools/simulation/viewer.py play EVENTS.ndjson --model so101 --mapping MY_MAP.json

MY_MAP.json は、正しい model 、 joints 、 fixedJoints 、およびオプションの encoderCalibration を含むマップです。すべてのモデルのジョイントをマッピングまたは修正する必要があります。キャリブレーション チェック フィールドのみを変更しても、物理的な角度変換は修正されません。ビューア モデルを選択しても、ハードウェア コントローラーやその重力モデルは変更されません。

表示を解釈する

測定した姿勢とシアンの基準が異なります。詳細な C2 フィードバックには、中間計画軌道が含まれます。コンパクト C1 には測定値のみが含まれるため、比較にはコマンドされた宛先が使用されます。移動中の最終目的地に対する誤差は、計画に対する追跡誤差ではありません。

ビューアは欠落した測定値を再作成しません。古いデータにはラベルが付けられます。コマンドだけでは更新できません。チャートは最大 20 秒保持されます。再生は自動的にループせずに最後のフレームを保持します。置換または切り詰められたファイルを再度開きます。

キー: 1 – 6 モーターを選択します。 G リファレンス オーバーレイ。 C チャート; J ジョイント; M / R 測定/基準ポーズ; F品質。 H ヘルプ。グリッドは視覚的であり、衝突はありません。ジオメトリは、シミュレータの接触と重力を無効にして再現されます。

チェック: モデルが腕と一致し、2 つの物理的なポーズと関節の方向が正しく表示され、フィードバックの種類を理解しています。これらのチェックが失敗した場合は、制御性能を判断する前にマッピングを修正してください。


ドキュメント ホーム · ソース リビジョン: a995f77 。 Extension 9.0 。