ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Actually I did find the solution for my specific problem, I was using a raspberry pi as a broadcaster of odometry, scan and, and another computer to run the gmapping package and the static tf messages of my tf tree. The thing is there is no time synchronization implemented in ROS, my computer time was slightly deviating from my computer by a tiny amount, and the topic synchronizer in gmapping responsible for making sure that the odometry, the tf messages and scan data are within a very small time margin in order to be consistent. My fix for this was to resynchronize everyday both my raspberry and my laptop to a time reference using the ntp protocol. Make some researches about it, the clean way to do it is to have either your computer or the raspberry running an ntp server, and the other one just asking for the time so that both can share the same time reference. But I got lazy and just synchronize both to another ntp server on the internet, which works fine. Another fix can be to use simulated time in roslaunch, make some researches about it, but essentially you create a node that broadcast time data on a topic /clock and use it as a reference on the other system. It didn't work for me, I don't really know why, even if I checked and that it was as precise as using ntp. That remains a mystery to me. Anyway just try sudo apt-get install ntpdate And then sudo ntpdate 1.ro.pool.ntp.org on both systems Then post the time difference on the forum and tell me if it fixed it