1.一种基于三维激光雷达的地面点云分割方法,其特征在于,包括以下步骤:
步骤1,以激光雷达中心位置为坐标原点建立本地直角坐标系,获取车辆周围环境的三维激光雷达扫描点云的极坐标数据并转换到本地直角坐标系下,对本地直角坐标系下的点云数据进行预处理确定目标区域;
步骤2,在本地直角坐标系下,利用车载IMU和里程计获取车辆相对前一时刻位置的平移变量和角度变量,利用平移变量和角度变量对本地直角坐标系下的点云数据的坐标进行修正;
步骤3,构建极坐标网格地图,依次将直角坐标系下的点映射到极坐标网格地图中,提取出极坐标网格地图中障碍物在垂直方向上的延伸顶点;
步骤4,根据网格中延伸顶点的高度,将该网格划分为悬空障碍物网格、地面网格和障碍物网格,依次提取地面网格中的地面点,提取障碍物网格中的边缘障碍物网格,根据3σ准则,提取边缘障碍物网格中的地面点。
2.如权利要求1所述的基于三维激光雷达的地面点云分割方法,其特征在于,所述的步骤1中以激光雷达中心位置为坐标原点建立本地直角坐标系,具体包括:以所述激光雷达中心为坐标原点,以激光雷达的垂直轴线方向为Z轴,以扫描第一个平面的水平射线方向为X轴,以车体向前运动的方向为Y轴。
3.如权利要求1所述的基于三维激光雷达的地面点云分割方法,其特征在于,所述的步骤1中对本地直角坐标系下的点云数据进行预处理确定目标区域,具体包括:在本地直角坐标系下,以坐标原点为中心,保留-20m
4.如权利要求1所述的基于三维激光雷达的地面点云分割方法,其特征在于,所述的步骤2具体包括:
2-1雷达的单个扫描线在一个周期内旋转扫描产生n个点,当雷达扫描到第i个点时,该点在传感器坐标系下的坐标为ps=(xi,yi,zi)T;
2-2利用车载里程计推算出车辆在雷达扫描到第i个点时,相对第一个扫描点的平移量
2-3利用车载IMU推算出车辆在雷达扫描到第i个点时,相对第一个扫描点的旋转欧拉角Angi=(Ψi=0,θi,Φi)T,其中Ψi,θi和Φi分别表示车辆的航向角,翻滚角和俯仰角;
2-4雷达从第i个点扫描到第n个点期间,车辆的平移相对变化量为ΔTi,其中,ΔTi=Tn-Ti=(Δxi,Δyi,Δzi)T;车辆的旋转欧拉角变化量为ΔAngi,其中ΔAngi=Angn-Angi=(ΔΨi,Δθi,ΔΦi)T。
2-5利用车辆的平移变量和旋转欧拉角变化量对本地直角坐标系下的点云数据坐标进行修正,修正后的雷达点云在本地直角坐标系下的坐标为pi'=Ri(pi-ΔTi),其中Ri=Rz(ΔΨi)Ry(Δθi)Rx(ΔΦi),Ri∈R3×3是三个欧拉角的旋转矩阵。
5.如权利要求1所述的基于三维激光雷达的地面点云分割方法,其特征在于,所述的步骤3具体包括:
3-1以本地直角坐标系的原点为极点,以Z轴为中心对称轴,建立极径为R的极坐标网格地图,将极坐标网格地图划分为M个等面积的扇区S1,S2…SM,每个扇形对应的圆心角为Δα=360°/M;
3-2对每个扇形Si,将极径为rmin与rmax之间的区域沿着极径等间隔的划分为N个网格b1,b2…bN,其中rmin、rmax分别表示距离极点的最小距离和最大距离,网格的径向长度为Δr=(rmax-rmin)/N。
3-3在本地直角坐标系下,点pi距原点的距离表示为 则点pi所属栅格为bn,其中n=(di-rmin)/Δr;点pi与X正半轴的夹角表示为βi=atan2(yi,xi),则点pi所属的扇区为Sm,其中m=βi/Δα;
3-4重复步骤3-3,依次将所有的点映射到极坐标网格地图中;
3-5对极坐标网格地图Sm扇区bn栅格中的k个点组成的集合 按照高度进行快速排序,得到排序后的集合
3-6从p′1开始分别计算相邻两点p'j,p'j+1之间的高度差Δhj;
3-7设定阈值T,如果Δhj大于阈值T时,则将p'j作为该网格中的障碍物在垂直方向上延伸的顶点,停止搜索;如果Δhj小于和等于T,且p'j+1不是网格中最后一个点,则j=j+1,重复步骤3-6至3-7;;如果Δhj小于和等于T,且p'j+1是网格中的最后一个点,则将p'j+1作为该网格中的障碍物在垂直方向上延伸的顶点,停止搜索;
3-8重复步骤3-5至3-7依次找到每个网格中障碍物在垂直方向上的延伸顶点。
6.如权利要求1所述的基于三维激光雷达的地面点云分割方法,其特征在于,所述的步骤4具体包括:
4-1对任意网格 提取该网格中最低点的高度值;
4-2对网格 如果该网格中最低点的高度值大于给定阈值min_z,则该网格标记为悬空障碍物网格;
4-3如果该网格中最低点的高度值小于或等于给定阈值min_z,并且该网格中延伸顶点高度在给定阈值范围内,则将该网格标记为地面网格;
4-4如果该网格中最低点的高度值小于或等于给定阈值min_z并且该网格中延伸顶点的高度超过给定的阈值,则将该网格标记为障碍物网格;
4-5将地面网格中延伸顶点及其以下的点标记为地面点,在延伸顶点之上的点标记为悬空障碍点;
4-6重复执行步骤4-1至4-5依次提取每个网格中所有的地面点。
4-7对于标记为障碍物的网格,首先判断它是否为边缘障碍物网格,如果该网格的八邻域中有地面网格,则该障碍物网格是边缘障碍物网格,否则不是,继续搜索下一个障碍物网格;
4-8对任一边缘障碍物网格,提取其八邻域中所有的地面点,并计算点的高度均值μ和方差σ;根据3σ准则,对边缘障碍物网格中所有高度值在[μ-3σ,μ+3σ]范围内的点标记为地面点;
4-9更换网格,重复执行步骤4-7至4-8依次提取出所有边缘网格中的地面点。