ROS中两台机器时钟同步

Posted Make Change

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS中两台机器时钟同步相关的知识,希望对你有一定的参考价值。

两台机器同时运行过程中,对于ROS的tf变换,其要求两台机器的时钟要保持一致。

 

1、查询时间

首先通过以下命令,看两台机器时钟是否有差异。在本机上,查看远程master的机器时间:

ntpdate -q other_computer_ip

例如

ntpdate -q 192.168.0.23

或者在终端直接输入date命令可以查询本机的时间:

date

  

2、安装chrony

执行如下命令:

sudo apt-get install chrony

 

3、配置

然后编辑配置文件:

sudo gedit /etc/chrony/chrony.conf

把本机的时间同步为master的时间,在sudo gedit /etc/chrony/chrony.conf中添加如下命令:

server c1 minpoll 0 maxpoll 5 maxdelay .05     #c1为master所在的计算机ip或者域名

 如果存在很大差异,比如几分钟,同步时间,执行如下的命令:

/etc/init.d/chrony stop
ntpdate other_computer_ip
/etc/init.d/chrony start
other_computer_ip表示远程master机器的ip,例如192.168.0.23,即:

 

参考资料:

1. http://wiki.ros.org/ROS/NetworkSetup

以上是关于ROS中两台机器时钟同步的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7:内网中两台机器不能连接的问题(Destination Host Unreachable),实际为AP隔离问题

vmware中两台虚拟机互相访问

linux中两台机器使用iscsi完成从a服务器的磁盘共享到b服务器

两台电脑使用ROS通讯

两台都不能上公网的Ubuntu如何进行时钟同步

ROS1/2机器人操作系统与时间Time的不解之缘