对于数据结构/velodyne_points,有三个返回值:
· point就是雷达返回的点的坐标;
· 激光雷达除了返回距离之外,还返回反射值强度(Intensity),不同的障碍物材质反射的激光束的强度(Intensity)不同。Velodyne 测量 1m - 100m 物体的反射率(距离小于一米的点应该被忽略),其反射率的标定文件存储在VLP-16内置的FPGA中。当反射为漫反射(Diffuse Reflector)时,反射率的数值为0~100;当反射为逆反射(Retro-Reflector)时,数值为101~255。在Velodyne的配置页面中可以选择反射模型: Strongest, Last 或 Dual。
先看一下代码 :
namespace plane_ground_filter
struct PointXYZIRL
{PCL_ADD_POINT4D; //这将添加成员x,y,z,他们可以用point访问float intensity; //反射值强度uint16_t ring; //激光的环数(说明是第几根线)uint16_t label; EIGEN_MAKE_ALIGNED_OPERATOR_NEW //确保new操作符对齐操作
} EIGEN_ALIGN16; //强制SSE对齐
EIGEN_MAKE_ALIGNED_OPERATOR_NEW 是Eigen库的一个涉及字节对齐的问题,这个是对于固定维数的矩阵(雷达数据)会出现的错误,动态维数的矩阵不存在这样的问题。
下面是关于将PCL类型的点云数据转换为我们自定义的数据类型的代码:
SLRPointXYZIRL point; //Plane_ground_filter::PointXYZIRL point
for (size_t i = 0; i < laserCloudIn.points.size(); i++)
{point.x = laserCloudIn.points[i].x;point.y = laserCloudIn.points[i].y;point.z = laserCloudIn.points[i].z;point.intensity = laserCloudIn.points[i].intensity; point.ring = laserCloudIn.points[i].ring; point.label = 0u; // 0 means unclusterg_all_pc->points.push_back(point);
}
本文发布于:2024-01-30 22:00:13,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170662321623120.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |