机器人的板载电脑由于经常会出现断电情况,因此会出现时间不同步的情况。而在ROS下进行开发,如果系统时间不同步经常会出现问题,这里利用ntp进行时间同步。
首先在服务器和客户端分别安装ntp
sudo apt-get install ntp
接下来配置服务器端
在/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.1.0用你的局域网IP代替,即允许该网段的机器与本机同步
重启ntp服务
sudo /etc/init.d/ntp restart
也可以直接开启
sudo /etc/init.d/ntp start
在客户端运行
sudo ntpdate 192.168.0.100
这里192.168.0.100用你的服务器IP代替,即与该IP的主机时间同步
查看时间
date
为了避免每次时间同步都手动输入上述指令
可以修改客户端配置文档/etc/crontab
在最后添上
* * * * ntpdate 192.168.0.100