ethz-asl / voxgraph

Voxblox-based Pose graph optimization
BSD 2-Clause "Simplified" License
514 stars 69 forks source link

Failed to find match for field #76

Closed WANGYINGYU closed 4 months ago

WANGYINGYU commented 5 months ago

Hi,

I compile this code successful, but when I run the demo, I meet some errors:

Failed to find match for field 'ring'. Failed to find match for field 'ambient'. [ WARN] [1712820591.585187921, 1562071179.564491040]: Waited 0.250s, but still could not get the TF from os1_lidar to odom [ WARN] [1712820591.585868881, 1562071179.564491040]: Could not get correction transform within allotted time. Skipping pointcloud. Failed to find match for field 'ring'. Failed to find match for field 'ambient'. [ WARN] [1712820591.841923309, 1562071179.826697767]: Waited 0.250s, but still could not get the TF from os1_lidar to odom [ WARN] [1712820591.841955066, 1562071179.826697767]: Could not get correction transform within allotted time. Skipping pointcloud. Failed to find match for field 'ring'. Failed to find match for field 'ambient'. [ WARN] [1712820592.095919288, 1562071180.078642303]: Waited 0.250s, but still could not get the TF from os1_lidar to odom [ WARN] [1712820592.095951966, 1562071180.078642303]: Could not get correction transform within allotted time. Skipping pointcloud. Failed to find match for field 'ring'. Failed to find match for field 'ambient'. [ WARN] [1712820592.100338831, 1562071180.078642303]: Lookup would require extrapolation 0.006332827s into the past. Requested time 1562071179.496815681 but the earliest data is at time 1562071179.503148556, when looking up transform from frame [os1_lidar] to frame [odom] Failed to find match for field 'ring'. Failed to find match for field 'ambient'. Failed to find match for field 'ring'. Failed to find match for field 'ambient'.

And the rviz doesn't shown anything. Can you give me some guidance about how to solve this issue?

victorreijgwart commented 5 months ago

Hi Yingyu Wang,

This error about missing fields is usually caused by a version mismatch between the LiDAR driver, PCL and/or the ROS package that tries to decode the pointclouds (which in this case is probably the lidar_undistortion package).

Could you describe a bit more about your setup? Are you running the demo from the README, with the rosbag from arche_flight1_2ms_indoor-outdoor-figure-8.zip or are you using another dataset? Which version of Ubuntu are you on?

WANGYINGYU commented 5 months ago

Hi Victor Reijgwart,

Thank you for your prompt reply.

Yes, I run the rosbag arche_flight1_2ms_indoor-outdoor-figure-8.zip. I try to run this demo on two laptop, one is Ubuntu 18.04 and another is 20.04. I am not sure if this error is caused by the lidar_undistortion. When I compiled lidar_undistortion, it had an error fatal error: ouster_ros/point.h: No such file or directory, and I followed the solution shown in #74 that put all header files in https://github.com/ouster-lidar/ouster-ros in ouster_lidar/ouster_ros/include/ouster_ros/ and then changed the name of os_point.h to point.h, and then compilation passed.

WANGYINGYU commented 4 months ago

Hi Victor Reijgwart @victorreijgwart,

I think I have solved this issue. This output is just a warning; it is caused by the updated os_point.h in https://github.com/ouster-lidar/ouster-ros, which is the definition of ring and ambient.. I solved this issue by the following steps: first, download os_point.h in https://github.com/ouster-lidar/ouster-ros and rename it to point.h, then replace std::uint16_t, ring to std::uint8_t, ring and delete the definition of ambient.

I think this issue can be closed.

victorreijgwart commented 4 months ago

Hi @WANGYINGYU, I'm glad to hear you found a solution. Thank you for sharing it here so that others can also use it!