利索能及
我要发布
收藏
专利号: 2022108252823
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-30
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于矢量地图的室内建图方法,其特征在于,包括以下步骤:

(1)对激光雷达扫描数据进行预处理,得到室内环境完整外轮廓;

(2)根据所述室内环境完整外轮廓使用种子区域生长方法提取各个墙面的直线段,计算各直线段的斜率以及两直线段相邻端点之间的距离,比较两个直线段的斜率,若斜率相同并且端点之间的距离相近,则认定对应的直线段属于同一墙面,否则,对应的两条直线段属于不同墙面,重新寻找属于同一墙面的直线段,进而找到所有墙面的直线段集parameter,且若此时扫描帧数为1,则定义source为参考直线段集并将parameter存入;

(3)根据所述直线段的斜率截距计算不同墙面的直线段交点,且若此时扫描帧数为1,则定义intersection_source为参考直线段集source交点集,否则,定义intersection_target为当前直线段集parameter交点集;

(4)将参考直线段集source交点集intersection_source和当前直线段集parameter交点集intersection_target进行配准,求得旋转矩阵和平移向量并计算出配准之后的直线集合target;

(5)将当前帧下配准后的直线段集合target与之前帧的参考直线段集source进行融合,得到融合后的直线;

(6)根据融合后的直线斜率截距求融合后的直线的交点,并刷新存储在集合intersection_source中;

(7)循环步骤(1)‑(6),直到扫描帧数>N1,N1为激光雷达扫描帧数。

2.根据权利要求1所述的基于矢量地图的室内建图方法,其特征在于,所述步骤(1)具体包括以下步骤:(11)手持激光雷达扫描仪进行室内环境扫描,记录存储激光帧数据lidar_data,根据每帧激光雷达扫描数据在lidar_data中起始位置得到当前帧激光雷达扫描数据;

(12)通过坐标转换公式得到激光雷达在笛卡尔坐标系下坐标[x_org,y_org],其中x_org为横坐标,y_org为纵坐标,所述坐标转换公式为:其中,angles为当前帧扫描角度,ranges为当前帧扫描距离;

(13)判断当前帧扫描点是否为数据轮廓点,数据轮廓点的判断公式为:其中,r为每相邻三点形成的两对向量进行叉乘的结果,ang为两个点之间的均值极角,ang_2为极角阈值;

(14)去除以手持式激光雷达扫描仪为圆心,0.5m半径范围内的点云,从而得到滤波后一帧点云数据外轮廓,并用矩阵[x_filt,y_filt]表示。

3.根据权利要求2所述的基于矢量地图的室内建图方法,其特征在于,所述步骤(2)具体包括:(21)将已经存在的种子段中的激光点拟合成一条直线段,计算当前种子段中激光点到所述直线段的距离标准差std_error,以及种子段中相邻两点之间的距离d1,有效种子段符合的公式为:其中,D_ENDTOBEGIN为种子段中相邻两点之间距离阈值,D_THTESHOLD为当前种子段到直线距离标准差阈值;

(22)将随后激光点添加到种子段拟合成的直线段,计算随后激光点到直线段距离的累计误差d_total_error,并计算x_filt(j),y_fil(j)与x_filt(j‑1),y_fil(j‑1)之间的距离d_twopoint,根据有效种子段不断进行区域生长直到符合停止生长的条件,停止生长的条件为:|d_total_error|>D_THTESHOLD

或者

d_twopoint>4*D_THTESHOLD;

(23)计算拟合出的各直线段的斜率以及两直线段相邻端点之间的距离,比较两个直线段的斜率,若斜率相同并且端点之间的距离相近,则认定对应的直线段属于同一墙面,否则,对应的两条直线段属于不同墙面,重新寻找属于同一墙面的直线段,进而找到所有墙面的直线段集parameter,若此时扫描帧数为1,则定义source为参考直线集,并将parameter存入source。

4.根据权利要求3所述的基于矢量地图的室内建图方法,其特征在于,所述随后激光点到直线段距离的累计误差d_total_error更新表示为:d_total_error=d_total_error+d

等号前的d_total_error表示加入随后加入的激光点更新后的累计误差,d_total_error表示更新前的累计误差,且其中,A,B,C为直线段的系数,(x0,y0)为随后加入的激光点的坐标。

5.根据权利要求4所述的基于矢量地图的室内建图方法,其特征在于,所述步骤(4)具体包括:(41)计算两个待配准点集intersection_target和intersection_source的质心,分别得到target_mean、source_mean;

(42)计算两个待配准点集intersection_target和intersection_source相对于各自质心target_mean、source_mean的位移,并分别定义为data_target、data_source;

(43)定义一个空矩阵W,通过下列公式遍历data_target、data_source得到协方差矩阵W:T

W=W+data_source(:,j)*data_target(:,j)其中,data_source(:,j)表示data_source中第j个交点,data_target(:,j)表示data_target中第j个交点;

(44)通过对W使用SVD分解方法,得到[U,S,V],从而根据下列公式求得旋转矩阵Rf和平移向量Tf:T

Rf=U*V

Tf=source_mean‑Rf*target_mean

(45)根据旋转矩阵Rf和平移向量Tf,使用下列公式得到配准之后target:target=parameter*Rf+Tf

其中,parameter为未配准之前直线段集,target为配准之后的直线段集。

6.根据权利要求5所述的基于矢量地图的室内建图方法,其特征在于,所述步骤(5)包括:(51)得到配准之后直线集合target和参考直线集合source,定义idx1为参考直线集合source直线索引,idx1初值为1,定义idx2为配准后的直线集合target直线索引,idx2初值为1;

(52)寻找并判断直线是否属于同一墙面,是则存入I,否则idx1=idx1+1,并重新判断source中第idx1条与target中第idx2条直线,直到idx1>size(source,2);

(53)当参考直线段集合source中所有直线段与配准后直线段集合target中第idx2条直线进行比较也就是完成一次步骤(52)循环后,则将同一墙面直线索引I存入元胞数组I1,并且配准后的直线集合target直线索引idx2加1,即:idx2=idx2+1,idx1=1,再次跳转到步骤(52),得到所有直线集合后融合直线。