【学习记录】Ouster雷达运行fastlio提示 Failed to find match for field ‘ring‘ 的解决办法

发布时间:2024年01月20日

本文仅用于个人记录。

在使用ouster雷达运行fastlio代码时,提示

Failed to find match for field ‘ring’

但ouster雷达确实是发布了ring信息,可以从启动的rviz里面看到包括ring。
在这里插入图片描述

进一步检查,发现ouster对ring的定义是 uint_16t,而我印象中ring一般定义的都是 uint_8t,所以改了一下,就没有了这个报错。
即,将: ouster-ros/include/ouster_ros/os_point.h 这个文件中的 uint16_t ring 都改成 uint8_t ring,之后再编译,fastlio便不出现这个warning。
请添加图片描述

但是,需要注意的是,ouster雷达可以发布多种类型的点云,在driver.launch中的point_type进行定义。选择 original 类型即可。
在这里插入图片描述
其他的几种类型,参考github官方给出的解释:
>
即:xyz 是最简单的,xyzi增加了intensity,xyzir增加了ring,originalouster_ros::Point定义的格式,可以翻源码,native是原始的点进行的输出。original包括:ambient, intensity, range, reflectivity, ring, t, x, y, z。

intensityreflectivity的区别:前者是我们一般说的“强度”,后者是ouster雷达特有的“材质反射率”。即,前者是这根激光发出后收到的返回强度,后者是这根激光打到的物体的表面的反射率。

文章来源:https://blog.csdn.net/tfb760/article/details/135723137
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。