ROS2 多機時間同步(Chrony配置簡明指南)

適用場景:
主機運行 ROS2 Humble(發布 /scan 等),板子運行 ROS2 Foxy(發布 /tf 等),兩邊通過 ROS_DOMAIN_ID 跨平臺通訊。需要保證系統時間對齊,避免 TF 插值失敗、建圖抖動等問題。


一、主機端配置(NTP服務端)

1. 安裝 chrony

sudo apt install chrony

2. 修改配置文件

sudo nano /etc/chrony/chrony.conf

將原有 pool 替換為:

server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
local stratum 10
allow 192.168.0.0/16
bindaddress 0.0.0.0

確保這幾項存在。

3. 重啟并啟用開機自啟

sudo systemctl restart chrony
sudo systemctl enable chrony

4. 驗證狀態

chronyc tracking

確認輸出中包含:

Leap status     : Normal

二、板載設備配置(NTP客戶端)

1. 安裝 chrony

sudo apt install chrony

2. 修改配置文件

sudo nano /etc/chrony/chrony.conf

添加如下行(僅保留一條 server):

server 192.168.x.x iburst   # 改為你的主機 IP
makestep 1 3

3. 重啟服務并啟用開機自啟

sudo systemctl restart chrony
sudo systemctl enable chrony

4. 驗證同步結果

chronyc tracking

確認 Leap status 為 Normal,且時間偏差在 0.1 秒以內。


三、建圖抖動消除建議

在 Cartographer 的 .lua 文件中添加:

lookup_transform_timeout_sec = 0.5

確保 .yamluse_sim_time: false,并開啟 EKF 的 publish_tf: true


四、測試通過表現

  • ros2 launch 無任何 extrapolation 報錯
  • rviz2 地圖無抖動
  • /tf 和 /scan 時間戳一致
  • cartographer_node 日志正常,submap 插入穩定

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74716.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74716.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74716.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Nginx配置偽靜態,URL重寫

Nginx配置偽靜態,URL重寫 [ Nginx ] 在Nginx低版本中,是不支持PATHINFO的,但是可以通過在Nginx.conf中配置轉發規則實現: location / { // …..省略部分代碼if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s/$1 l…

電路筆記(元器件):ADC LTC系列模數轉換器的輸出范圍+滿量程和偏移調整

LTC1740(LTC1740官方文檔)是Analog Devices(原Linear Technology)公司生產的一款高性能、低功耗的14位模數轉換器(ADC)。它通常用于需要高精度和快速采樣率的應用中,如通信系統、數據采集設備等。同類產品 LTC1746:一款14位、40Ms…

續-算法-數學知識

3、歐拉函數 1、定義: 1~n 中與 n 互質的數的個數 例如:6 的有 1 2 3 4 5 6 其中,與 n 互質 的 數的個數為 2個分別是:1、5 2、計算: $ N p_1^{a1} p_2^{a2} p_3^{a3} … p_k^{ak} $(例如&#x…

C/C++測試框架googletest使用示例

文章目錄 文檔編譯安裝示例參考文章 文檔 https://github.com/google/googletest https://google.github.io/googletest/ 編譯安裝 googletest是cmake項目,可以用cmake指令編譯 cmake -B build && cmake --build build將編譯產物lib和include 兩個文件夾…

LintCode第974題-求矩陣各節點的最短路徑(以0為標準)

描述 給定一個由0和1組成的矩陣,求每個單元格最近的0的距離。 兩個相鄰細胞之間的距離是1。 給定矩陣的元素數不超過10,000。 在給定的矩陣中至少有一個0。 單元格在四個方向上相鄰:上,下,左和右。 樣例 例1: 輸入: [[0,0,0],[0,0,0],[0…

Redis核心機制-緩存、分布式鎖

目錄 緩存 緩存更新策略 定期生成 實時生成 緩存問題 緩存預熱(Cache preheating) 緩存穿透(Cache penetration) 緩存雪崩(Cache avalanche) 緩存擊穿(Cache breakdown) 分…

CF每日5題(1300-1500)

最近急速補練藍橋杯中,疏于cf練習。 感覺自己過題還是太慢了。 今日水題,我水水水水。 1- 1979C lcm 水 1400 第 i i i局贏了,1個硬幣頂 k [ i ] k[i] k[i]個貢獻,所以每局分硬幣 x i 1 k [ i ] x_i{1\over k[i]} xi?k[i]1?個…

從代碼學習深度學習 - LSTM PyTorch版

文章目錄 前言一、數據加載與預處理1.1 代碼實現1.2 功能解析二、LSTM介紹2.1 LSTM原理2.2 模型定義代碼解析三、訓練與預測3.1 訓練邏輯代碼解析3.2 可視化工具功能解析功能結果總結前言 深度學習中的循環神經網絡(RNN)及其變種長短期記憶網絡(LSTM)在處理序列數據(如文…

easy-poi 一對多導出

1. 需求: 某一列上下兩行單元格A,B值一樣且這兩個單元格, 前面所有列對應單元格值一樣的話, 就對A,B 兩個單元格進行縱向合并單元格 1. 核心思路: 先對數據集的國家,省份,城市...... id 身份證進行排序…

AI比人腦更強,因為被植入思維模型【42】思維投影思維模型

giszz的理解:本質和外在。我們的行為舉止,都是我們的內心的表現。從外邊可以看內心,從內心可以判斷外在。曾國藩有7個識人的方法,大部分的人在他的面前如同沒穿衣服一樣。對于我們自身的啟迪,我認為有四點&…

Spring Boot 打印日志

1.通過slf4j包中的logger對象打印日志 Spring Boot內置了日志框架slf4j,在程序中調用slf4j來輸出日志 通過創建logger對象打印日志,Logger 對象是屬于 org.slf4j 包下的不要導錯包。 2.日志級別 日志級別從高到低依次為: FATAL:致命信息,表…

【IOS webview】源代碼映射錯誤,頁面卡住不動

報錯場景 safari頁面報源代碼映射錯誤,頁面卡住不動。 機型:IOS13 技術棧:react 其他IOS也會報錯,但不影響頁面顯示。 debug webpack配置不要GENERATE_SOURCEMAP。 解決方法: GENERATE_SOURCEMAPfalse react-app…

ES中經緯度查詢geo_point

0. ES版本 6.x版本 1. 創建索引 PUT /location {"settings": {"number_of_shards": 1,"number_of_replicas": 0},"mappings": {"location": {"properties": {"id": {"type": "keywor…

OpenCV界面編程

《OpenCV計算機視覺開發實踐:基于Python(人工智能技術叢書)》(朱文偉,李建英)【摘要 書評 試讀】- 京東圖書 OpenCV的Python開發環境搭建(Windows)-CSDN博客 OpenCV也支持有限的界面編程,主要是針對窗口、控件和鼠標…

GOC L2 第五課模運算和周期二

課堂回顧: 求取余數的過程叫做模運算 每輪的動作都是重復的,我們稱這個過程位周期。 課堂學習: 剩余計算器 秋天到了,學校里的蘋果熟了,太乙老師,想讓哪吒幫忙設計一個計算器,看每個小朋友能分…

54.大學生心理健康管理系統(基于springboot項目)

目錄 1.系統的受眾說明 2.相關技術 2.1 B/S結構 2.2 MySQL數據庫 3.系統分析 3.1可行性分析 3.1.1時間可行性 3.1.2 經濟可行性 3.1.3 操作可行性 3.1.4 技術可行性 3.1.5 法律可行性 3.2系統流程分析 3.3系統功能需求分析 3.4 系統非功能需求分析 4.系統設計…

Redis 除了數據類型外的核心功能 的詳細說明,包含事務、流水線、發布/訂閱、Lua 腳本的完整代碼示例和表格總結

以下是 Redis 除了數據類型外的核心功能 的詳細說明,包含事務、流水線、發布/訂閱、Lua 腳本的完整代碼示例和表格總結: 1. Redis 事務(Transactions) 功能描述 事務通過 MULTI 和 EXEC 命令將一組命令打包執行,保證…

STM32F103C8T6單片機硬核原理篇:討論GPIO的基本原理篇章1——只討論我們的GPIO簡單輸入和輸出

目錄 前言 輸出時的GPIO控制部分 標準庫是如何操作寄存器完成GPIO驅動的初始化的? 問題1:如何掌握GPIO的編程細節——跟寄存器如何打交道 問題2:哪些寄存器,去哪里找呢? 問題三,寄存器的含義&#xff…

前端布局難題:父元素padding導致子元素無法全屏?3種解決方案

大家好,我是一諾。今天要跟大家分享一個我在實際項目中經常用到的CSS技巧——如何讓子元素突破父元素的padding限制,實現真正的全屏寬度效果。 為什么會有這個需求? 記得我剛入行的時候,接到一個需求:要在內容區插入…

當網頁受到DDOS網絡攻擊有哪些應對方法?

分布式拒絕服務攻擊也是人們較為熟悉的DDOS攻擊,這類攻擊會通過大量受控制的僵尸網絡向目標服務器發送請求,以此來消耗服務器中的資源,致使用戶無法正常訪問,當網頁受到分布式拒絕服務攻擊時都有哪些應對方法呢? 建立全…