Hi! I try to get the navigation stack running on my robot. I've got ROS running on the robot and on an PC used for visualization in Rviz and, if possible, for calculation like gmapping.
Nodes i need: odometry_publisher; base_control; tf_broadcaster; rviz; gmapping; depth_to laserscan; freenect(kinect); move_base.
I tried to distribute the nodes on the two PC in so may different combinations. But i allways get the same problem:
When i start all the nodes on my robot like: Odometry_publisher, freenect(kinect) and base_control everything looks good. Then i start the rest of the nodes on the other PC.
In rviz it needs one minute until the laser scan in shown( before it tells that there is no transform from base_link to map). even if the laser scan is not visible in rviz, gmapping is building map After that minute all of my nodes work fine. the is tha map made by gmapping and all the sensordata is published.
BUT: Starting the Navigation stack produces that Warning and does nothing afterwards:
[ WARN] [1532685774.079683838]: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: Lookup would require extrapolation into the past. Requested time 1532685692.802003361 but the earliest data is at time 1532685767.757000016, when looking up transform from frame [base_link] to frame [map]. Transform returned after 0.100864 timeout was 0.1.
btw i does make no change where the master runs I think my time is completely messed up. anyone an idea how to fix that?
thanks you so much!
Originally posted by lorenznew on ROS Answers with karma: 123 on 2018-07-27
Post score: 1
Original comments
Comment by gvdhoorn on 2018-07-27:
First thing to check: are the clocks between all involved machines in-sync? If they are not, you'll run into the issues you describe.
See #q11570.
Comment by lorenznew on 2018-07-27:
thanks for the hint!
I try that:
ros@ros-ThinkPad-T410:~$ ntpdate -q ros-robot
and got:
server 10.42.0.1, stratum 0, offset 0.000000, delay 0.00000
27 Jul 13:35:32 ntpdate[1719]: no server suitable for synchronization found
so i think the machines are in sync, right?
Comment by gvdhoorn on 2018-07-27:\
so i think the machines are in sync, right?
No, I don't think so:
ntpdate[1719]: no server suitable for synchronization found
I would say this means that synchronisation failed.
Please check the question I linked and their use of chrony
.
Comment by lorenznew on 2018-07-27:
ok, do you have a simple tutorial how to setup chrony. Im a bit lost :)
thanks!!
Comment by lorenznew on 2018-07-27:
what i did so far:
apt-get install chrony
add this line to /etc/chrony/chrony.conf: server ros-robot minpoll 0 maxpoll 5 maxdelay .1
restart Pc
sudo /etc/init.d/chrony stop
sudo /etc/init.d/chrony start
i properly did something wrong =)
Comment by gvdhoorn on 2018-07-27:
Perhaps How to use chrony to synchronize timestamp on two computers helps.
Comment by lorenznew on 2018-07-27:
thank you, i've got chrony runnning but still 0.308 s offset between the machines.
so now the Warning is:
[ WARN] [1532696225.143471688]: Costmap2DROS transform timeout. Current time: 1532696225.1434, global_pose stamp: 1532696224.7965, tolerance: 0.3000
so I'm realy close to a working time!