ロボットのオブザーバビリティ:ログ・メトリクス・分散トレース

ロボットのオブザーバビリティとは、発生した証拠から内部ソフトウェアの実行や外部の物理的挙動を再構築する能力のことです。ノードが生きているという画面だけでは、移動型マニピュレーターが誤ったオブジェクトを選択し、古びた変換を使い、回復に入った理由を説明できません。

ログはイベントを記録し、指標は測定値をまとめ、トレースはコンポーネント間の作業を結びつけます。ロボットはまた、センサーやアクチュエーターの証拠、時刻同期の品質、ミッションの識別や構成の系譜も必要です。なぜなら、物理的インシデントはクロスエッジデバイス、フリートサービス、人間の操作に関わるからです。

このガイドは ロボットレイテンシバジェットガイド および データセット系譜ガイドと併用してください。収集はサイバーセキュリティ、プライバシー、保存および安全上の制約を遵守しなければなりません。

質問やインシデントに関する可観測性の設計

まずは決定から始めましょう:どのタスクが失敗したのか、どのコマンドがアクチュエーターに届いたのか、知覚入力の年数、どの構成が実行されたのか、そして遅延や状態の発散がどこから始まったのか。各質問は証拠、相関関係、保持の必要性を定義しています。

ミッション割り当てから計画、推論、制御、装置応答、タスク結果に至るまでの重要な経路を計測します。調査のユースケースやリソース予算なしにあらゆるフィールドを収集するのは避けましょう。

工場機器を囲むロボットアームのオペレーターパネル
ローカルパネルは即時の状態を示しますが、インシデント再構築ではそのイベントが中央のテレメトリおよび構成履歴と相関する必要があります。出典: Shixart1985。ライセンス: CC BY 2.0

ログ、メトリクス、分散トレースの役割を分ける

構造化ログは離散的な出来事とその文脈を捉えます。指標は、アラートや傾向検出のために時間経過で値を集約します。トレースは、操作をコンポーネント間の関連スパンとして表します。これらだけでは生の実機で得た検証データに取って代わるものではありません。

公式 のOpenTelemetry信号ドキュメント には、トレース、メトリクス、ログ、バゲージがサポートカテゴリとして記載されています。ロボットの概念を慎重にマッピングし、クラウドサービスの意味論的慣習を前提とせず、自動的に動きやハードウェアに適合させるのです。

信号一番の質問ですロボットの例誤用した場合の失敗
ログ何が起こったのか安全停止の理由フリーテキストは相関しません
メートル法どれくらい、どのくらいの頻度でP95指揮年齢生のIDが濃度を爆発的に示す
トレースオペレーションタイムがどこへ行ったのかミッションからアクチュエーションへのスパン文脈が欠けていることが連鎖を断ち切る
録音物理的に起こったこと画像、関節およびコマンドストレージとプライバシーの過負荷
設定スナップショット具体的に何が流れていたのかモデル、地図およびキャリブレーションインシデントは再現できません

境界を越えて1つの操作識別をプロパップする

フリート、ロボット、ミッション、タスク、試み、復旧の識別子を作成し、明確な寿命を持つこと。サービスコール、キュー、デバイスコマンド間でトレースとコンテキストを保持しつつ、作業再実行時に物理的なエピソードの識別を可視化します。

W3C のトレースコンテキスト推奨 は、分散コンテキストのためのtraceparentとtracestateを標準化しています。互換性のあるインターフェースでルールを使用し、フィールドバス、ROSメッセージ、オフライン録画の明示的なマッピングを定義します。

レイテンシー評価に時刻同期の品質を含める

異なるクロックのタイムスタンプは、オフセット、ドリフト、不確実性が知られていない限り安全に差し引くことはできません。クロックのソースと同期の状態を記録し、壁のクロック補正が跳ねる局所的な時間には単調時間を使用します。

同期が劣化した場合でも、誤った正確な遅延を公表するのではなく、イベントの順序と不確実性を保持しましょう。センサー露出、メッセージ到着、コールバック開始、推論完了、コマンド適用、測定された動きを関連付けます。

安定したスキーマを持つ構造化ログを使います

イベント名、重大度、タイムスタンプとクロック、操作ID、コンポーネントとバージョン、ロボットの状態、理由コード、境界診断フィールドを含めてください。人間が読みやすいテキストを説明として使い、機械でクエリ可能な値だけにしないでください。

OpenTelemetryの ログ仕様 は、TraceIdおよびSpanIdによる相関をサポートしています。正規化によって証拠が消去されないように、元のデバイスエラーコードやマッピングバージョンを保存してください。

制御計量ラベルと濃度

測定された挙動に応じてカウンター、ゲージ、ヒストグラムを使いましょう。メトリクスは、故障率、キュー深度、コマンドの年齢、推論遅延、制御期限のミス、バッテリー状態、介入期間などを要約できます。

現在の OpenTelemetryの指標ガイダン スでは、ユニークな属性の組み合わせがメモリコストを増加させると警告し、SDKの濃度制限について説明しています。すべてのメトリクスシリーズに生のミッション、ユーザー、オブジェクト識別子を配置しないでください。例や境界ラベルを詳細なトレースやログに接続します。

非同期ロボットの作業と再試行のトレース

ミッションは知覚、計画、地図、ポリシー、デバイス呼び出しに広がり、キューやオフラインのエッジリンクを経て進むことがあります。ネストされた作業には親子スパンを使用し、因果作業が単一の同期コールツリーでない場合はスパンのリンクを使いましょう。

エンキューとデキューの時間、リトライ番号、タイムアウトの所有者、結果を記録します。OpenTelemetryの トレースドキュメント は、スパン、コンテキスト伝播、イベント、リンクを説明しています。失敗を保持し、成功した操作を代表するサンプリングルールを適用してください。

テレメトリーのほかに実機で得た検証データも保存する

特定のインシデントでは、センサーフレーム、ジョイントステート、コマンド、トランスフォーム、安全イベント、オペレーターの行動を同意と保存制御のもとでキャプチャします。単位の保持、座標フレーム、シリアライズ、情報の QoS または削除。

ROS 2rosbag2のドキュメントはRollingディストリビューション向けにバージョン化されています。デプロイされた配布およびストレージプラグインをピン留めします。クロック、設定、イベントIDがないバッグファイルは解釈が依然として難しいです。

スナップショットソフトウェア、モデル、地図およびキャリブレーション系譜

ビルドID、コンテナまたはパッケージダイジェスト、モデルおよびデータセットの系譜、マップ、ツール、キャリブレーション、コントローラーパラメータ、特徴フラグをロボットリソースまたはインシデントバンドルに添付します。最新の変わったラベルに頼らないでください。

ロボットデータセットの系譜ワークフローを使って、学習した成果物を入力に接続してください。更新とロールバックのイベントを保持し、混合フリートが一つの構成として分析されないようにしましょう。

反証を支持するインシデントバンドルを構築する

インシデント記録には、タイムライン、影響を受けた構成、ログ、メトリックウィンドウ、トレース、選択された物理的記録、オペレーターの発言、候補原因、各仮説に反する証拠が含まれるべきです。根本原因は最初の憂慮すべきグラフから選択すべきではありません。

確認された再発症例を 失敗マイニングガイド に結びつけつつ、訓練選択は運用判断や安全報告と分離しています。

5段階ロボット観測性インシデント再構築
高濃度ラベルや無制限記録は監視システムを無効化することがあり、コレクションには予算、維持、プライバシー管理が必要です。出典:Physical AI Lab。

予算テレメトリー、セキュリティ、プライバシー、そして運用の劣化

信号クラスごとに収集速度、ローカルバッファリング、アップロード優先度、保持、編集を設定できます。カメラ、音声、正確な位置情報、労働者の識別情報はプライバシーやセキュリティのリスクを生み出します。アクセスを保護し、削除行動を証明すること。

観測可能性は制御や安全作業を妨げてはなりません。切断された動作、ストレージの枯渇、コレクター故障、ログストームのテスト。ロボットは有界の臨界リングバッファを保持し、運用安全設計に従って継続または停止を行う必要があります。

可観測性受容仕様をリリースする

インシデント質問、信号スキーマ、識別子寿命、コンテキスト伝播、時刻同期の品質、サンプリング、カーディナリティバジェット、バッファおよび保持ルール、アクセス制御、設定系譜、リプレイテストを保持します。

以下のチェックで詳細に確認してください。

受理テスト注入状態必要な証拠失敗
相関クロスサービス再試行ワンタスクと試みの連鎖重複または破損したIDについて
タイミングクロックのオフセットとドリフト限定期間または不確実性偽レイテンシ
サンプリング稀な臨界故障トレースと物理束の保持ヘッドサンプリングドロップのケース
リソースネットワークとディスク圧力制限制御影響テレメトリーがロボットを妨害する
再試合既知の事件タイムラインと構成の再現ダッシュボードのみの診断
  • 派遣から物理的な結果までのミッションを追跡する。
  • クロックの発生源、オフセット、不確実性を記録します。
  • 指標はラベルに限定され、詳細なIDは避けましょう。
  • テレメトリを正確なソフトウェアやキャリブレーションのバージョンにリンクさせてください。
  • ネットワーク損失とストレージ圧力下でのインシデントキャプチャを証明します。

よくある質問

ログだけでロボットの観察に十分でしょうか?

いいえ。ログには、多くのインシデントを再構築するために、指標、痕跡、実機で得た検証データ、時刻同期の品質、構成コンテキストが必要です。

ロボットIDはメトリックラベルであるべきでしょうか?

境界付きフリートラベルは正当化されることがありますが、高濃度識別子は明示的なコスト分析を必要とし、しばしばトレースやログに分類されます。

トレースタイムスタンプはエンドツーエンドのレイテンシを証明できますか?

時計と伝播境界が条件付きでなければ、それ以外の場合は、局所的な持続時間や同期の不確実性を報告します。

すべての成功したタスクは完全に記録すべきでしょうか?

通常はそうではありません。リスクベースのサンプリング、要約、有界バッファを使い、重要な失敗と代表的な成功を保持しましょう。

監視性は安全監視に取って代わるのでしょうか?

いいえ。診断と証拠を支持します。検証済みの安全機能は、通常のテレメトリの利用可能性に依存して独立していなければなりません。

事件再現証拠境界

ロボットの観測性は、チームが物理的な事故を再構築し、正確な構成を特定し、制御、安全性、プライバシー、フリート運用を妨げることなく競合する説明を検証できるときに成功します。