Node clock is off in TF lookup
I'm trying to run laser_scan_matcher, but I'm getting a tf extrapolation error, except that the requested lookup time varies wildly and doesn't line up at all with my system clock. All these nodes are running on one machine. This is the error message:
[ WARN] [1593725386.115952617]: Could not get initial transform from base to laser frame, Lookup would require extrapolation into the past. Requested time 609813920.000032765 but the earliest data is at time 1593725383.147062831, when looking up transform from frame [velodyne] to frame [base_link]
[ WARN] [1593725386.116032217]: Skipping scan
I've launched it several times and I've gotten several different requested times, not including the one above:
- 1534859248.000032764
- 1166446240.000032764
- 900842032.000032766
It seems like the node is just requesting random times, which is what's throwing me off. The message is being generated by one of two TF lookups in line 780-783 of the source file: https://github.com/ccny-ros-pkg/scan_...
My launch file:
<launch>
<node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="slam_p2l">
<remap from="cloud_in" to="/velodyne_points"/>
<remap from="p2l_scan" to="slam/scan"/>
<rosparam>
min_height: -0.5
max_height: 0.15
angle_min: -3.14
angle_max: 3.14
angle_increment: 0.01
range_min: 0.60
range_max: 130.0
use_inf: true
concurrency_level: 0
</rosparam>
</node>
<node pkg="laser_scan_matcher" type="laser_scan_matcher_node"
name="laser_scan_matcher_node" output="screen">
<param name="fixed_frame" value = "world"/>
<param name="max_iterations" value="10"/>
<param name="publish_tf" value="false"/>
<param name="publish_pose_stamped" value="true"/>
<param name="use_cloud_input" value="false"/>
<remap from="imu/data" to="imu"/>
<remap from="scan" to="slam/scan"/>
</node>
</launch>
TF Frames: Any ideas on how to fix this?
System details: ROS Kinetic
Ubuntu 16.04
scan_tools v0.3.2 installed via apt.