点数N:单线雷达一般是一个电机转动获得反射距离,离散采样(与电机速度,雷达设计有关)点数一般是固定的,或者几种可选
角分辨率angle_increment:由激光厂商决定,大部分是固定分辨率,比如点数1800个点,360度,那么角度分辨率就是360/1800=0.2度固定值
范围: 雷达范围一部分是出厂决定,比如有些雷达只能扫描270度,有些雷达能扫描360度,如果厂商不提供设置范围的接口,我们可以自己滤波,截取想要的数据, 范围一般是有两个值来标称,min_angle, max_angle(最大,最小角度)
最大距离: range的最大值,出厂决定
实际距离: 雷达每个点的距离
公式一:
点数计算: range_size = round(max_angle-min_angle)/angle_increment+1
注意可能与实际点数多一个或者两个,由取整以及+1决定
公式二:
第i个点的角度:
angle_i = angle_min+ i * angle_increment
公式三:
第i个点和第j个点的角度差:
d_angle = (j-i)*angle_increment
公式四: 滤波重选择有效范围内数据
int start = round((angle_min_new-angle_min)/scan.angle_increment);
size_new = roun