ROS 时间同步问题

0. 问题

    两台ubuntu主机无法与一台debian主机使用分布式通信,摄像头发出的话题机器人收不到,考虑是时间同步的问题。

    也可能是系统不统一的问题;

    今天在家实验了一下,时间差6min,照样可以收到数据,但是是两台debian主机之间。

    难道真的是系统不一样的问题?

1. 安装

1
sudo apt-get install ntpdate

 2. 检查和某台主机的时间差

1
sudo ntpdate -q 192.168.1.102  %最后是目标主机IP地址

 3. 如果时间差较大,需要安装chrony来同步系统时间

1
sudo apt-get install chrony

    编辑某台机器上的  /etc/chrony/chrony.conf 文件,  添加另一台机器作为服务器。

    举例:

    你打算让机器人RC1获取笔记本PC1的时间,你可以这样写:

1
server PC1 minpoll 0 maxpoll 5 maxdelay .05

   这样的话,机器人系统时间就会慢慢地同步到你笔记本的时间。

    如果机器人和你笔记本的时间差非常的花,你可以使用一下几句让机器人系统时间和笔记本系统时间立即同步: 

1
2
3
/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 @   白菜菜白  阅读(5226)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
历史上的今天:
2016-09-29 linux 中的 open() read() write() close() 函数
点击右上角即可分享
微信分享提示