機器人時間同步:PTP、硬體時鐘與時間戳

當感測器在時間上不一致時,機器人可能會顯得幾何校正錯誤。移動物體、旋轉的底座或擺臂會將時鐘偏移轉化為空間誤差。因此,時間同步需要透過裝置、網路、主機和 ROS 時間戳進行物理取樣的端對端對映。

NTP 和 PTP 透過不同的機制和部署假設同步時鐘。硬體時間戳將資料包事件移近網路介面,但不會自動標記感測器暴露時間。應用程式必須瞭解每個時鐘域和轉換。

請將此指南與機器人感測器融合指南TF2 座標係指南結合使用。測試失效和恢復,而不僅僅是穩態偏移。

重新校正幾何體前的疑似時間

如果點雲跟蹤運動,攝影機和光達僅在移動時不一致,或估計器創新隨速度增長,在更換外因子前,先比較時間戳和資料年齡。固定時間偏移會產生靜態校正無法消除的運動依賴空間偏置。

在多個速度和方向上重現症狀。估算觀察到的位移是否與速度乘以時間偏移相匹配。保留原始源戳和接收時間,以便後續同步工作能基於同一資料進行評估。

在 NIST 測試平台操作連網工業機器人和計算裝置的工程師
時間同步必須在真實網路介面、交換機、計算機和機器人端點間進行測試。來源:F. Webber / NIST。權利: NIST 版權及免責宣告

每個時鐘域的清點

列出感測器振盪器、攝影機或光達時鐘、 GNSS 時間、網路介面 PTP 硬體時鐘、主機系統時鐘、加速器時鐘、控制器時鐘和模擬時間。記錄紀元、解析度、計數迴繞和復位行為及執行轉換的元件。

沒有時鐘身份的時間戳值是歧義的。為每個資料產品命名基準時鐘,並說明其與機器人系統時間的關係。避免假設兩個完全相同的裝置型號共用一個時鐘。

時鐘域典型事件改裝車主失效模式
感測器時鐘曝光或取樣驅動或韌體重置還是漂移
NIC PHC資料包入口或出口PTP 堆疊非同步介面
系統時鐘主機應用時間PHC2sys 或 NTP步進或轉向
ROS 時間資訊與應用時間節點設定模擬時間與實際時間混用
控制器時鐘致動樣本門戶未知的運輸延誤

分別是偏移、漂移和抖動

偏移是時鐘之間的瞬時差值。漂移是這種差值隨時間的變化。抖動是測量或修正的短期變化。一個小的平均偏移可以掩蓋大尾部、週期性漂移或主時鐘切換後的時間跳變。

報告分佈、最大觀測值、取樣間隔和測試時長。溫度和負載上的圖幅偏移。定義應用閾值,基於運動和融合誤差,而非通用同步營銷數值。

從定時路徑中選擇 NTP 或 PTP

NTP 能夠同步網路系統時鐘,並且廣泛可用。 PTP 可以使用硬體時間戳、透明或邊界時鐘以及大主時鐘來減少軟體和網路的不確定性。實際效能取決於拓撲結構、時間戳位置、路徑不對稱性和裝置支援。

RFC 5905 檔案 NTPv4。 PTP 部署應遵循支援的設定檔和裝置。協議名稱不確定應用準確性;測量的是機器人實際消耗的時間戳。

以五個步驟整理機器人時間同步:PTP、硬體時鐘與時間戳的判讀重點
依正文與一手資料整理的繁體中文實務卡。來源:Physical AI Lab。

設計主時鐘、時鐘域與故障切換

PTP 參與者在域內選擇或跟隨一個主時鐘(Grandmaster)。確定源是基於 GNSS 的、本地的還是冗餘的,以及多個網路或機器人的分離方式。驗證優先順序設定和最佳主選過程的行為。

測試主時鐘丟失、競爭時鐘、鏈路中斷與返回。記錄時間跳變、守時保持和收斂過程。如果時間戳在同一次任務執行中發生跳變,優雅的監控故障切換仍可能無法接受感測器融合。

測試階段度量注射狀態申請反應
穩定怠速偏移與抖動沒有負載正常效度
網路負載尾部偏移競爭性交通維護或退化
時鐘損耗殘留漂移主時鐘被移除旗幟時間不確定
恢復階躍與收斂主時鐘恢復隔離期間
重啟時代與單調性感測器或主機重啟新回合或重新對映

硬體時間戳用於定位資料包事件

硬體時間戳記錄資料包的進出資料包在網路介面附近,減少作業系統排程的不確定性。 Linux 透過其 PTP 子系統 PTP 硬體時鐘支援,但驅動程式和網路卡能力各不相同。

Linux PTP 硬體時鐘檔案描述了該介面。確認哪些資料包和方向被硬體印章。 PHC 時間戳仍代表網路事件,不一定是物理感測器樣本。

瞭解 ptp4l 和 phc2sys 的角色

ptp4L 實現了支援的網路介面 PTP,可以將 PHC 與大主同步或執行其他時鐘角色。 PHC2sys 通常同步系統時鐘和 PHC。執行一個時鐘並不證明另一個時鐘已對齊。

請閱讀目前的 ptp4lphc2sys 檔案以獲取選項和設定檔。歸檔設定、介面、傳輸、域、時鐘類和紀錄統計,並附有測試結果。

物理取樣附近的時間戳

最有用的感測器時間戳表示曝光開始、曝光中點、光達點火、 IMU 取樣或其他定義的物理事件。 USB 傳輸或處理後建立的驅動時間戳包含時鐘同步無法消除的可變延遲。

詢問感測器供應商或檢查驅動程式碼以辨識事件和時鐘。單獨測量傳輸延遲。對於滾動快門相機或掃描光達,一個時間戳可能無法描述每個畫素或點;下游演算法可能需要每行或每點的時間。

在 ROS 驅動邊界驗證轉換

驅動程式可利用估計偏移將裝置滴答計數器轉換為系統或 ROS 時間。檢查單元、轉移、啟動收斂、時鐘重置及 use_sim_time 是否更改解釋。在除錯過程中保留原始值和轉換值。

拒絕遠未來、過時或非單調的時間戳。在診斷中標記時間質量。不要在未記錄備用記錄的情況下默默替換無效硬體的到達時間。

測試怠速、負載、損耗和恢復

在網路空閒、真實感測器流量和 CPU 負載下、主訊號或鏈路丟失期間及恢復過程中測量同步情況。包括溫度和長時間,因為振盪器漂移和熱行為可能主導保持。

將時鐘統計資料與應用輸出(如融合殘差、變換後點雲的對齊和指令年齡)相關聯。這證明測量到的時鐘效能是否足以滿足機器人需求,而不僅僅是符合工具閾值。

跨時間不連續點的隔離資料

當時鍾步進、重啟或權限變更時,事件周邊的訊息可能存在模糊的順序。定義隔離區間,重置估計緩衝區,防止舊命令變為目前。重新同步不會修復已被錯誤對映標記的資料。

將不連續點記錄為事件邊界。對於訓練資料,保留故障標記,並透過可追溯規則排除受影響樣本,而非無來源刪除。

接受準確性和恢復並存

驗收要求應說明穩態偏移和抖尾、允許的滯留漂移、檢測時間、不確定性期間的行為以及恢復標準。驗證所需感測器和控制器使用的每一條時鐘路徑。

儲存拓撲和設定。

評估“機器人時間同步:PTP、硬體時鐘與時間戳”時,還應儲存模型版本、機器人設定、校正檔案、測試日期和全部試驗記錄。

只有把這些持續投入與單位成功任務的價值比較,才能判斷方案是否適合擴大。

上線後仍要持續檢查分佈變化、感測器漂移、機械磨損和人工接管原因。

實際專案還應指定資料、模型、控制器和安全流程的負責人,並預先定義回復條件。責任邊界、審批記錄與變更紀錄越清楚,故障發生後越容易停止擴散、定位原因並安全恢復。

  • 清點所有裝置、 PHC、系統和 ROS 時鐘。
  • 定義每個時間戳背後的物理事件。
  • 測量負荷下的偏移、漂移和抖動。
  • 注入權限丟失、重啟和恢復。
  • 隔離時鐘間隔斷的資料。

常見問題

啟用 PTP 會自動對齊每個感測器的時間戳嗎?

不。感測器可以使用獨立的時鐘或運輸後印章;驅動程式必須將其取樣事件對映到同步域。

機器人應該使用 NTP 還是 PTP?

從所需的精度、硬體支援、拓撲和故障行為中選擇,然後測量完整的時間戳路徑。

一個小的平均偏移夠嗎?

不。尾部抖動、漂移、時鐘步進和恢復間隔仍然可能違反應用要求。

ptp4l 也能同步系統時鐘嗎?

不一定。 PHC2sys 或其他機制常用來關聯 PHC 與系統時間。

丟失期間記錄的資料可以在時鐘恢復後使用嗎?

只有在其時間戳對映有效時才會如此。跨越不確定或階梯區間的資料應被隔離並評估。

時間同步證據邊界

時間同步效能取決於拓撲、硬體、驅動程式和工作負載。驗證物理取樣時序和應用錯誤,而不僅僅是守護程式的偏移顯示。

相關主題:倉儲揀選機器人如何運作?架構、指標與導入判斷