ROS 時間同步問題


0. 問題

    兩台ubuntu主機無法與一台debian主機使用分布式通信,攝像頭發出的話題機器人收不到,考慮是時間同步的問題。

    也可能是系統不統一的問題;

    今天在家實驗了一下,時間差6min,照樣可以收到數據,但是是兩台debian主機之間。

    難道真的是系統不一樣的問題?

1. 安裝

sudo apt-get install ntpdate

 2. 檢查和某台主機的時間差

sudo ntpdate -q 192.168.1.102  %最后是目標主機IP地址

 3. 如果時間差較大,需要安裝chrony來同步系統時間

sudo apt-get install chrony

    編輯某台機器上的  /etc/chrony/chrony.conf 文件,  添加另一台機器作為服務器。

    舉例:

    你打算讓機器人RC1獲取筆記本PC1的時間,你可以這樣寫:

server PC1 minpoll 0 maxpoll 5 maxdelay .05

   這樣的話,機器人系統時間就會慢慢地同步到你筆記本的時間。

    如果機器人和你筆記本的時間差非常的花,你可以使用一下幾句讓機器人系統時間和筆記本系統時間立即同步: 

/etc/init.d/chrony stop
ntpdate other_computer_ip
/etc/init.d/chrony start

 (root 用戶)但是,大的時間跳動會帶來一些問題,因此除非迫不得已,不建議這么做。

   如果你使用的是wifi網絡,並且時間沒有同步,你可以把 maxdelay 的值調的大一些。

 4. 隔離網絡問題

     如果是隔離網絡,也就是你的機器人/服務器和任何外部設備都沒有網絡連接,系統時間只能通過一個參考始終獲取。

     請參考這里:

     https://chrony.tuxfamily.org/manual.html#Isolated-networks

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM