Cartographer Failed to find match for field 'intensity'.
-
自己系统是 ubuntu18.04 [amd64:bionic],ROS 版本是 melodic。安装cartographer完后, 。分别启动 lslidar + imu 节点和caro节点出现 Failed 信息和截图如下:
Failed to find match for field 'intensity'. [ WARN] [1660093530.789678768]: W0810 09:05:30.000000 4986 tf_bridge.cc:52] Lookup would require extrapolation into the past. Requested time 1660093502.640984000 but the earliest data is at time 1660093520.794097900, when looking up transform from frame [lslidar_link] to frame [imu_link] [ WARN] [1660093530.789851594]: W0810 09:05:30.000000 4986 ordered_multi_queue.cc:155] Queue waiting for data: (0, scan) [ WARN] [1660093530.991417871]: W0810 09:05:30.000000 4986 tf_bridge.cc:52] Lookup would require extrapolation into the future. Requested time 1660093602.690678900 but the latest data is at time 1660093530.894069910, when looking up transform from frame [lslidar_link] to frame [imu_link]
roslaunch 运行的命令如下:
roslaunch lslidar_c32_decoder 00_start_ls_lidar_imu.launch roslaunch cartographer_ros 00_lslidar_imu.launch
查看 lslidar 发布的 数据信息和Rviz显示,个人认为lslidar有 intensity:
header: seq: 5347 stamp: secs: 1660089447 nsecs: 807343000 frame_id: "lslidar_link" height: 32 width: 2244 fields: - name: "x" offset: 0 datatype: 7 count: 1 - name: "y" offset: 4 datatype: 7 count: 1 - name: "z" offset: 8 datatype: 7 count: 1 - name: "intensity" offset: 16 datatype: 2 count: 1 - name: "ring" offset: 17 datatype: 2 count: 1 - name: "timestamp" offset: 24 datatype: 8 count: 1 is_bigendian: False point_step: 32 row_step: 71808 ...... data: [252, 0, 121, ... ,0, 0, 0] is_dense: False
还请大佬指点哪里没有注意到设置,哪里出现的问题,非常感谢!
PS: carto 自定义的两个launch 文件如下:
00_lslidar_imu.launch:
<launch> <param name="/use_sim_time" value="false" /> <include file="$(find cartographer_ros)/launch/01_backpack_3d.launch" /> <node name="rviz" pkg="rviz" type="rviz" required="true" args="-d $(find cartographer_ros)/configuration_files/01_xcmg_carto.rviz" /> </launch>
01_backpack_3d.launch:
<launch> <param name="robot_description" textfile="$(find cartographer_ros)/urdf/00_backpack_3d.urdf" /> <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" /> <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" /> <node name="cartographer_node" pkg="cartographer_ros" type="cartographer_node" args=" -configuration_directory $(find cartographer_ros)/configuration_files -configuration_basename 00_laser_imu_3d.lua" output="screen"> <remap from="points2" to="/lslidar_point_cloud" /> <remap from="imu" to="handsfree/imu" /> </node> <node name="cartographer_occupancy_grid_node" pkg="cartographer_ros" type="cartographer_occupancy_grid_node" args="-resolution 0.05" /> </launch> </launch>
-
@Gene 还没试过多线雷达建图,WARN那个我遇到过,但依然可以建图,所以错误估计在那个Failed to find match for field 上了,我能想到的是先跑一下数据集,对比下数据集数据和你的数据区别.