CN117289300A - 点云矫正方法、激光雷达及机器人 - Google Patents
点云矫正方法、激光雷达及机器人 Download PDFInfo
- Publication number
- CN117289300A CN117289300A CN202311301739.1A CN202311301739A CN117289300A CN 117289300 A CN117289300 A CN 117289300A CN 202311301739 A CN202311301739 A CN 202311301739A CN 117289300 A CN117289300 A CN 117289300A
- Authority
- CN
- China
- Prior art keywords
- distance
- laser
- point cloud
- point
- correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012937 correction Methods 0.000 title claims abstract description 147
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000005259 measurement Methods 0.000 claims abstract description 52
- 239000000463 material Substances 0.000 claims abstract description 43
- 238000002310 reflectometry Methods 0.000 claims abstract description 29
- 238000009499 grossing Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims description 44
- 238000012886 linear function Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 238000001914 filtration Methods 0.000 claims description 11
- 238000004140 cleaning Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 8
- 101150099612 Esrrb gene Proteins 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 101100119135 Mus musculus Esrrb gene Proteins 0.000 description 4
- 230000032798 delamination Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000010408 sweeping Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 235000004443 Ricinus communis Nutrition 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 239000011325 microbead Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000474 nursing effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013077 target material Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/497—Means for monitoring or calibrating
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Electromagnetism (AREA)
- Optical Radar Systems And Details Thereof (AREA)
Abstract
本申请实施例涉及激光雷达技术领域,公开了一种点云矫正方法、激光雷达及机器人,采用距离矫正模型对点云数据中各个激光点的距离进行校正,得到第一矫正点云。对第一矫正点云进行平滑处理,得到第二矫正点云。在此实施例中,分层次进行点云矫正,首先考虑单个激光点的距离精度,采用距离矫正模型进行距离矫正,能够有效减少单个激光点的距离误差和距离偏差,使得各个激光点的距离准确,激光雷达针对不同反射率的材质和不同角度的倾斜点,均能实现较高的测量精度。然后,从点云整体形态出发,结和附近点云形态,进行平滑处理,使得激光雷达输出的第二矫正点云具有较好的点云形态和点云质量。
Description
技术领域
本申请实施例涉及机器人技术领域,尤其涉及一种点云矫正方法、激光雷达及机器人。
背景技术
随着科技的不断发展,激光雷达广泛应用于机器人、无人驾驶、无人车等领域。激光雷达(Laser Detection and Ranging,LADAR)是以发射激光光束来探测目标的位置、速度等特征量的雷达系统。激光雷达包括发射器和接收器,发射器向目标发射探测信号(激光),接收器接收从目标反射回来的信号(反射光),然后,激光雷达将接收到的信号与发射信号进行比较,作适当处理后,就可获得目标的有关信息,例如目标距离、方位、高度、速度、姿态、甚至形状等参数。
其中,激光雷达采用的测距方法有三角测距法和TOF测距法(Time of Flight,TOF)。TOF测距法通过信号在发射器和接收器之间的往返的飞行时间来测量目标物体到激光雷达的距离。然而,在测距过程中,受物体材质、角度等影响,影响测距精度。此外,TOF测距法对于近距离的测距,其点云所表现为抖动大,误差比率高。
发明内容
有鉴于此,本申请一些实施例提供了一种点云矫正方法、激光雷达及机器人,该方法应用于激光雷达,激光雷达能够针对不同反射率的材质和不同角度的倾斜点,均能实现较高的测量精度,还能平滑改善点云形态,提高输出点云的精度和质量。
第一方面,本申请一些实施例提供了一种点云矫正方法,包括:
获取点云数据;
采用距离矫正模型对点云数据中各个激光点的距离进行校正,得到第一矫正点云;
对第一矫正点云进行平滑处理,得到第二矫正点云。
在一些实施例中,距离矫正模型中的参数由标定数据确定得到,标定数据包括激光雷达对不同距离下的标靶进行测量得到的数据;
标靶包括垂直于激光雷达的垂直标靶和与激光雷达呈倾斜角度的倾斜标靶,和/或,标靶包括至少两种不同反射率的材质。
在一些实施例中,倾斜标靶是由垂直标靶以预设步长调整角度得到的。
在一些实施例中,激光雷达包括感光区域,感光区域包括第一感光区域和第二感光区域,
采用距离矫正模型对点云数据中各个激光点的距离进行校正,得到第一矫正点云,包括:
对于每个激光点,获取距离测量值、第一感光区域的第一亮度值以及第二感光区域的第二亮度值,并根据距离矫正模型中的非线性函数、线性函数,确定距离误差值和距离偏移值;
根据距离测量值、距离误差值和距离偏移值,确定第一矫正距离,得到矫正后的激光点,各个矫正后的激光点构成第一矫正点云。
在一些实施例中,对第一矫正点云进行平滑处理,得到第二矫正点云,包括:
预设长度的滑动窗口在第一矫正点云上滑动,当前激光点位于滑动窗口的中间位置;
若当前激光点的距离小于或等于第一阈值,根据滑动窗口中的激光点,确定当前激光点的第二矫正距离,待滑动窗口在第一矫正点云上滑动完成后,得到第二矫正点云。
在一些实施例中,根据滑动窗口中的激光点,确定当前激光点的第二矫正距离,包括:
获取滑动窗口中待调整的激光点;
将待调整的激光点的距离调整为与其相邻的且最近的激光点的距离;
将调整后的滑动窗口中的激光点的距离进行加权均值滤波处理,得到当前激光点的第二矫正距离。
在一些实施例中,获取滑动窗口中待调整的激光点,包括:
获取滑动窗口中距离最近的两个激光点,若两个激光点的距离差小于或等于第二阈值,则确定两个激光点的平均距离;
对于滑动窗口中的其它激光点,若某一激光点的距离与平均距离的差大于或等于第三阈值,则确定激光点为待调整的激光点。
在一些实施例中,滑动窗口中的激光点对应的权重值,离当前激光点越近权重越大,离当前激光点越远权重越小。
第二方面,本申请一些实施例提供了一种激光雷达,包括:
至少一个处理器;以及,
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面的方法。
第三方面,本申请一些实施例提供了一种机器人,包括如第二方面的激光雷达。
本申请实施例的有益效果:区别于现有技术的情况,本申请实施例提供的点云矫正方法,采用距离矫正模型对点云数据中各个激光点的距离进行校正,得到第一矫正点云。对第一矫正点云进行平滑处理,得到第二矫正点云。在此实施例中,分层次进行点云矫正,首先考虑单个激光点的距离精度,采用距离矫正模型进行距离矫正,能够有效减少单个激光点的距离误差和距离偏差,使得各个激光点的距离准确,激光雷达针对不同反射率的材质和不同角度的倾斜点,均能实现较高的测量精度。然后,从点云整体形态出发,结和附近点云形态,进行平滑处理,使得激光雷达输出的第二矫正点云具有较好的点云形态和点云质量。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请一些实施例中应用点云矫正方法的环境示意图;
图2为本申请一些实施例中激光雷达的测距示意图;
图3为本申请一些实施例中TOF测距法的原理示意图;
图4为本申请一些实施例中点云矫正方法的流程示意图;
图5为本申请一些实施例中点云数据的示意图;
图6为本申请一些实施例中点云数据的示意图;
图7为本申请一些实施例中点云数据的示意图;
图8为本申请一些实施例中点云数据的示意图;
图9为本申请一些实施例中激光雷达的结构示意图;
图10为本申请一些实施例中机器人的结构示意图。
具体实施方式
下面结合具体实施例对本申请进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本申请,但不以任何形式限制本申请。应当指出的是,对本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进。这些都属于本申请的保护范围。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本说明书中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本申请实施例中,机器人可以是能够提供功能服务的移动设备,例如:可以是清洁机器人、宠物机器人、配送机器人、看护机器人、远程监控机器人、扫地机器人等机器人。下面以机器人为清洁机器人,示例性说明本申请中点云矫正方法的应用环境。
请参阅图1,图1是本申请实施例提供的一种点云矫正方法的应用环境示意图。如图1所示,清洁机器人100位于地面上,该地面可以是居住室、办公室或室外等场所的地面。如图1所示,清洁机器人100位于地面上,该地面可以是居住室或办公室等场所的地面。清洁机器人100所在的场所包括书桌、花盆、沙发或柜子等障碍物。
清洁机器人100的自由行走主要依靠建图、定位、导航和避障这几个模块完成。可以理解的是,这些模块由传感器和相应的控制程序实现。
在一些实施例中,该清洁机器人100上安装有激光雷达和可见光摄像头,其中,激光雷达对清洁机器人100所在的周围环境进行扫描,得到激光点云。可见光摄像头对清洁机器人100所在的周围环境进行拍摄,获取图像。激光雷达和可见光摄像头分别与控制器通信连接,将激光点云和图像分别发送给控制器,控制器调用清洁机器人100的存储器内事先预置好的构建语义图像的程序,基于激光点云和图像建立语义地图。其中,构建语义图像的程序可以包括SLAM算法(Simultaneous Localization and Mapping,SLAM)对应的程序,在此不作详细介绍。将语义地图保存在清洁机器人10的存储器中。当清洁机器人移动作业时,控制器调用语义地图作为自主定位、路径规划和避障的依据。
可以理解的是,SLAM算法同时具有定位和导航。在定位过程中,控制激光雷达高速旋转发射激光,测量清洁机器人与障碍物之间的距离,结合语义地图来判断清洁机器人与障碍物之间的相对位置,从而实现定位。在一些实施例中,清洁机器人100可基于可见光摄像头进行视觉定位。在导航过程中,基于定位和清洁目的地进行路径规划,按路径进行导航。
清洁机器人100可基于可见光摄像头采集的图像信息和激光雷达采集的点云数据检测出障碍物。例如,采用事先训练好的目标检测模型或语义分割模型从图像信息中识别出障碍物。例如,基于由点云数据计算出的距离检测出障碍物。当清洁机器人100靠近障碍物至一定程度时,控制清洁机器人改变行驶方向,以躲避障碍物。
清洁机器人100可以被构造成任何合适形状,以便实现特定业务功能操作,例如,在一些实施例中,清洁机器人100可以为基于SLAM系统的移动机器人。其中,清洁机器人100包括且不限于扫地机器人、吸尘机器人、拖地机器人或洗地机器人等。
在一些实施例中,清洁机器人100包括主体和驱动轮部件、传感单元、激光雷达以及控制器。主体的外形可以大体上呈椭圆形、三角形、D形或其他形状。控制器设置于主体,主体是清洁机器人100的主体结构,可以根据清洁机器人100的实际需要,选用相应的形状结构及制造材质(如硬质塑料或者铝、铁等金属),例如设置为扫地机器人常见的较为扁平的圆柱形。
其中,驱动轮部件安装于主体,驱动机器人在待清洁面上移动。在一些实施例中,驱动轮部件包括左驱动轮、右驱动轮及全向轮,左驱动轮和右驱动轮分别安装于主体的相对两侧。全向轮安装于主体的底部的靠前位置,全向轮为活动脚轮,可以水平360度旋转,以使得清洁机器人可以灵活转向。左驱动轮、右驱动轮及全向轮的安装构成三角形,以提高机器人行走的平稳性。
在一些实施例中,传感单元用于采集机器人的一些运动参数及环境空间各类数据,传感单元包括各类合适传感器,诸如陀螺仪、里程计、磁场计、加速度计或速度计等等。
在一些实施例中,该激光雷达设置于清洁机器人100的机身,例如:激光雷达设置于清洁机器人100的机身的移动底盘。激光雷达用于感知移动清洁机器人100周围环境的障碍物情况,获得周围物体的距离,并发送给控制器,以便控制器基于周围物体的距离控制机器人行走。在一些实施例中,激光雷达包括脉冲激光雷达、连续波激光雷达等雷达,移动底盘包括全能型通用底盘、拱腰式移动底盘等机器人移动底盘。
在一些实施例中,控制器设置于主体内部,是内置于机器人主体中的电子计算核心,用于执行逻辑运算步骤以实现机器人的智能化控制。其中,控制器分别与左驱动轮、右驱动轮以及全向轮电连接。控制器作为机器人的控制核心,用于控制机器人行走、后退、避障以及一些业务逻辑处理。
可以理解的是,控制器可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。控制器还可以是任何传统处理器、控制器、微控制器或状态机。控制器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置,或者微控制单元(Microcontroller Unit,MCU)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、系统级芯片(System on Chip,SoC)中的一种或多种组合。
可以理解的是,本申请实施例中清洁机器人10的存储器包括但不限于:FLASH闪存、NAND闪存、垂直NAND闪存(VNAND)、NOR闪存、电阻随机存取存储器(RRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩随机存取存储器(STT-RAM)等设备中的一种或多种。
需要说明的是,根据所要完成的任务,除了以上的功能模组以外,清洁机器人的主体上还可以搭载一个或者多个其它不同的功能模组(如储水箱、清扫装置等),相互配合用以执行相应的任务。
可以理解的是,在清洁机器人所在环境空间中,各个物体的摆放位置相对于清洁机器人呈倾斜角度,即激光与其打在物体上的表面并非垂直,而是存在各种倾斜角度。此外,环境空间中各个物体的材质各异,反射率不同。
激光雷达在正常工作之前,需要对其进行距离标定,标定的目的是使得该激光雷达能够得出较好的距离矫正参数,并在实测中能够利用该距离矫正参数获取较为准确的距离测量值。
在本申请发明人所知晓的一些方案中,通过放置一系列不同距离的标靶,采集各正对于激光雷达(靶面与激光雷达到靶面的连线垂直)标靶附近的数据。然而,对于生活场景中的物体,存在各种角度、距离和不同反射率的情况。
如图2所示,标靶a与标靶b为同一材质,标靶a的A点与标靶b的B点距离相同(即Da与Db相等)。在标定时采用的是激光雷达正对靶材a方式,而实测过程中,距离为Da的可能是A点(垂直正对激光雷达)也可能是B点(相对激光雷达倾斜)。在标定过程中,采用的是多个正对激光雷达的距离D和亮度P,而实测中距离为D的点亮度不一定是P,从而,导致正对激光雷达的点测距精度高,倾斜的点精度有偏差。
此外,请参阅图3,图3为TOF测距法的原理示意图。TOF测距法主要是对目标物体打一束时间极短的激光,通过直接测量激光发射、打到目标物体再返回到发射器的飞行时间,来计算发射器到被测物的距离。采用TOF测距法,激光雷达输出TOF值、跟材质反射率相关的亮度值(Peak值)以及距离。生成的点云数据包括各点的角度、距离和亮度,其中,角度为激光打到目标物体上的位置在极坐标中的角度,距离为激光打到目标物体上的位置至激光雷达的距离。
由TOF测距法的原理可知,基于TOF测距法的激光测距在测量近距物体时,飞行时间较短,导致在近距测量时误差较大。
针对上述问题,本申请一些实施例提供了一种点云矫正方法,采用距离矫正模型对点云数据中各个激光点的距离进行校正,得到第一矫正点云。对第一矫正点云进行平滑处理,得到第二矫正点云。在此实施例中,分层次进行点云矫正,首先考虑单个激光点的距离精度,采用距离矫正模型进行距离矫正,能够有效减少单个激光点的距离误差和距离偏差,使得各个激光点的距离准确,激光雷达针对不同反射率的材质和不同角度的倾斜点,均能实现较高的测量精度。然后,从点云整体形态出发,结和附近点云形态,进行平滑处理,使得激光雷达输出的第二矫正点云具有较好的点云形态和点云质量。
根据上文可以理解,本申请实施例提供的点云矫正方法可以由各种类型具有计算处理能力的电子设备实施,例如由激光雷达实施执行、由机器人的控制器实施执行或由其它具有计算处理能力的设备实施执行等。
下面结合本申请实施例提供的激光雷达的示例性应用和实施,说明本申请实施例提供的点云矫正方法。请参阅图4,图4是本申请实施例提供的点云矫正方法的流程示意图。
可以理解的是,激光雷达安装于机器人,具体地,该点云矫正方法的执行主体为该激光雷达的一个或多个处理器。
如图4所示,该方法可以包括以下步骤:
S10:获取点云数据。
其中,点云数据为激光雷达在工作环境(例如住房)中扫描得到的激光点云。由上述如图3相关的TOF测距法原理可知,激光雷达对周围物体进行激光扫描测距,其处理器基于发射激光信息和回波激光信息,计算激光点(激光打在物体上的点)的极坐标、距离、角度和亮度。激光点的极坐标、距离、角度和亮度的计算是激光雷达的现有计算方式,在此不详细描述。
可以理解的是,基于扫描的连续性,各激光点的距离、角度和亮度构成点云数据。从而,在扫描完成后,激光雷达的处理器通过计算获取到点云数据。点云数据中的点云按照产生时间从小到大的顺序排序。在点云数据中,可以获取每个激光点的极坐标、距离、角度和亮度。其中,距离是激光打在物体上形成的光斑至激光雷达的距离,角度是激光打在物体上形成的光斑在极坐标中的角度,极坐标是激光打在物体上形成的光斑在直角坐标系中的位置坐标。亮度为光斑亮度。
S20:采用距离矫正模型对点云数据中各个激光点的距离进行校正,得到第一矫正点云。
其中,距离矫正模型为基于已知标定数据预先拟合生成的函数模型,用于对距离进行矫正,以弥补激光扫描点处的材质、倾斜角度对测距精度的影响。
示例性地,将点云数据中的每个激光点对应的距离或亮度等信息,输入距离矫正模型,经过一系列的函数计算处理后,得到矫正后的距离。可以理解的是,矫正后的各个激光点构成第一矫正点云。
采用距离矫正模型对各个激光点的距离进行校准,能够有效减少单个激光点的距离误差和距离偏差,使得各个激光点的距离准确,激光雷达针对不同反射率的材质和不同角度的倾斜点,均能实现较高的测量精度。
在一些实施例中,距离矫正模型中的参数由标定数据拟合得到,标定数据包括激光雷达对不同距离下的标靶进行测量得到的数据。
可以理解的是,在已知激光雷达与标靶之间真实距离值的情况下,采用激光雷达测试标靶的距离,从而,得到距离测量值、亮度值等数据。其中,标靶距离激光雷达的距离范围可以为45mm-6000mm。
标定数据包括若干组距离测量值、亮度值和真实距离值,从而,采用标定数据即可建立距离矫正模型。示例性地,可将亮度值作为自变量,真实距离值和距离测量值之间的偏差作为因变量,采用最小二乘法拟合出自变量和因变量之间的关系,从而,得到偏差函数模型。在实际应用中,将距离测量值带入偏差函数模型即可得到对应的偏差,距离测量值减去偏差得到矫正后的距离。也即,距离矫正模型包括该偏差函数模型以及距离测量值减去偏差的函数模型。
在一些实施例中,标靶包括垂直于激光雷达的垂直标靶和与激光雷达呈倾斜角度的倾斜标靶。在标定过程中,对于垂直标靶,靶面与激光雷达到靶面的连线垂直;对于倾斜标靶,靶面与激光雷达到靶面的连线呈小于90°的锐角分布。示例性地,垂直标靶与激光的角度大致为90°,倾斜标靶与激光的角度可以为80°,75°,70°,65°,60°,55°或50°等。
可以理解的是,不同距离下的垂直标靶和倾斜标靶能够模拟激光雷达在实际应用中距离测量值的多种场景。从而,使得距离矫正模型能够有效兼顾垂直测距和倾斜测距的准确性。例如,结和图2,在标定过程中,采用的是多个正对激光雷达的距离D、亮度P和多个倾斜于激光雷达的距离D’、亮度P’,实测中距离为D的点亮度无论是P或P’,在距离矫正模型进行距离矫正后,都具有较高的测距精度。
在一些实施例中,标靶包括至少两种不同反射率的材质。示例性地,标靶包括3种材质,例如典型值在80%漫反射率的白板材质、典型值在40%漫反射率的晶格材质和典型值在4.3%漫反射率的黑板材质。晶格材质表面为钻石级形态,具有较高的反射率。为了描述方便,本申请实施例中将不同反射率的材质统一称为标靶。在一些实施中,可以采用3M材质(3M靶)代替晶格材质(晶格靶),其中,3M材质的表面为微珠形态,具有较高的反射率。3M板为3M公司生产的反光板。
在一种可以实现的方式中,该标靶也可是由白靶、晶格靶、黑靶组合而成。在一种可以实现的方式中,白靶、晶格靶、黑靶组放置在三个不同的水平面,通过电机上下滑动,以使激光雷达采集不同材质标靶在同一距离下的数据,还能高效地利用空间。
可以理解的是,多个反射率材质的标靶能够模拟激光雷达在实际应用中距离测量值的多种场景。标定数据包括不同反射率材质下的数据,从而,使得拟合得到的距离矫正模型能够有效兼顾不同反射率材质测距的准确性。
在一些实施例中,标靶包括垂直于激光雷达的垂直标靶和与激光雷达呈倾斜角度的倾斜标靶。激光雷达对这些垂直标靶和倾斜标靶,在多个已知真实距离下进行测距,垂直标靶和倾斜标靶均包括白靶、晶格靶、黑靶,从而,使得标定数据覆盖不同距离、不同角度、不同反射率材质下的测量数据,使得距离矫正模型能够有效兼顾垂直测距、倾斜测距以及不同反射率材质测距场景下的准确性。
示例性地,多个标靶可以设置在与激光雷达处于不同距离、不同角度的位置。在垂直标定工位,多距离摆放标靶,如45mm,60mm,80mm,100mm,200mm,300mm,400mm,500mm,600mm,700mm,800mm,900mm,1000mm,2000mm,4000mm,6000mm,8000mm,12000mm,每个距离下均摆放黑靶、白靶和晶格靶,为了方便后续数据读取与处理,将同一材质的标靶放置同一水平面。可以理解的是,45mm,60mm,80mm,100mm,200mm,300mm,400mm,500mm,600mm,700mm,800mm,900mm,1000mm,2000mm,4000mm,6000mm,8000mm,12000mm即为三种标靶的真实距离值。
倾斜标定工位可以以垂直标定工位为基础,将垂直标定工位上的垂直标靶以预设步长调整角度,组成多角度的倾斜标靶。示例性地,将近距离的多个垂直标靶,如60mm,80mm,100mm,200mm处的垂直标靶,分别以角度5°或10°为预设步长进行调整,得到多角度的倾斜标靶。可以理解的是,由于垂直距离处附近,标靶到激光雷达的距离相差较小,因此角度步长可适当放大,例如10°,在其它位置的角度步长可为5°。考虑到基于TOF测距法近距测量时误差较大,从而,将近距离(例如60mm,80mm,100mm,200mm处)的垂直标靶进行调整,以形成倾斜标靶。
以60mm处垂直标靶为例进行示例性说明,60mm垂直标靶按角度步长5°依次调整后,得到85°,80°,75°,70°,65°,60°,55°和50°的多角度倾斜标靶。可以理解的是,由垂直距离、标靶其它点到激光雷达、垂直点的距离构成直角三角形,故任意在同一雷达扫描平面的标靶点均可求出理论距离,通过各点的理论距离作为倾斜标靶的真实距离。
激光雷达对不同距离处的垂直标靶和倾斜标靶进行测距,可以得到若干组距离测量值、亮度值和真实距离值。这若干组数据构成标定数据,使得标定数据覆盖不同距离、不同角度、不同反射率材质下的测量数据,使得距离矫正模型能够有效兼顾垂直测距、倾斜测距以及不同反射率材质测距场景下的准确性。
在一些实施例中,激光雷达中TOF芯片输出TOF值、亮度Peak1、亮度Peak2、噪声Noise1和噪声Noise2。从而,每个标靶均可获得TOF值、亮度Peak1和亮度Peak2。在一些实施例中,亮度Peak1是普通通道的Peak与该通道Noise1的差值,亮度Peak2是衰减通道的Peak与该通道Noise2的差值。
在介绍如何建立距离矫正模型前,先基于激光雷达的工作原理介绍TOF值、亮度Peak1、亮度Peak2、噪声Noise1和噪声Noise2等特征。
TOF芯片采用SPAD(Single Photon Avalanche Diode,单光子雪崩二极管)作为DTOF激光雷达传感器的探测单元,一般而言,一颗DTOF芯片会包含若干的SPAD像素阵列,每一SPAD均会接收光信号,通过TDC(Time to Digit Converter,时间控制转换器)转换以及多次发射光脉冲累计形成直方图,将直方图进行平滑滤波,可获取TOF值(飞行时间)、材质反射率相关的亮度Peak值,以及环境噪声的底噪Noise值。可以理解的是,TOF值是计算距离的参数,可以转化为距离测量值。
为了能够将不同反射率大小的材质能够达到较高的精度,可在若干阵列的SPAD芯片划分不同的区域,对于常规的反射率材质(如黑板材质、白板材质)可使用普通区域进行获取数据,而高反材质(如晶格材质)可使用衰减区域获取数据,区域的划分以及相应的数据使用可使不同材质在距离矫正中能够获得更高的精度。由于普通区域占据芯片面的主要感光部分,因此,将TOF值采用芯片的普通区域确定。而亮度Peak值与底噪Noise值各区域均可计算得到,芯片普通区域可计算得到亮度Peak1,底噪Noise1;芯片衰减区域可计算得到亮度Peak2,底噪Noise2。
在一些实施例中,采用如下方式建立距离矫正模型:
将黑靶的(亮度Peak1,TOF-target)和白靶的(亮度Peak1,TOF-target)代入如下公式(1),采用最小二乘法拟合得到Bias_g1函数的参数[x y z]。
Bias_g1=x*Peak12+y*Peak1+z..........(1)
其中,Bias_g1=TOF-target,TOF为距离测量值,target为真实距离值。
将黑靶的(亮度Peak1,TOF-Bias_g1-target)和白靶的(亮度Peak1,TOF-Bias_g1-target)代入如下公式(2),采用最小二乘法拟合得到Err1函数的参数[pq]。
Err1=p*Peak1+q..........(2)
其中,Err1=TOF-Bias_g1-target,TOF为距离测量值,target为真实距离值,Bias_g1=TOF-target。
将晶格靶的(亮度Peak2,TOF-Bias_g1-Err1-target)代入如下公式(3),采用最小二乘法拟合得到Bias_g2函数的参数[i j k]。
Bias_g2=i*Peak22+j*Peak2+k..........(3)
其中,Bias_g2=TOF-Bias_g1-Err1-target,TOF为距离测量值,target为真实距离值,Bias_g1=TOF-target,Err1=TOF-Bias_g1-target。
将黑靶、白靶和晶格靶的(亮度Peak2,TOF-Bias_g1-Err1-Bias_g2-target)代入如下公式(4),采用最小二乘法拟合得到Err2函数的参数[m1 m2]。
Err2=m1*Peak2+m2..........(4)
其中,Err2=TOF-Bias_g1-Err1-Bias_g2-target,TOF为距离测量值,target为真实距离值,Bias_g1=TOF-target,Err1=TOF-Bias_g1-target,Bias_g2=TOF-Bias_g1-Err1-target。
在已知上述4个函数公式中的参数后,在测试过程中,将TOF芯片输出的亮度Peak1和亮度Peak2分别输入上述4个函数公式,得到各个函数对应的偏差值(Bias_g1,Err1,Bias_g2,Err2)。
然后,将TOF芯片输出的TOF值(距离测量值)以及偏差值(Bias_g1,Err1,Bias_g2,Err2)输入下述公式(5),得到距离矫正模型最终输出的矫正后的距离。
矫正距离=TOF-Bias_g1-Err1-Bias_g2-Err2..........(5)
在此实施例中,标定数据覆盖不同距离、不同角度、不同反射率材质下的测量数据(TOF,亮度Peak1,亮度Peak2),使得距离矫正模型能够有效兼顾垂直测距、倾斜测距以及不同反射率材质测距场景下的准确性。此外,距离矫正模型包括上述5个函数公式,分普通区域和衰减区域拟合2种偏差(Err和Bias_g),使得距离矫正模型更加准确。
在一些实施例中,激光雷达包括感光区域,感光区域包括第一感光区域和第二感光区域。其中,感光区域即为上述DTOF芯片,第一感光区域即为上述普通区域(普通通道),第二感光区域即为上述衰减区域(衰减通道)。
前述步骤S20具体包括:
S21:对于每个激光点,获取距离测量值、第一感光区域的第一亮度值以及第二感光区域的第二亮度值,并根据距离矫正模型中的非线性函数、线性函数,确定距离误差值和距离偏移值。
其中,距离测量值即为激光点对应的TOF值,第一亮度值即为上述普通区域对应的亮度Peak1,第二亮度值即为上述衰减区域对应的亮度Peak2。
距离矫正模型包括非线性函数和线性函数。其中,非线性函数用于确定感光区域的亮度值与距离误差值的对应关系,即,该非线性函数的自变量为感光区域的亮度值,因变量为距离误差值。线性函数用于确定感光区域的亮度值与距离偏移值的对应关系,即,该线性函数的自变量为感光区域的亮度值,因变量为距离偏移值。
从而,将第一亮度和/或第二亮度代入非线性函数,计算得到距离误差值。将第一亮度和/或第二亮度代入线性函数,计算得到距离偏移值。
在一些实施例中,非线性函数包括第一非线性函数和第二非线性函数,线性函数包括第一线性函数和第二线性函数。
在一些实施例中,前述步骤S21具体包括:
S211:分别将第一亮度值代入第一非线性函数、第一线性函数,得到第一感光区域对应的距离误差值、距离偏移值。
可以理解的是,第一非线性函数用于确定第一感光区域的第一亮度值与距离误差值1的对应关系,即该第一非线性函数的自变量为第一感光区域的第一亮度值(即亮度Peak1),因变量为距离误差1。在一些实施例中,第一非线性函数为上述Bias_g1函数。
从而,将第一亮度值(即亮度Peak1)代入上述Bias_g1函数后,可以得到第一感光区域对应的距离误差值Bias_g1。
第一线性函数用于确定第一感光区域的第一亮度值与距离偏移值1的对应关系,即,该第一线性函数的自变量为第一感光区域的第一亮度值(即亮度Peak1),因变量为距离偏移1。在一些实施例中,第一线性函数为上述Err1函数。
从而,将第一亮度值(即亮度Peak1)代入上述Err1函数后,可以得到第一感光区域对应的距离偏移值Err1。
S212:分别将第二亮度值代入第二非线性函数、第二线性函数,得到第二感光区域对应的距离误差值、距离偏移值。
可以理解的是,第二非线性函数用于确定第二感光区域的第二亮度值与距离误差值2的对应关系,即该第二非线性函数的自变量为第二感光区域的第二亮度值(即亮度Peak2),因变量为距离误差2。在一些实施例中,第二非线性函数为上述Bias_g2函数。
从而,将第二亮度值(即亮度Peak2)代入上述Bias_g2函数后,可以得到第二感光区域对应的距离误差值Bias_g2。
第二线性函数用于确定第二感光区域的第二亮度值与距离偏移值2的对应关系,即,该第二线性函数的自变量为第二感光区域的第二亮度值(即亮度Peak2),因变量为距离偏移2。在一些实施例中,第二线性函数为上述Err2函数。
从而,将第二亮度值(即亮度Peak2)代入上述Err2函数后,可以得到第二感光区域对应的距离偏移值Err2。
S22:根据距离测量值、距离误差值和距离偏移值,确定第一矫正距离,得到矫正后的激光点,各个矫正后的激光点构成第一矫正点云。
其中,第一矫正距离可以为距离测量值减去距离误差值减去距离偏移值,从而,对距离测量值予以矫正,矫正后的距离即为第一矫正距离。采用该第一矫正距离替换激光点中原来的距离测量值,即可得到矫正后的激光点。
在一些实施例中,前述步骤S22具体包括:根据距离测量值、第一感光区域对应的距离误差值、距离偏移值以及第二感光区域对应的距离误差值、距离偏移值,得到第一矫正距离。
具体的,第一矫正距离=距离测量值-第一感光区域对应的距离误差值(Bias_g1)-第一感光区域对应的距离偏移值(Err1)-第二感光区域对应的距离误差值(Bias_g2)-第二感光区域对应的距离偏移值(Err2)。
可以理解的是,点云数据中的每个激光点均采用步骤S21和步骤S22进行处理,这里是以其中一个激光点为例进行示例性说明。各个矫正后的激光点构成第一矫正点云。
采用距离矫正模型对点云数据中各个激光点进行距离矫正,能够有效减少单个激光点的距离误差和距离偏差,使得各个激光点的距离准确,激光雷达针对不同反射率的材质和不同角度的倾斜点,均能实现较高的测量精度。
S30:对第一矫正点云进行平滑处理,得到第二矫正点云。
其中,平滑处理是指是指对第一矫正点云进行一系列计算操作,以减少数据中的噪声和不规则性,从而获得更加连续和规整的表达形式。平滑处理使得第二矫正点云具有较好的质量和可用性。示例性地,平滑处理包括均值滤波等处理。
在一些实施例中,前述步骤S30具体包括:
S31:预设长度的滑动窗口在第一矫正点云上滑动,当前激光点位于滑动窗口的中间位置。
其中,预设长度为本领域技术人员基于实际情况而设置的经验值,在一些实施例中,预设长度为奇数,例如预设长度为13,从而,使得当前激光点能够准确位于滑动窗口的中间。当前激光点为位于滑动窗口中间位置的激光点。
可以理解的是,该滑动窗口是遍历获取当前激光点附近的点云的虚拟窗口,可以采用长度和位移表征。例如,滑动窗口的预设长度为13,单步位移为1个激光点或单位角分辨率。
S32:若当前激光点的距离小于或等于第一阈值,根据滑动窗口中的激光点,确定当前激光点的第二矫正距离,待滑动窗口在第一矫正点云上滑动完成后,得到第二矫正点云。
其中,第一阈值为用于判断当前激光点是否是近距离激光点的阈值。本领域技术人员可根据激光雷达的实际使用场景确定第一阈值的大小,示例性地,第一阈值可以为1m。
考虑到TOF测距法在测量近距物体时,飞行时间较短,在近距测量时误差较大,在此实施例中,对小于或等于第一阈值的激光点,即近距离的激光点,结合滑动窗口中的激光点,确定第二矫正距离,以进行平滑处理。
对于距离大于第一阈值的激光点,不进行平滑处理。示例性地,如图5所示,滑动窗口中包括13个激光点,这13个激光点中存在距离大于第一阈值(例如1m)的激光点,即7号和8号激光点。7号激光点为当前激光点,其距离大于,说明不是近距离激光点,无需进行平滑处理。
基于滑动窗口在第一矫正点云上滑动,每滑动一个步长,更新一次当前激光点,进行一次平滑处理。待滑动窗口在第一矫正点云上滑动完成后,即遍历完第一矫正点云的激光点后,得到第二矫正点云。
也即,从点云整体形态出发,结和附近点云形态,对第一矫正点云中各个激光点进行平滑处理,使得激光雷达输出的第二矫正点云具有较好的点云形态和点云质量。
在一些实施例中,前述步骤S32具体包括:
S321:获取滑动窗口中待调整的激光点。
其中,待调整的激光点是在确定当前激光点的第二矫正距离时,需要临时调整距离的激光点。可以理解的是,在当前激光点附近的激光点A的距离异常的情况下,若采用激光点A的距离确定当前激光点的第二矫正距离,会使得第二矫正距离偏向激光点A的距离,从而,使得第二矫正距离不准确。因此,本申请实施例中,先获取滑动窗口中待调整的激光点,将这些待调整的激光点的距离进行临时调整后,再结和临时调整后的距离确定当前激光点的第二矫正距离,使得第二矫正距离准确。
示例性地,请参阅图6,滑动窗口中包括13个激光点,平滑处理为均值滤波,即将这13个激光点的平均距离作为当前激光点的第二矫正距离。为方便描述将激光点进行标号,7号激光点为当前激光点,其距离异常,若在计算平均距离前不对7号激光点的距离进行调整,会使得7号激光点受原来异常距离影响,使得第二矫正距离偏大。在此实施例中,这里的7号激光点即为待调整的激光点。
在一些实施例中,前述步骤S321具体包括:
(1)获取滑动窗口中距离最近的两个激光点,若两个激光点的距离差小于或等于第二阈值,则确定两个激光点的平均距离。
(2)对于滑动窗口中的其它激光点,若某一激光点的距离与平均距离的差大于或等于第三阈值,则确定激光点为待调整的激光点。
将滑动窗口中的任意两个激光点进行配对计算距离差,最小的距离差绝对值对应的两个激光点为距离最近的两个激光点。请继续参阅图6,4号和5号激光点为距离最近的两个激光点。
计算4号和5号激光点的距离差,若该距离差小于或等于第二阈值,则计算4号和5号激光点的平均距离。其中,第二阈值是用于判断距离差上限的阈值。
可以理解的是,若距离最近的两个激光点的距离差过大,说明不是同一物体对应的点云,从而,不做平滑处理,以防点云粘结。本领域技术人员可根据实际情况设置第二阈值,例如设置第二阈值为8cm-15cm。
对于滑动窗口中的其它激光点,计算激光点的距离与平均距离的差,然后与第三阈值进行比较,若某一激光点的距离与平均距离的差大于或等于第三阈值,则确定该激光点为待调整的激光点。其中,第三阈值是用于判断激光点的距离与平均距离之间差别的阈值。第三阈值小于第二阈值,本领域技术人员可根据实际情况设置第三阈值。
可以理解的是,若激光点B的距离与平均距离之间的差大于或等于第三阈值,说明激光点B距离异常,与其它激光点分散,则确定其为待调整的激光点。
请继续参阅图6,滑动窗口中7号激光点与平均距离之间的差大于第三阈值,则将7号激光点确定为待调整的激光点。
S322:将待调整的激光点的距离调整为与其相邻的且最近的激光点的距离。
将待调整的激光点的距离分别与其前一个激光点的距离和后一个激光点的距离进行比较,找出与待调整的激光点距离最近的激光点,将待调整的激光点的距离调整为与其相邻的且最近的激光点的距离
如图6所示,与7号激光点相邻且距离最近的激光点为8号激光点,则将7号激光点的距离调整8号激光点的距离。
S323:将调整后的滑动窗口中的激光点的距离进行加权均值滤波处理,得到当前激光点的第二矫正距离。
可以理解的是,调整距离的激光点是在确定当前激光点的第二矫正距离时临时调整。在调整一些距离异常的激光点后,对滑动窗口中的激光点的距离进行加权均值滤波处理,得到当前激光点的第二矫正距离。
如图6所示,将7号激光点的距离调整为8号激光点的距离后,将这13个激光点的距离进行加权均值滤波处理,得到当前激光点(7号激光点)的第二矫正距离。可以理解的是,其它激光点的距离保持不变。滑动窗口向后滑动一步,8号激光点变成当前激光点,采用相同的方式对8号激光点进行平滑处理,直到遍历完第一矫正点云。
在一些实施例中,采用如下方式进行加权均值滤波处理:基于离当前激光点的远近赋予不同的权重,相同距离赋予相同的权重,如6号激光点与8号激光点权重值相同,1号激光点与13号激光点的权重值相同。
在一些实施例中,权重值的大小符合高斯分布,以当前激光点为中心点,离中心点越近权重越大,越远权重越小,权重最大的点为中心点(当前激光点)自身。
具体的计算方式如下:
其中,x为激光点的序号数,当前激光点的序号数为0,以当前激光点为起始点,往后点序号数为正向逐级加1,往前点序号数为负向逐级减1,如当前激光点前一位的序号数为-1,当前激光点的后一点序号数为1,当前激光点后两位的序号数为2。
在此实施例中,首先对滑动窗口中待调整的激光点进行距离调整,能够有效避免异常距离干扰确定当前激光点的第二矫正距离,有益于提高第二矫正距离的准确性。通过设置呈高斯分布的权重值,对滑动窗口中的激光点进行加权均值滤波处理,得到第二矫正距离,基于第二矫正距离是综合当前激光点附近激光点距离的结果,能够使得当前激光点在激光雷达输出的第二矫正点云中平滑过渡,从而,第二矫正点云具有较好的点云形态和点云质量。
在一些实施例中,请参阅图7,滑动窗口中包括13个激光点,存在前后物体分层现象,当前激光点(7号激光点)在分层处。对于此种情况,首先获取距离最近的两个激光点:3号和5号激光点,计算3号和5号激光点的距离差。距离差小于第二阈值,则计算3号和5号激光点的平均距离。找出距离与平均距离的差大于或等于第三阈值的激光点,即8号至13号激光点。将8号激光点的距离调整为7号激光点的距离,9号激光点的距离调整为调整后的8号激光点的距离(即7号激光点的距离),依次类推,依次将13号激光点的距离调整为7号激光点的距离。最后,对调整后的13个激光点进行加权均值滤波,计算得到当前激光点(7号激光点)的第二矫正距离。
在此实施例中,在进行平滑处理时,将分层物体对应的激光点的距离进行调整,调整后再计算第二矫正距离,能够有效防止其它分层物体干扰当前激光点,使得第二矫正距离准确。
在一些实施例中,请参阅图8,滑动窗口中包括13个激光点,存在前后物体分层现象,当前激光点(7号激光点)不在分层处。对于此种情况,首先获取距离最近的两个激光点:6号激光点和8号激光点,计算6号激光点和8号激光点的平均距离。找出距离与平均距离的差大于或等于第三阈值的激光点,即11号、12号、13号激光点。将11号激光点的距离调整为10号激光点的距离,将12号激光点的距离调整为调整后的11号激光点的距离(即11号激光点的距离),将13号激光点的距离调整为调整后的12号激光点的距离(即12激光点的距离)。最后,对调整后的13个激光点进行加权均值滤波,计算得到当前激光点(7号激光点)的第二矫正距离。
在此实施例中,在进行平滑处理时,将分层物体对应的激光点的距离进行调整,调整后再计算第二矫正距离,能够有效防止其它分层物体干扰当前激光点,使得第二矫正距离准确。
综上所述,本申请一些实施例提供的点云矫正方法,采用距离矫正模型对点云数据中各个激光点的距离进行校正,得到第一矫正点云。对第一矫正点云进行平滑处理,得到第二矫正点云。在此实施例中,分层次进行点云矫正,首先考虑单个激光点的距离精度,采用距离矫正模型进行距离矫正,能够有效减少单个激光点的距离误差和距离偏差,使得各个激光点的距离准确,激光雷达针对不同反射率的材质和不同角度的倾斜点,均能实现较高的测量精度。然后,从点云整体形态出发,结和附近点云形态,进行平滑处理,使得激光雷达输出的第二矫正点云具有较好的点云形态和点云质量。
本申请实施例还提供了一种激光雷达,请参阅图9,图9是本申请实施例提供的一种激光雷达的硬件结构示意图。
如图9所示,该激光雷达300包括通信连接的至少一个处理器301和存储器302(图9中以总线连接、一个处理器为例)。
其中,处理器301用于提供计算和控制能力,以控制激光雷达300执行相应任务,例如,控制激光雷达300执行上述任一方法实施例中点云矫正方法。
处理器301可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、硬件芯片或者其任意组合;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(genericarray logic,GAL)或其任意组合。
存储器302作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本申请实施例中点云矫正方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非暂态软件程序、指令以及模块,可以实现上述述任一方法实施例中点云矫正方法,即能够实现图4-图8实现的各个过程,为避免重复,这里不再赘述。
具体地,存储器302可以包括易失性存储器(volatile memory,VM),例如随机存取存储器(random access memory,RAM);存储器302也可以包括非易失性存储器(non-volatile memory,NVM),例如只读存储器(read-only memory,ROM),快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)或其他非暂态固态存储器件;存储器302还可以包括上述种类的存储器的组合。
在本申请实施例中,存储器302还可以包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本申请实施例中,激光雷达300还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,激光雷达300还可以包括其他用于实现设备功能的部件,在此不做赘述。
请再参阅图10,图10是本申请实施例提供的一种机器人的结构示意图。
如图10所示,该机器人400,包括:激光雷达300以及控制器401,其中,激光雷达300通信连接该控制器401,该控制器401用于基于激光雷达300发送的过滤玻璃噪点后的点云数据进行建图或定位等,以使机器人400完成相关业务(例如清洁业务)。
可以理解的是,该激光雷达300为上述实施例中的激光雷达,具有相同的结构和功能,在此不再一一赘述。
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种点云矫正方法,其特征在于,包括:
获取点云数据;
采用距离矫正模型对所述点云数据中各个激光点的距离进行校正,得到第一矫正点云;
对所述第一矫正点云进行平滑处理,得到第二矫正点云。
2.根据权利要求1所述的方法,其特征在于,所述距离矫正模型中的参数由标定数据确定得到,所述标定数据包括激光雷达对不同距离下的标靶进行测量得到的数据;
所述标靶包括垂直于所述激光雷达的垂直标靶和与所述激光雷达呈倾斜角度的倾斜标靶,和/或,所述标靶包括至少两种不同反射率的材质。
3.根据权利要求2所述的方法,其特征在于,所述倾斜标靶是由所述垂直标靶以预设步长调整角度得到的。
4.根据权利要求2所述的方法,其特征在于,所述激光雷达包括感光区域,所述感光区域包括第一感光区域和第二感光区域,
所述采用距离矫正模型对所述点云数据中各个激光点的距离进行校正,得到第一矫正点云,包括:
对于每个激光点,获取距离测量值、第一感光区域的第一亮度值以及第二感光区域的第二亮度值,并根据所述距离矫正模型中的非线性函数、线性函数,确定距离误差值和距离偏移值;
根据所述距离测量值、距离误差值和距离偏移值,确定第一矫正距离,得到矫正后的激光点,各个矫正后的激光点构成所述第一矫正点云。
5.根据权利要求1所述的方法,其特征在于,所述对所述第一矫正点云进行平滑处理,得到第二矫正点云,包括:
预设长度的滑动窗口在所述第一矫正点云上滑动,当前激光点位于所述滑动窗口的中间位置;
若当前激光点的距离小于或等于第一阈值,根据所述滑动窗口中的激光点,确定所述当前激光点的第二矫正距离,待所述滑动窗口在所述第一矫正点云上滑动完成后,得到所述第二矫正点云。
6.根据权利要求5所述的方法,其特征在于,所述根据所述滑动窗口中的激光点,确定所述当前激光点的第二矫正距离,包括:
获取所述滑动窗口中待调整的激光点;
将所述待调整的激光点的距离调整为与其相邻的且最近的激光点的距离;
将调整后的所述滑动窗口中的激光点的距离进行加权均值滤波处理,得到所述当前激光点的第二矫正距离。
7.根据权利要求6所述的方法,其特征在于,所述获取所述滑动窗口中待调整的激光点,包括:
获取所述滑动窗口中距离最近的两个激光点,若所述两个激光点的距离差小于或等于第二阈值,则确定所述两个激光点的平均距离;
对于所述滑动窗口中的其它激光点,若某一激光点的距离与所述平均距离的差大于或等于第三阈值,则确定所述激光点为待调整的激光点。
8.根据权利要求6所述的方法,其特征在于,所述所述滑动窗口中的激光点对应的权重值,离所述当前激光点越近权重越大,离所述当前激光点越远权重越小。
9.一种激光雷达,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8任一项所述的方法。
10.一种机器人,其特征在于,包括如权利要求9所述的激光雷达。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311301739.1A CN117289300A (zh) | 2023-10-08 | 2023-10-08 | 点云矫正方法、激光雷达及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311301739.1A CN117289300A (zh) | 2023-10-08 | 2023-10-08 | 点云矫正方法、激光雷达及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117289300A true CN117289300A (zh) | 2023-12-26 |
Family
ID=89238793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311301739.1A Pending CN117289300A (zh) | 2023-10-08 | 2023-10-08 | 点云矫正方法、激光雷达及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117289300A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117970350A (zh) * | 2024-03-29 | 2024-05-03 | 深圳市欢创科技股份有限公司 | 测距方法、激光雷达、测距系统、机器人及存储介质 |
-
2023
- 2023-10-08 CN CN202311301739.1A patent/CN117289300A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117970350A (zh) * | 2024-03-29 | 2024-05-03 | 深圳市欢创科技股份有限公司 | 测距方法、激光雷达、测距系统、机器人及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11602850B2 (en) | Method for identifying moving object in three-dimensional space and robot for implementing same | |
US6728608B2 (en) | System and method for the creation of a terrain density model | |
CN111337018B (zh) | 定位方法及装置、智能机器人及计算机可读存储介质 | |
WO2021016854A1 (zh) | 一种标定方法、设备、可移动平台及存储介质 | |
CN112051844B (zh) | 自移动机器人及其控制方法 | |
CN117289300A (zh) | 点云矫正方法、激光雷达及机器人 | |
CN115656984A (zh) | Tof点云的处理方法、点云优化方法、激光雷达及机器人 | |
CN112833890B (zh) | 地图构建方法、装置、设备、机器人及存储介质 | |
WO2022027611A1 (zh) | 移动机器人的定位方法、构建地图的方法及移动机器人 | |
CN114371483B (zh) | 激光雷达的测距方法、装置、激光雷达及机器人 | |
CN108873014A (zh) | 一种基于激光雷达的镜面检测方法及装置 | |
CN117169848A (zh) | 过滤玻璃噪点的方法、激光雷达及机器人 | |
CN116299512B (zh) | 测距方法、激光雷达及测距系统 | |
CN114355321A (zh) | 激光雷达的标定方法、装置、系统、激光雷达及机器人 | |
WO2022068818A1 (en) | Apparatus and method for calibrating three-dimensional scanner and refining point cloud data | |
CN115032618B (zh) | 应用于激光雷达的盲区修复方法、装置及激光雷达 | |
CN112731337B (zh) | 地图构建方法、装置和设备 | |
Shvets et al. | Occupancy grid mapping with the use of a forward sonar model by gradient descent | |
CN116465393A (zh) | 基于面阵激光传感器的同步定位和建图方法及装置 | |
WO2022160879A1 (zh) | 一种转换参数的确定方法和装置 | |
CN113607154B (zh) | 一种室内机器人二维自主定位方法、系统、设备及介质 | |
CN114777761A (zh) | 清洁机及地图构建方法 | |
CN112344966B (zh) | 一种定位失效检测方法、装置、存储介质及电子设备 | |
US20210149412A1 (en) | Position estimating apparatus, method for determining position of movable apparatus, and non-transitory computer readable medium | |
CN117970350B (zh) | 测距方法、激光雷达、测距系统、机器人及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000, Floor 1801, Block C, Minzhi Stock Commercial Center, North Station Community, Minzhi Street, Longhua District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Huanchuang Technology Co.,Ltd. Address before: 518000, Floor 1801, Block C, Minzhi Stock Commercial Center, North Station Community, Minzhi Street, Longhua District, Shenzhen City, Guangdong Province Applicant before: SHENZHEN CAMSENSE TECHNOLOGIES Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |