在多机ROS中的时间同步问题

2 篇文章 0 订阅

局域网内两台设备时间同步

由于项目需要,需要笔记本和无人车上的tx2在无人车上的路由内组建局域网。但本项目系统是以ROS为框架的,需要两设备时间同步(不然会报各种莫名其妙的错误,笔者困惑了几天才发现…)。

笔记本是Uuntu16.04的系统,移动机器人的TX2也是16.04,二者通过路由器组建局域网,没有与外网连接。下面介绍如何通过ntp来对局域网内的两台电脑进行时间同步。

(1) 服务器端配置

在笔记本上安装ntp:

$ sudo apt install ntp

编辑配置文件/etc/ntp.conf

$ sudo vim /etc/ntp.conf

在文件中添加如下内容:

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10

第一行是为了能让192.168.2.0/255网段上的机器能和本机进行时间同步;第二行和第三行是为了让本机的硬件时间和本机的ntp服务进行时间同步。

重启ntp服务:

$ sudo /etc/init.d/ntp restart

(2) 客户端配置

在笔记本上安装ntp:

$ sudo apt install ntp

编辑配置文件/etc/ntp.conf

$ sudo vim /etc/ntp.conf

使用指令进行时间同步:

$ sudo /usr/sbin/ntpdate 192.168.2.4

为了避免每次时间同步都要输入上述指令,可以在/etc/crontab文件中配置,让树莓派每分钟和笔记本进行一次时间同步。

$ sudo vim /etc/crontab

在文件末尾添加如下内容:

* * * * * /usr/sbin/ntpdate 192.168.1.101;/sbin/hwlocal -w

表示每分钟和局域网内ip为192.168.1.101的主机进行一次时间同步,并将时间写入硬件中。

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值