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

 

posted @ 2017-09-29 00:19  白菜菜白  阅读(5212)  评论(0编辑  收藏  举报