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
ROS 时间同步问题的更多相关文章
- ros消息时间同步与回调
转载自http://blog.csdn.net/zyh821351004/article/details/47758433 方式一: 全局变量形式 : TimeSynchronizer 步骤: 1. ...
- ROS time stamp and sync
1. https://answers.ros.org/question/189867/what-is-the-timestamp/ In ROS messages timestamp is taken ...
- [ROS]一些传感器数据读取融合问题的思考
思考问题: 1. 如何实现传感器数据的融合,或者说时间同步? 比如里程计读数和雷达数据融合? void SlamGMapping::startLiveSlam() { entropy_publishe ...
- ROS知识(11)----同步两台机器时钟
两台机器同时运行过程中,对于ROS的tf变换,其要求两台机器的时钟要保持一致. 1.查询时间 首先通过以下命令,看两台机器时钟是否有差异.在本机上,查看远程master的机器时间: ntpdate - ...
- 机房用ROS创建时间服务器
发现机房里的服务器时间老是不同步,虽然都设置为time-a.nist.gov和time-b.nist.gov,仍然有失败的概率.可能是因为国外服务器的缘故.所以打算在机房里创建一个时间服务器.正好RO ...
- ROS下多雷达融合算法
有些小车车身比较长,如果是一个激光雷达,顾前不顾后,有比较大的视野盲区,这对小车导航定位避障来说都是一个问题,比如AGV小车, 所有想在小车前后各加一个雷达,那问题是ROS的建图或者定位导航都只是支持 ...
- ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法
安装ROS时sudo rosdep init指令报错: ERROR: cannot download default sources list from: https://raw.githubuser ...
- ROS常用命令或经常碰到的问题
本篇博客会随时更新. 一.常用命令 1.添加环境变量 gedit ~/.bashrc 2.ubuntu系统监视器 gnome-system-monitor 二.问题 1.sudo apt-get up ...
- [转]在ROS下使用zeroconf配置多机通信
原文地址:http://www.corvin.cn/635.html,转载主要方便随时查阅,如有版权要求,请及时联系. 0x00 为何需要配置ROS多机通信 众所周知ROS是分布式系统,因此可以将机器 ...
随机推荐
- 自学Linux Shell14.1-理解输入输出
点击返回 自学Linux命令行与Shell脚本之路 14.1-理解输入输出(点击这里获得更多) 两种显示脚本输出的方法: 在显示器屏幕上显示输出 将输出重定向到文件中 1. 标准文件描述符 linux ...
- 自学Linux Shell14.3-创建临时文件
点击返回 自学Linux命令行与Shell脚本之路 14.3-创建临时文件mktemp Linux系统保留了一个特殊的目录位置,以供临时文件使用.Linux使用/tmp目录处理不需要永久保存的文件. ...
- [HNOI2010] 城市建设_动态最小生成树(Dynamic_MST)
这个题...暴力单次修改\(O(n)\),爆炸... $ $ 不过好在可以离线做 如果可以在 分治询问 的时候把图缩小的话就可以做了 硬着头皮把这个骚东西看完了 $ $ 动态最小生成树 然后,就把它当 ...
- pytesseract 使用框架
import pytesseract import cv2 img = cv2.imread("captcha.jpg",0) try: img.shape except Attr ...
- Mysql插入、替换和无视
在现实的生产环境下,通常我们都会遇到这样的应用场景,需要我们更新数据.替换数据,若存在则不操作. insert into表示插入数据,数据库会检查主键,如果出现重复会报错: replace into表 ...
- 使用netty编写IM通信界面
前驱知识 WebSocket 维基百科: WebSocket是一种在单个TCP连接上进行全双工通信的协议.WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补 ...
- Android:更好的自定义字体方案
http://ryanhoo.github.io/blog/2014/05/05/android-better-way-to-apply-custom-font/ 情景 解决方案 1)Android默 ...
- 函数和常用模块【day05】:装饰器高潮(三)
本节内容 1.概述 2.装饰器定义 3.装饰器定义 4.带参数的生成器 一.概述 我们之前介绍了大幅片的内容,感觉跟装饰器半毛钱关系都没有,其实不然,我们分别详细阐述了高阶函数和内置函数,下面我们就来 ...
- 面向对象【day08】:类的特殊成员(一)
本节内容 1.__doc__2.__module__和__class__3.__init__4.__del__5 .__call__6 .__dict__7 .__str__8 .__getitem_ ...
- Linux 文件管理权限
这里呢我们需要掌握的是两个命令 chmod 和 chgrp和chown 视频地址:http://www.tudou.com/listplay/pA16IH7T_Sc/LuyHbR_7Yp0.html ...