ロボットの PTP およびハードウェアタイムスタンプによる時間同期

ロボットは、センサーが時間的に不一致すると幾何学的に誤ったように見えることがあります。動く物体、回転する台座、揺れるアームは時計のずれを空間誤差に変えます。したがって、時間同期には、デバイス、ネットワーク、ホスト、ROSのタイムスタンプを通じた物理サンプリングのエンドツーエンドマップが必要です。

NTPと PTP は異なるメカニズムや展開の前提でクロックを同期させます。ハードウェアのタイムスタンプはパケットイベントをネットワークインターフェースに近づけますが、センサー露出のタイムスタンプを自動的に記録するわけではありません。アプリケーションは各クロックドメインと変換を把握している必要があります。

このガイドをロボットセンサー融合ガイドおよび座標系ガイドTF2組み合わせて使用してください。テストの失敗と回復、定常状態のオフセットだけでなく。

ジオメトリを再校正する前の疑い時間

点雲が動きを追う場合、カメラとライダーが移動中だけ不一致する場合、または推定器の革新が加速とともに成長する場合、外部要素を変更する前にタイムスタンプとデータ年齢を比較してください。固定時間のオフセットは、静的キャリブレーションでは除去できない動き依存の空間バイアスを生み出します。

症状を複数の速度と方向で再現してください。観測された変位が速度に時間オフセットをかけた結果と一致しているかどうかを推定します。生のソーススタンプと受領時刻を保持し、後で同期作業を同じデータと照らして評価できるようにします。

ネットワーク化された産業用ロボットやコンピューティング機器をNISTテストベッドで操作するエンジニア
時間同期は、実際のネットワークインターフェース、スイッチ、コンピュータ、ロボットエンドポイント間でテストする必要があります。出典: F. ウェバー / NIST利用条件: NISTの著作権および免責事項

すべてのクロックドメインをインベントリする

リスト:センサー発振器、カメラまたはライダークロック、GNSS時刻、ネットワークインターフェース PTP ハードウェアクロック、ホストシステムクロック、アクセラレータクロック、コントローラクロック、シミュレーション時間。エポック、解決、ロールオーバー、リセットの動作、そしてどのコンポーネントが変換を行うかを記録します。

クロックの識別子がないタイムスタンプ値は曖昧です。各データ製品に対して権威あるクロックを挙げ、それがロボットシステムの時間とどのように関係しているかを述べてください。同一のデバイスモデルが同じクロックを共有していると仮定しないでください。

クロックドメイン典型的な出来事転換所有者故障モード
センサークロック露光またはサンプリングドライバーまたはファームウェアリセットまたはドリフト
NIC PHCパケットの入力または送信PTP スタック非同期インターフェース
システムクロックホスト適用時間phc2sysまたはNTPステップまたはスルー
ROSの時間メッセージと申請時間ノード構成シムと壁の混合時間
コントローラクロックアクチュエーションサンプルゲートウェイ不明な輸送遅延

分離オフセット、ドリフト、ジッター

オフセットとは、クロック間の瞬時的な差のことです。ドリフトとは、その違いが時間とともにどのように変化するかのことです。ジッターとは、測定や補正の短期的な変動です。小さな平均的なずれが大きなテールや定期的な徘徊、グランドマスター交代後のステップを隠すこともあります。

報告分布、最大観測値、サンプリング間隔、試験時間。温度と負荷によるプロットオフセット。一般的な同期マーケティングの数値ではなく、動作誤差や融合誤差から適用閾値を定義してください。

タイミング経路からNTPまたは PTP を選択します

NTPはネットワーク化されたシステムクロックを同期し、広く利用可能です。 PTP ハードウェアのタイムスタンピング、透過クロックや境界クロック、グランドマスターを使ってソフトウェアやネットワークの不確実性を減らすことができます。実際の性能はトポロジー、タイムスタンプの位置、経路の非対称性、デバイスサポートに依存します。

RFC 5905 NTPv4のドキュメントです。展開 PTP 対応プロファイルと装備に従うべきです。プロトコル名はアプリケーションの正確性を証明するものではありません。ロボットが実際に消費するタイムスタンプで測定します。

5段階ロボットの時間同期検証ワークフロー
同期受容には障害検出および回復動作が含まれます。出典:Physical AI Lab。

デザイングランドマスター、ドメイン、フェイルオーバー

参加者PTP領域内でグランドマスターを選んだり、フォローしたりします。ソースがGNSS制約されているのか、ローカルなのか冗長なのか、複数のネットワークやロボットがどのように分離されているかを判断します。優先度設定と最適なマスター選択プロセスの挙動を確認しましょう。

テスト:グランドマスターの損失、競合する時計、リンクの中断とリターン。記録的な時間ステップ、ホールドオーバー、収束。監視のための優雅なフェイルオーバーは、タイムスタンプがエピソード間でジャンプした場合、センサーフュージョンでは依然として受け入れられない場合があります。

試験段階測定注入状態アプリケーション応答
安定してアイドリングオフセットとジッター負荷なし正規妥当性
ネットワーク負荷テールオフセット競合する交通維持または劣化
クロックロスホールドオーバードリフトグランドマスター解任フラッグの時間不確定
回復ステップと収束グランドマスターの帰還隔離期間
再開時代と単調性センサーまたはホストの再起動新しいエピソードまたはリマップ

ハードウェアタイムスタンプはパケットイベントの位置を特定します

ハードウェアタイムスタンプは、ネットワークインターフェース付近でパケットの入出力を記録し、オペレーティングシステムのスケジューリングの不確実性を低減します。LinuxはPTPサブシステムを通じてハードウェアクロックPTPサポートを公開していますが、ドライバーやNICの機能は様々です。

Linux PTPハードウェアクロックのドキュメントにはインターフェースが説明されています。どのパケットや指示にハードウェアスタンプが貼られているか確認してください。PHCのタイムスタンプは必ずしも物理的なセンサーサンプルではなく、ネットワークイベントを表します。

ptp4lとphc2sysの役割を理解する

ptp4Lはサポートされているネットワークインターフェース向けに PTP を実装し、PHCをグランドマスターに同期させたり、他のクロック役割で動作させたりできます。PHC2SYSは一般的にシステムクロックとPHCを同期させます。一方を動かしても、もう一方の時計が正確であることは証明できません。

オプションやプロファイルについては、現在の ptp4l および phc2sys のドキュメントを読んでください。アーカイブの設定、インターフェース、トランスポート、ドメイン、クロッククラス、ログ統計とテスト結果。

物理サンプリング近傍のタイムスタンプ

最も有用なセンサーのタイムスタンプは、露出開始、露出中間点、ライダー発射、IMUサンプル、または他の定義された物理的イベントを表します。USB転送または処理後に作成されたドライバーのタイムスタンプには、クロック同期で除去できない可変遅延が含まれています。

センサーベンダーに問い合わせるか、ドライバーコードを調べてイベントとクロックを特定してください。輸送遅延は別途測定してください。ローリングシャッターカメラや走査型ライダーでは、1つのタイムスタンプですべてのピクセルや点を記述できない場合があります。下流のアルゴリズムでは、1行ごとまたは1ポイントごとにタイミングが必要になる場合があります。

ROSドライバ境界での変換検証

ドライバーは推定オフセットを使って、デバイスのティックカウンタをシステム時間またはROS時間に変換することができます。ユニットの確認、ロールオーバー、起動収束、クロックリセット、解釈の変更use_sim_time確認してください。試運転中は生値と変換値を両方保持してください。

遠い未来のタイムスタンプ、ありえないほど古いもの、または単調でないものは拒否する。診断で時刻同期の品質をマークしてください。無効なハードウェアスタンプを到着時刻に無言で置き換える際に、そのフォールバックを記録しないでください。

アイドル、負荷、損失、回復のテスト

ネットワークがアイドル状態、現実的なセンサートラフィックやCPU負荷下、グランドマスターやリンク損失時、復旧中、そして復旧中の同期を測定します。温度と長時間を含めることは、発振器のドリフトや熱挙動が保持効果を支配する可能性があるためです。

クロック統計を融合残差、変換点アライメント、コマンド年齢などのアプリケーション出力と相関させます。これにより、測定されたクロック性能が単にツールの閾値に準拠しているだけでなく、ロボットにとって十分かどうかを証明します。

時間不連続をまたぐ検疫データ

クロックがステップアップしたり、再起動したり、権限が変わったりすると、イベント周辺のメッセージは順序が曖昧になることがあります。隔離間隔を定義し、推定量バッファをリセットし、古いコマンドが現在化されるのを防ぎます。再同期は、すでに誤ったマッピングにスタンプされたデータを修復しません。

不連続性をエピソードの境界として記録してください。訓練データについては、故障マーカーを保持し、出所なしに削除するのではなく、追跡可能なルールで影響を受けたサンプルを除外してください。

精度と復旧性を同時に評価する

受け入れ要件には定常状態のオフセットとジッターテール、許容ドリフト・イン・ホールドオーバー、検出時間、不確実性時の挙動、回復基準が明記されるべきです。必要なセンサーやコントローラーで使用されるすべてのクロック経路を確認してください。

結果とともにトポロジーと構成を保存します。

  • すべてのデバイス、PHC、システム、ROSクロックをインベントリしてください。
  • 各タイムスタンプの背後にある物理的な出来事を定義してください。
  • 負荷時のオフセット、ドリフト、ジッターを測定してください。
  • 権限喪失、再起動、復旧を注入します。
  • クロックの不連続点を越えてデータを隔離する。

よくある質問

PTPを有効にするとすべてのセンサーのタイムスタンプが自動的に整列しますか?

いいえ。センサーは輸送後に独立した時計やスタンプを使うことがあります。ドライバーはサンプルイベントを同期ドメインにマッピングしなければなりません。

ロボットはNTPを使うべきか、それとも PTPを使うべきか?

必要な精度、ハードウェアサポート、トポロジー、故障挙動の中から選択し、タイムスタンプ経路全体を測定します。

小さな平均オフセットで十分でしょうか?

いいえ。テールジッター、ドリフト、クロックステップ、リカバリー間隔は、アプリケーション要件に違反する可能性があります。

ptp4lはシステムクロックも同期しますか?

必ずしもそうとは限りません。PHC2SYSTEMSまたは他のメカニズムは、PHCとシステムタイムを関連付けるために一般的に用いられます。

ロス中に記録されたデータはクロックが回復した後に使えますか?

タイムスタンプのマッピングが有効である場合のみです。不確実または段階的な区間にわたるデータは隔離され評価されるべきです。

時間同期証拠境界

時間同期性能はトポロジー、ハードウェア、ドライバー、ワークロードごとに異なります。デーモンのオフセット表示だけでなく、物理的なサンプルタイミングや適用エラーも検証してください。