主要内容

pcregistercorr

注册两个点云使用相关联

描述

例子

tform= pcregistercorr (移动,固定,gridSize,gridStep)计算刚性变换注册移动的点云,移动固定的点云,固定用相位相关算法。

函数执行登记首先把两个点云的二维网格占用X- - - - - -Y飞机与中心在原点(0,0,0)。每个网格单元的入住率决定使用Z在网格坐标点的值。

(tform,rmse)= pcregistercorr (___)此外返回均方根误差之间的欧几里得距离注册点云。

(___,)= pcregistercorr (___)此外返回相关高峰值两个占用网格之间的相位差。

(___)= pcregistercorr (___,名称=值)指定选项使用一个或多个名称参数除了参数从以前的语法的任意组合。例如,窗口= false设置窗口名称-值参数使用窗口来抑制。

例子

全部折叠

读取数据从一个调速发电机数据包捕获(PCAP)文件到工作区中。

veloReader = velodyneFileReader (“lidarData_ConstructionRoad.pcap”,“HDL32E”);

读一个固定的和一个移动的点云从激光雷达数据的帧。

frameNumber = 1;skipFrame = 5;固定= readFrame (veloReader frameNumber);移动= readFrame (veloReader frameNumber + skipFrame);

发现地面飞机移动和固定的点云。设置最大距离米。

maxDistance = 0.4;referenceVector = (0 0 1);groundMoving = pcfitplane(移动,maxDistance referenceVector);groundFixed = pcfitplane(固定、maxDistance referenceVector);

将点云的地面平面是平行的X- - - - - -Y飞机。

tformMoving = normalRotation (groundMoving referenceVector);tformFixed = normalRotation (groundFixed referenceVector);movingCorrected = pctransform(移动,tformMoving);fixedCorrected = pctransform(固定、tformFixed);

注册移动点云对固定的点云。将占用网格大小设置为100,长100米,每个网格单元的大小为0.5 - 0.5米。

gridSize = 100;gridStep = 0.5;tform = pcregistercorr (movingCorrected fixedCorrected、gridSize gridStep);

变换运动点云估计使用刚性变换。

combinedTform = rigid3d (tform。T * tformMoving。T * tformFixed.T);movingReg = pctransform(移动,combinedTform);

可视化登记。

图次要情节(121)pcshowpair(移动、固定)标题(之前注册的)视图(2)次要情节(122)pcshowpair (movingReg、固定)标题(注册后的)视图(2)

输入参数

全部折叠

移动的点云,指定为一个pointCloud对象。

固定的点云,指定为一个pointCloud对象。

的大小广场占用网格,在世界单位指定为一个标量值。占用网格宽度和高度等于这个值。中心在原点(0,0,0)。

每个网格单元的大小,在世界单位指定为一个标量值。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:zlim = [0 3)设置Z设在低限制0和上限3

Z设在限制计算网格单元的入住率,指定为一个向量的形式zminzmax),zminzmax是数字标量。功能与尺度点Z设在值zminzmax的概率区间[0,1]。值小于zmin分配是一个占用的价值吗0。值大于zmax分配是一个占用的价值吗1

逻辑使用窗口在频域抑制频谱泄漏的影响,指定为一个数字或逻辑0()或1(真正的)。当您设置窗口真正的函数使用一个布莱克曼窗增加登记结果的稳定性。如果入住率的共同特征,将对齐网格是面向沿着边缘,然后设置窗口可以提供优越的登记结果。

输出参数

全部折叠

刚性变换,作为一个返回rigid3d对象。刚性变换注册一个移动的点云到一个固定的点云。的rigid3d对象描述了刚性三维变换。

均方根误差,作为之间的欧几里得距离返回点云对齐。一个低rmse值表示一个更准确的登记。

相关峰值的价值两者之间的相位差占用网格,作为标量值返回。峰值小于0.03表明一个贫穷的登记结果。

提示

  • 相位相关法是最好的用于注册点云转换时可以通过翻译进行描述X- - - - - -Y飞机和一个旋转Z设在。例如,一个地面车辆横向安装激光雷达放在一个平面上移动。

  • 相位相关算法专门沿着期望运动X- - - - - -Y飞机,飞机与地面。如果运动是不完全的X- - - - - -Y飞机,您可以使用normalRotation函数将点云。例如,在车辆的运动,可以减少车辆悬架系统的影响或表面特征如凹坑和减速装置使用normalRotation函数。

  • 增加占用网格的大小增加这个函数的计算要求。你可以控制占用的大小网格通过修改gridSizegridStep参数。

  • 如果你获得可怜的登记和结果相关值小于0.03,试着设置窗口参数

引用

[1]Dimitrievski,马丁,David Van Hamme彼得Veelaert,飞利浦右舵。“鲁棒匹配量距的入住率地图自主车辆。“在学报11日联席会议在计算机视觉,成像和计算机图形学理论和应用程序,626 - 33所示。意大利罗马:SCITEPRESS -科技出版物,2016。

版本历史

介绍了R2020b