手持式激光扫描仪数据传输系统
技术领域
本发明涉及手持式激光扫描仪数据传输系统,属于室内测量技术领域。
背景技术
激光三维扫描技术利用激光测距的原理,记录被测物表面大量密集点的三维坐标,可快速复建出被测物的三维模型等数据。常规激光三维扫描技术通常使用两维电机进行扫描,得到物体的三维信息。但此类设备本身体积功耗较大,对扫描电机精度要求较高,不便于作为手持设备使用。
陀螺仪作为一种运动敏感器件,在航空航天、导航、汽车、无人机、穿戴设备和手机等方面广泛应用。通过陀螺仪能够获得被测物的三轴角度、三轴角速度和三轴加速度,加上时间即可得到位置坐标。
将陀螺仪应用到激光三维扫描中,产生了各种手持式的三维扫描设备,手持三维扫描设备原理上仅需要一维扫描即可,通过陀螺仪输出位置数据,对应每次扫描的坐标原点,合成拼接为三维点云。因此,每次扫描的坐标数据需要和陀螺仪的位置数据严格对应,才可保证拼接的准确性,尤其是在高速扫描和快速运动的状态下。
发明内容
本发明提供了一种手持式激光扫描仪的数据传输系统,使用该模块可以解决手持式激光扫描仪中,陀螺仪输出位置数据和扫描模块输出的测量数据不匹配和数据帧缺失的问题。将完全独立的两个功能模块,按照数据产生的时间,进行排列分组,一一对应以后按顺序发出,完全避免了扫描数据和位置数据不对应的问题,提高点云拼接的准确性和测量精度。
本发明的技术方案包括一种手持式激光扫描仪数据传输系统,该数据传输系统由扫描模块1、陀螺仪模块2、数据处理模块3和无线收发模块4组成,扫描模块1、陀螺仪模块2分别和数据处理模块3连接,数据处理模块3连接无线收发模块4,数据处理模块3中包括第一处理芯片31、第二处理芯片32、缓存芯片33和第三处理芯片34。
而且,扫描模块1控制输入端与第一处理芯片31控制输出端连接,扫描模块1数据输出端与第一处理芯片31数据输入端连接;陀螺仪模块2控制输入端与第二处理芯片32控制输出端连接,陀螺仪模块2数据输出端与第二处理芯片32数据输入端连接;第一处理芯片31和第二处理芯片32的数据输出端与缓存芯片33的数据输入端连接;缓存芯片33的数据输出端与第三处理芯片34的数据输入端连接;第三处理芯片34两个通信端口分别连接第一处理芯片31的通信端口和第二处理芯片32的通信端口;第三处理芯片34的数据输出端连接无线收发模块4的数据输入端;第三处理芯片34的数据输入端连接无线收发模块4的数据输出端。
而且,扫描模块1和陀螺仪模块2产生的数据分别由第一处理芯片31和第二处理芯片32同时读取,并按时间顺序存入缓存芯片33中;第三处理芯片34从缓存芯片33中,按时间顺序一一对应取出陀螺仪数据和扫描模块数据,通过无线收发模块4发送。
而且,用户端发出的控制命令由无线收发模块4接收后,发送给第三处理芯片34,再由第三处理芯片34根据控制命令内容判断发送给第一处理芯片31或第二处理芯片32,最终将控制命令发送给扫描模块1或陀螺仪模块2。
本发明专利的优点与效果:
采用多个处理芯片的方式,实现多个功能模块并行工作;对各个模块产生的数据分别进行分类存储,再整理后打包传输,解决了手持式激光扫描仪中的位置数据与扫描数据准确对应的问题和快速测量过程中的数据帧缺失问题,提高点云拼接的准确性和测量精度。
附图说明
图1为本发明实施例手持式激光扫描仪数据传输系统功能结构示意图。
其中,1扫描模块,2陀螺仪模块,3数据处理模块,4无线收发模块,31第一处理芯片,32第二处理芯片,33缓存芯片,34第三处理芯片。
具体实施方式
以下结合附图和实施例详细说明本发明技术方案。
本发明提供的一种用于手持式激光扫描仪的数据传输系统,由扫描模块、陀螺仪模块,数据处理模块和无线收发模块组成,扫描模块、陀螺仪模块分别和数据处理模块连接,数据处理模块连接无线收发模块。
所述数据处理模块中包含第一处理芯片、第二处理芯片、缓存芯片和第三处理芯片。
所述手持式激光扫描仪数据传输系统中,扫描模块控制输入端与第一处理芯片控制输出端连接,扫描模块数据输出端与第一处理芯片数据输入端连接;陀螺仪模块控制输入端与第二处理芯片控制输出端连接,陀螺仪模块数据输出端与第二处理芯片数据输入端连接;第一处理芯片和第二处理芯片的数据输出端与缓存芯片的数据输入端连接;缓存芯片的数据输出端与第三处理芯片的数据输入端连接;第三处理芯片两个通信端口分别连接第一处理芯片的通信端口和第二处理芯片的通信端口;第三处理芯片的数据输出端连接无线收发模块的数据输入端;第三处理芯片的数据输入端连接无线收发模块的数据输出端。
所述手持式激光扫描仪数据传输系统中,扫描模块和陀螺仪模块产生的数据分别由第一处理芯片和第二处理芯片同时读取,并按时间顺序存入缓存芯片中;第三处理芯片从缓存芯片中,按时间顺序一一对应取出陀螺仪数据和扫描模块数据,通过无线收发模块发送;用户端发出的控制命令由无线收发模块接收后,发送给第三处理芯片,再由第三处理芯片根据控制命令内容判断发送给第一处理芯片或第二处理芯片,最终将控制命令发送给扫描模块或陀螺仪模块。
如图1所示,本实施例的手持式激光扫描仪数据传输系统,由扫描模块1、陀螺仪模块2,数据处理模块3和无线收发模块4组成。其分别的建议型号为扫描模块1可采用近红外水平扫描激光雷达,陀螺仪模块可采用MPU6000系列等三轴陀螺仪并整合加速度计,数据处理模块3可采用AVR、STM32等单片机,无线收发模块4可采用高通、MTK或TI等厂商生产的无线收发模块。
所述数据处理模块3中包含第一处理芯片31、第二处理芯片32、缓存芯片33和第三处理芯片34。各处理芯片可采用AVR、STM32等单片机芯片,可采用相同芯片实现不同功能,性能要求相对较低,缓存芯片可采用IIC EEPROM或SPI NorFlash等方式的外部存储芯片。
所述手持式激光扫描仪数据传输系统中,扫描模块1控制输入端与第一处理芯片31控制输出端连接,扫描模块1数据输出端与第一处理芯片31数据输入端连接;陀螺仪模块2控制输入端与第二处理芯片32控制输出端连接,陀螺仪模块2数据输出端与第二处理芯片32数据输入端连接;第一处理芯片31和第二处理芯片32的数据输出端与缓存芯片33的数据输入端连接;缓存芯片33的数据输出端与第三处理芯片34的数据输入端连接;第三处理芯片34两个通信端口分别连接第一处理芯片31的通信端口和第二处理芯片32的通信端口;第三处理芯片34的数据输出端连接无线收发模块4的数据输入端;第三处理芯片34的数据输入端连接无线收发模块4的数据输出端。
本发明的工作方式为:
手持式激光扫描仪数据传输系统工作时,扫描模块1和陀螺仪模块2产生的数据分别由第一处理芯片31和第二处理芯片32同时读取,并按时间顺序存入缓存芯片33中;第三处理芯片34从缓存芯片33中,按时间顺序一一对应取出陀螺仪2的数据和扫描模块1的数据,通过无线收发模块4发送;用户端收到数据后,首先根据数据包的编号判断扫描数据包和陀螺仪数据包是否对应,如不对应则说明数据包不是同一时刻的测量结果,丢弃;判断数据包对应后,将扫描数据包中的角度和位置数组提取出来,同时将陀螺仪数据包中的三轴角度、三轴加速度和时间数组提取,构建扫描数据测量时刻的坐标系,并根据前一个陀螺仪数据包的三轴角度、三轴加速度和时间数组,对所构建的坐标系进行偏移和翻转;得到当前扫描数据包中角度和位置数组对应的绝对空间坐标;对于第一组扫描数据包和陀螺仪数据包,则作为基础原点和后续数据包的参考;用户端发出的控制命令由无线收发模块4接收后,发送给第三处理芯片34,再由第三处理芯片34根据控制命令内容判断发送给第一处理芯片31或第二处理芯片32,最终将控制命令发送给扫描模块1或陀螺仪模块2。以启动扫描模块命令为例,当用户端发送“STARTSCAN”时,第三处理芯片34根据预存命令库中的命令字符串进行比对,判断该命令为扫描模块1的启动命令,则发送该命令至扫描模块1中,启动模块开始工作。
使用本发明所提供手持式激光扫描仪数据传输系统,可以支持基于激光点云数据的门窗形状检测与提取,无需传统人工测量设备,只需要体积小、重量轻的手持设备,即可构建复杂场景的函数模型,对场景门窗进行形状检测和参数提取,为进一步提高勘测效率、减轻人力物力的损耗提供了新途径。优选建议的门窗形状检测与提取实现包括以下步骤:
(1)数据准备,对原始的点云数据进行预处理,得到去除粗差的点云数据。
实施例中,去除孤点、离群点和毛刺点:对于点云中一点Pg,如果其与最近点之间的距离远大于点云的平均点间距,则Pg点称为孤点;对于点云中一点Pl,如果按照某一预设距离阈值寻找其邻近点时只能找到k个,而第k+1个最近点与Pl及其前k个最近点之间的距离都远大于距离阈值,则Pl及其k个最近点称为离群点,离群点与孤点的区别是离群点成簇出现,单个离群点即为孤点;对于点云中一点Ps,如果Ps距离其所在位置的点云表面并无孤立现象,但Ps的存在影响其所在局部表面的光滑性,则Ps称为毛刺点(不光顺点)。具体实施时,探测孤点利用加权平均距离去除法,离群点利用格网探测法。
(2)边缘提取,包括对步骤1所得去除粗差的点云数据进行边缘提取,实施例利用Candy算法拟合边缘,然后通过端点检测、交叉点跟踪、闭合边缘跟踪等算法实现边缘的完整性提取。
具体实施时,可以参考现有用于边缘检测的方法,大致可分为两类:基于搜索和基于零交叉。
基于搜索的边缘检测方法首先计算边缘强度,通常用一阶导数表示,例如梯度模,然后,用计算估计边缘的局部方向,通常采用梯度的方向,并利用此方向找到局部梯度模的最大值。
基于零交叉的方法找到由图像得到的二阶导数的零交叉点来定位边缘。通常用拉普拉斯算子或非线性微分方程的零交叉点。
滤波做为边缘检测的预处理通常是必要的,通常采用高斯滤波。
(3)形状判断,根据边缘提取的结果判断该门窗点云标志形状是矩形、圆形、三角形或L形等。
形状的判断是十分关键的一步,只有形状判断正确了,才能使用正确的函数模型来拟合离散的点云数据。
常见的门框(窗框)形状有:矩形,下部分矩形上部分圆弧,下部分矩形上部分三角,L形,因此,本发明设计最高效合理的区分方式,先从中部格网点数量判断是否为L形,然后分割上下左右部分,通过拟合判断上部分形状。
区分门框形状的技术路线如下:
(3.1)首先,将三维点云向垂直于门框平面方向投影至二维,然后将二维点云图划分格网,提取中间位置的内部网格。例如划分为30乘30的网格,认为中心区域的24乘24的区域为内部网格。
(3.2)然后,根据划分格网结果,判断内部的格网的点数是否大于相应阈值,若是,则认为是L形,结束判断,然后用6条直线拟合门窗的6条边,进入步骤(5);若不是,则认为是其他形状,进入(3.3)继续判断。L形门窗的内部的格网的点数大于阈值。其中,阈值的设定可以靠实验最优结果得到:设置阈值的最大和最小值,设置每次实验中阈值的改变量,然后改变阈值重复实验,得到实验结果最优情况下的阈值。即阈值的设定需考虑实际情况。
(3.3)然后,将点云的边缘提取结果分割为上下左右四个部分。
(3.4)用上部分拟合出一条直线,得到拟合的直线与上部分的相关系数,公式如下:
其中,R(X,Y)是相关系数,Y为拟合得到的直线点的值,X值为原始上部分点的值。Cov(X,Y)为X与Y的协方差,Var[X]为X的方差,Var[Y]为Y的方差。
当拟合的相关系数R大于预设的阈值,则认为门窗形状是矩形,结束判断,进入(4);若不是,则认为是别的形状,进行下一步判断。其中,具体实施时阈值的设定可以靠实验最优结果得到。
(3.5)用圆弧去拟合上部分,并用两段直线去拟合上部分,即用上部分拟合出一条圆弧,具体实施时可通过matlab函数实现,得到拟合的圆弧与上部分的相关系数;即用上部分拟合出两段直线(三角形的两边腰线,通常是等腰三角形),得到拟合的两端直线与上部分的相关系数。设分别得到拟合的相关系数R1和R2,相关系数的计算公式见上。比较之,若R1>=R2,表明圆弧形拟合的程度更好,则认为门窗上方是圆弧形,反之则门窗上方是三角形。进入(4)。
基于本发明提出的特定形状拟合方法得到门窗形状,精度在于拟合关系系数的大小判断,若关系系数大,则拟合效果好,则认为是该形状。采用本发明提供的分析过程,通过阈值的合理设定,可以较好的区分上述常见的门窗形状。基于此,该方法是一种新颖且高效的门窗点云形状分类检测方法。
(4)用直线拟合点云边缘的左,右,下部分。具体实施时,可以使用霍夫变换(hough变换)等方式实现直线检测,拟合点云形状并获取形状参数,得到门窗的左右下的拟合结果。
除本步骤外,步骤(3.2)用6条直线拟合门窗的6条边、(3.4)用上部分拟合出一条直线、(3.5)用两段直线去拟合上部分,同样都可以采用hough变换:在原始图像坐标系下的一个点对应了参数坐标系中的一条直线,同样参数坐标系的一条直线对应了原始坐标系下的一个点,然后,原始坐标系下呈现直线的所有点,它们的斜率和截距是相同的,所以它们在参数坐标系下对应于同一个点。这样在将原始坐标系下的各个点投影到参数坐标系下之后,看参数坐标系下有没有聚集点,这样的聚集点就对应了原始坐标系下的直线。
其中,k表示直线斜率,b表示直线截距,(x,y)是直角坐标系下的坐标,(ρ,θ)表示极坐标系下的坐标。
(5)误差控制,首先对拟合数据与点云数据逐点计算拟合误差,然后计算决定系数。为保证方法结果的精准度,计算决定系数R2。R2是决定系数,通过数据的变化来表征一个拟合的好坏。
其中,wi是权重,yi是观测值,是估计值,是观测值的平均值。由上面的表达式可知R2的正常取值范围为[0,1],越接近1,表明这个模型对数据拟合的越好。具体实施时,可以在决定系数大于相应阈值则采用,输出形状参数和类别,否则放弃拟合结果,以进一步保证准确度。
具体实施时,可以通过本发明所提供手持式激光扫描仪数据传输系统,将数据传输到远程服务器或手机客户端,通过软件方式执行以上流程实现对场景门窗进行形状检测和参数提取。
本文中所描述的具体实例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。