掌桥专利:专业的专利平台
掌桥专利
首页

TOF点云的处理方法、点云优化方法、激光雷达及机器人

文献发布时间:2023-06-19 18:27:32


TOF点云的处理方法、点云优化方法、激光雷达及机器人

技术领域

本申请实施例涉及激光雷达技术领域,尤其涉及一种TOF点云的处理方法、点云优化方法、激光雷达及机器人。

背景技术

随着科技的不断发展,激光雷达广泛应用于机器人、无人驾驶、无人车等领域。激光雷达(Laser Detection and Ranging,LADAR)是以发射激光光束来探测目标的位置、速度等特征量的雷达系统。激光雷达包括发射器和接收器,发射器向目标发射探测信号(激光),接收器接收从目标反射回来的信号(反射光),然后,激光雷达将接收到的信号与发射信号进行比较,作适当处理后,就可获得目标的有关信息,例如目标距离、方位、高度、速度、姿态、甚至形状等参数。

其中,激光雷达采用的测距方法有三角测距法和TOF法(Time of Flight,TOF)。这两种方法在不同的距离下有各自的精度和不足。

发明内容

本申请实施例主要解决的技术问题是提供一种TOF点云的处理方法、点云优化方法、激光雷达及机器人,能够使得TOF点云更加精准,使得优化后的点云能够在不同的距离下均有较高的精度。

第一方面,本申请实施例中提供了一种TOF点云的处理方法,包括:

获取TOF原始点云,TOF原始点云是激光雷达的第一接收器基于TOF 测距法采集到的点云数据,TOF原始点云包括每个激光点的测量距离;

获取激光雷达的实时温度;

根据实时温度,对TOF原始点云中各激光点进行距离补偿,得到TOF 补偿点云。

在一些实施例中,前述根据实时温度,对TOF原始点云中各激光点进行距离补偿,得到TOF补偿点云,包括:

对于TOF原始点云中的每个激光点,采用预设补偿模型计算每个激光点的补偿距离,其中,预设补偿模型是关于实时温度和预设基准温度的函数;

将每个激光点的补偿距离添加至其测量距离,得到TOF补偿点云。

在一些实施例中,该方法还包括:

对TOF补偿点云进行距离修正,得到TOF修正点云;

前述对TOF补偿点云进行距离修正,得到TOF修正点云,包括:

对于TOF补偿点云中的每个激光点,采用预设修正模型计算每个激光点的修正后的距离,得到该TOF修正点云,其中,预设修正模型是关于距离和亮度的函数。

在一些实施例中,该方法还包括:

对TOF修正点云进行平滑处理;

前述对TOF修正点云进行平滑处理,包括:

将TOF修正点云中每个激光点作为起始点,将角度连续的m个激光点作为一个平滑单元,得到多个平滑单元,其中,m是大于或等于5的整数;

对每个平滑单元中的激光点,根据激光点附近的多个激光点的坐标,进行坐标平滑处理,得到平滑处理后的坐标。

第二方面,本申请实施例中提供了一种点云优化方法,包括:

获取第一点云和第二点云,第一点云是采用如第一方面中TOF点云的处理方法处理得到的点云,第二点云是激光雷达的第二接收器基于三角测距法采集到的点云数据;

从第一点云中和第二点云中分别获取每一角度上的第一激光点和第二激光点,根据第一激光点的距离和第二激光点的距离,确定每一角度上的第三激光点的距离,得到优化后的点云。

在一些实施例中,前述根据第一激光点的距离和第二激光点的距离,确定每一角度上的第三激光点的距离,包括:

若第一激光点的距离小于或等于第一阈值,确定第三激光点的距离为第二激光点的距离;

若第一激光点的距离大于第一阈值且小于或等于第二阈值,确定第三激光点的距离为第一激光点的距离和第二激光点的距离的融合结果;

若第一激光点的距离大于第二阈值,确定第三激光点的距离为第一激光点的距离。

在一些实施例中,该方法还包括:

若第一激光点的距离小于或等于第三阈值,且第二激光点无显示,则确定第三激光点的距离为第一激光点的距离,其中,第三阈值小于第一阈值。

在一些实施例中,前述确定第三激光点的距离为第一激光点的距离和第二激光点的距离的融合结果,包括:

采用以下公式计算第三激光点的距离;

dis=α*d

其中,

Ratio=(d

其中,dis为第三激光点的距离,d

第三方面,本申请实施例中提供了一种激光雷达,包括:

至少一个处理器,以及

与至少一个处理器通信连接的存储器,其中,

存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面的方法或第二方面的方法。

第四方面,本申请实施例中提供了一种机器人,包括如第三方面的激光雷达。

本申请实施例的有益效果:区别于现有技术的情况,本申请实施例提供的TOF点云的处理方法,通过获取TOF原始点云(TOF原始点云是激光雷达的第一接收器基于TOF测距法采集到的点云数据),获取激光雷达的实时温度。然后,根据实时温度,对TOF原始点云中各激光点进行距离补偿,得到TOF补偿点云。通过此方式,能够有效减少因温度对测量距离带来的温漂影响,使得TOF补偿点云更加准确。

本申请实施例提供的点云优化方法,通过获取第一点云和第二点云 (第一点云是上述TOF补偿点云,第二点云是激光雷达的第二接收器基于三角测距法采集到的点云数据),从第一点云和第二点云中分别获取每一角度上的第一激光点和第二激光点,根据第一激光点的距离和第二激光点的距离,确定每一角度上的第三激光点的距离,得到优化后的点云。通过此方式使得优化后的点云是基于TOF补偿点云(第一点云)和三角测距法点云(第二点云)综合得到的,能够利用TOF测距法和三角点云测距法的优点,避免两者的缺点,从而,优化后的点云中第三激光点在各个距离下都比较准确,能够在不同的距离下均有较高的精度,有利于测距或建图的准确性。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1为本申请一些实施例中TOF点云的处理方法或点云优化方法的应用环境示意图;

图2为本申请一些实施例提供的激光雷测距法的原理示意图;

图3为本申请一些实施例中TOF点云的处理方法的流程示意图;

图4为本申请一些实施例中点云优化方法的流程示意图;

图5为本申请一些实施例提供的激光雷达的结构示意图;

图6为本申请一些实施例提供的机器人的结构示意图。

具体实施方式

下面结合具体实施例对本申请进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本申请,但不以任何形式限制本申请。应当指出的是,对本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进。这些都属于本申请的保护范围。

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。

除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本说明书中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

请参阅图1,图1是本申请实施例提供的一种TOF点云的处理方法或点云优化方法的应用环境示意图。如图1所示,机器人10位于地面上,该地面可以是居住室或办公室等场所的地面。机器人所在的场所包括书桌、花盆、沙发等目标物体。

该机器人上安装有激光雷达11,该激光雷达11对空间中的目标物体进行扫描,得到点云数据,基于点云数据计算得到目标物体至激光雷达的距离。可以理解的是,由于激光雷达受环境因素影响,会使得精度较差,例如激光雷达的精度会受温度影响;由于激光雷达受测距方法影响,在不同的距离下精度不同,例如在一些距离下精度不足。因此,激光雷达还对点云数据进行处理或优化,基于处理后的点云数据或优化后的点云数据计算得到准确的距离。通过测量目标物体的距离,能够引导机器人移动和避障。

其中,机器人10可以被构造成任何合适形状,以便实现特定业务功能操作,例如,在一些实施例中,机器人10可以为基于SLAM系统的移动机器人,例如:可以是清洁机器人、宠物机器人、搬运机器人、看护机器人、远程监控机器人、扫地机器人等机器人。其中,清洁机器人包括且不限于扫地机器人、吸尘机器人、拖地机器人或洗地机器人等。

在一些实施例中,机器人包括主体和驱动轮部件、摄像单元、传感单元、激光雷达以及控制器。主体的外形可以大体上呈椭圆形、三角形、 D形或其他形状。控制器设置于主体,主体是机器人的主体结构,可以根据机器人10的实际需要,选用相应的形状结构及制造材质(如硬质塑料或者铝、铁等金属),例如设置为扫地机器人常见的较为扁平的圆柱形。

其中,驱动轮部件安装于主体,用于驱动机器人移动,若机器人为清洁机器人,则驱动轮部件驱动机器人在待清洁面上移动。在一些实施例中,驱动轮部件包括左驱动轮、右驱动轮及全向轮,左驱动轮和右驱动轮分别安装于主体的相对两侧。全向轮安装于主体的底部的靠前位置,全向轮为活动脚轮,可以水平360度旋转,以使得机器人可以灵活转向。左驱动轮、右驱动轮及全向轮的安装构成三角形,以提高机器人行走的平稳性。

在一些实施例中,摄像单元设置于机器人的机身,用于获取图像数据和/或视频数据。其中,摄像单元通信连接控制器,用于获取摄像单元的覆盖范围内的图像数据和/或视频数据,例如:获取某一场所内的图像数据和/或视频数据,并将获取到的图像数据和/或视频数据发送到控制器。在本申请实施例中,摄像单元包括但不限于红外摄像头、夜视摄像头、网络摄像头、数字摄像头、高清摄像头、4K摄像头、8K高清摄像头等摄像装置。

在一些实施例中,传感单元用于采集机器人的一些运动参数及环境空间各类数据,传感单元包括各类合适传感器,诸如陀螺仪、红外传感器、里程计、磁场计、加速度计或速度计等等。

在一些实施例中,激光雷达11通信连接控制器,该激光雷达11设置于机器人10的机身,例如:激光雷达11设置于机器人10的机身的移动底盘。激光雷达11用于感知移动机器人10周围环境的障碍物情况,获得周围物体的距离,并发送给控制器,以便控制器基于周围物体的距离控制机器人行走。在一些实施例中,激光雷达11包括脉冲激光雷达、连续波激光雷达等雷达,移动底盘包括全能型通用底盘、拱腰式移动底盘等机器人移动底盘。

在一些实施例中,控制器设置于主体内部,是内置于机器人主体中的电子计算核心,用于执行逻辑运算步骤以实现机器人的智能化控制。其中,控制器分别与左驱动轮、右驱动轮以及全向轮电连接。控制器作为机器人的控制核心,用于控制机器人行走、后退以及一些业务逻辑处理。例如:控制器用于接收摄像单元发送的图像数据和/或视频数据,并接收激光雷达发送的激光点云数据,并根据激光点云数据,构建环境地图。其中,控制器通过同步定位与建图技术(Simultaneous Localization and Mapping,SLAM),即激光SLAM算法对监控区域的激光点云数据进行运算,以构建环境地图。在本申请实施例中,激光SLAM 算法包括卡尔曼滤波、粒子滤波、图优化方法。

可以理解的是,控制器可以为通用处理器、数字信号处理器(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) 等设备中的一种或多种。

需要说明的是,根据所要完成的任务,除了以上的功能模组以外,机器人的主体上还可以搭载一个或者多个其它不同的功能模组(如储水箱、清扫装置等),相互配合用以执行相应的任务。

为便于对本申请实施例提供的方法进行理解,这里对本申请实施例中涉及的相关技术进行介绍:

激光雷达包括发射器、接收器、处理器和旋转机构。其中,发射器是一种发射激光的装置,例如可以是气体激光器、固体激光器、半导体激光器或自由电子激光器等。接收器是一种接收激光的装置,例如可以是感光耦合组件(Charge coupled Device,CCD)。

处理器主要负责控制发射器发射激光,以及对接收器接收到的激光信号进行处理,计算出目标物体的距离信息。处理器可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器 (DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

旋转机构是激光雷达安装骨架,用于进行方向调节。在一些实施例中,旋转机构可以包括由皮带带动旋转的旋转基座。发射器、接收器和处理器设置于旋转机构上,旋转机构以稳定的转速旋转,从而,激光雷达能够对周围环境进行扫描,并产生实时的点云信息。

激光雷达采用的测距方法有三角测距法和TOF法(Time of Flight,TOF)。请参阅图2,图2中的(a)为三角测距法的原理示意图。三角测距法主要是通过发射器发射一束激光,激光以一定的入射角度照射目标物体,激光在目标物体表面发生反射和散射,在另一角度利用透镜对反射激光汇聚成像,光斑成像在接收器上。由于发射器和接收器间隔了一段距离s,依照光学路径,不同距离的目标物体将会成像在接收器上不同的位置。如图2中的(a)所示,s为发射器和接收器的焦点之间的距离(即基准线),d为发射器到目标物体之间的距离,α为航向角, p为目标物体到基准线的垂直距离,f为焦距。焦点平行于激光方向的虚线与接收器相交的端点A位置已知,激光反射后成像在接收器上的成像点B中心离该端点A的距离为x。作几何相似三角形可知,目标物体的距离p=f*s/x。

采用三角测距法,激光雷达生成的点云数据包括各点的角度、距离和亮度等。其中,角度为激光打到目标物体上形成的光斑在极坐标中的角度,距离为激光打到目标物体上形成的光斑至激光雷达的距离,亮度为光斑亮度。

请参阅图2,图2中的(b)为TOF法的原理示意图。TOF法主要是对目标物体打一束时间极短的激光,通过直接测量激光发射、打到目标物体再返回到发射器的飞行时间,来计算发射器到被测物的距离。采用TOF 法,激光雷达生成的点云数据包括各点的角度、距离,其中,角度为激光打到目标物体上的位置在极坐标中的角度,距离为激光打到目标物体上的位置至激光雷达的距离。

在一些应用场景中,基于TOF测距法的激光测距,激光雷达容易受到温度、震动等外界环境的影响,使得TOF点云误差较大,精确度低。此外,由TOF测距法的原理可知,基于TOF测距法的激光测距在测量近距物体时,飞行时间较短,导致在近距测量时误差较大。

在一些应用场景中,由三角测距法的原理可知,基于三角测距法的激光测距,光斑在接收器上的位置会因距离越大而变化越小,导致超过某个距离后,接收器无法分辨光斑位置是否变化,即激光反射后成像在接收器上的成像点B中心离端点A的距离x变化较小,使得目标物体的距离p的误差较大。

由上可知,不同的测距方法,在不同的距离下有各自的不足和误差,精度较差。

针对上述问题,本申请实施例提供了一种TOF点云的处理方法、点云优化方法及激光雷达,能够使得TOF点云更加精准,使得优化后的点云能够在不同的距离下均有较高的精度。

其中,该TOF点云的处理方法通过获取TOF原始点云(TOF原始点云是激光雷达的第一接收器基于TOF测距法采集到的点云数据),获取激光雷达的实时温度。然后,根据实时温度,对TOF原始点云中各激光点进行距离补偿,得到TOF补偿点云。通过此方式,能够有效减少因温度对测量距离带来的温漂影响,使得TOF补偿点云更加准确。

其中,该点云优化方法通过获取第一点云和第二点云(第一点云是上述TOF补偿点云,第二点云是激光雷达的第二接收器基于三角测距法采集到的点云数据),从第一点云和第二点云中分别获取每一角度上的第一激光点和第二激光点,根据第一激光点的距离和第二激光点的距离,确定每一角度上的第三激光点的距离,得到优化后的点云。通过此方式使得优化后的点云是基于TOF补偿点云(第一点云)和三角测距法点云 (第二点云)综合得到的,能够利用TOF测距法和三角点云测距法的优点,避免两者的缺点,从而,优化后的点云中第三激光点在各个距离下都比较准确,能够在不同的距离下均有较高的精度,有利于测距或建图的准确性。

根据上文可以理解,本申请实施例提供的TOF点云的处理方法可以由各种类型具有计算处理能力的电子设备实施,例如由激光雷达实施执行、由机器人的控制器实施执行或由其它具有计算处理能力的设备实施执行等。

下面结合本申请实施例提供的激光雷达的示例性应用和实施,说明本申请实施例提供的TOF点云的处理方法。请参阅图3,图3是本申请实施例提供的TOF点云的处理方法的流程示意图。

可以理解的是,激光雷达安装于机器人,具体地,该TOF点云的处理方法的执行主体为该激光雷达的一个或多个处理器。

如图3所示,该方法S100具体可以包括以下步骤:

S101:获取TOF原始点云,该TOF原始点云是激光雷达的第一接收器基于TOF测距法采集到的点云数据,TOF原始点云包括每个激光点的测量距离。

在此实施例中,第一接收器是激光雷达的一个接收器,可以理解的是,第一接收器是激光雷达的一种接收激光的装置,例如可以是感光耦合组件(Charge coupled Device,CCD)。

该TOF原始点云是激光雷达的第一接收器基于TOF测距法采集到的点云数据。由TOF测距法的原理可知,激光雷达的发射器发射激光,激光打到目标物体再返回到第一接收器,生成点云数据。采用TOF法,激光雷达生成的TOF原始点云数据包括各激光点的角度、距离,其中,角度为激光打到目标物体上的位置在极坐标中的角度,距离为激光打到目标物体上的位置至激光雷达的距离。

S102:获取激光雷达的实时温度。

可以理解的是,激光雷达作为电子器件,当其连续工作时间较长时,会产生热量,温度升高。较高的温度会使得激光雷达的测量结果产生温漂。温漂为随着温度的上升激光点的距离发生偏移。

由此,获取激光雷达的实时温度。在一些实施例中,可以采用温度传感器采集激光雷达的实时温度。

S103:根据实时温度,对TOF原始点云中各激光点进行距离补偿,得到TOF补偿点云。

可以理解的是,由于温度能够对激光点的距离产生温漂,因此,根据实时温度,对TOF原始点云中各激光点的距离进行补偿,能够有效减少因温度对测量距离带来的温漂影响,使得TOF补偿点云更加准确。

在一些实施例中,前述步骤S103具体包括:

对于TOF原始点云中的每个激光点,采用预设补偿模型计算每个激光点的补偿距离,其中,预设补偿模型是关于实时温度和预设基准温度的函数。将每个激光点的补偿距离添加至其测量距离,得到TOF补偿点云。

在此实施例中,将激光雷达放置于恒温箱中,在一些温度下进行测距,得到关于温度和距离的数据组。然后通过这些数据组,建立关于实时温度和预设基准温度的预设补偿模型。其中,预设基准温度是一个温度阈值。可以理解的是,预设补偿模型是申请人经过实验分析后得到的。从而,通过试验大量历史数据组得到的预设补偿模型能够计算出与温度对应的补偿距离。

在一些实施例中,预设补偿模型为如下公式:

d

其中,d

然后,将补偿距离添加至激光点的测量距离,得到TOF补偿点云。在此实施例中,i时刻对应的激光点经过补偿后的距离为:

d

其中,d

可以理解的是,由于激光管与传感器等元器件工作原理的特性,会导致温漂,温漂会导致激光点的距离发生偏移,偏大或偏小。若温漂引起距离偏大,则补偿距离为d

在此实施例中,通过上述方式,能够有效减少因温度对测量距离带来的温漂影响,使得TOF补偿点云更加准确。

在一些实施例中,该方法S100还包括:

S104:对TOF补偿点云进行距离修正,得到TOF修正点云。

在一些实施例中,设置至少5个标靶,采用激光雷达对这5个标靶进行测距,求取修正参数。在一些实施例中,设置5个标靶,各标靶的材质为均质的,例如白靶,距离激光雷达的摆放距离可以为1.0m、3.0m、 5.0m、7.0m或9.0m等。在激光雷达对这些标靶进行测距后,获得测量结果。可以理解的是,这里的测量结果是指经过补偿后的TOF补偿点云。对TOF补偿点云中各个激光点,根据它们的距离和摆放距离之间的差异,获得修正参数。补偿后的距离与修正参数进行计算后,得到的修正后的距离更加接近摆放距离(真实距离),从而,经过修正后的TOF修正点云更加准确。

在此实施例中,前述步骤S104具体包括:对于TOF补偿点云中的每个激光点,采用预设修正模型计算每个激光点的修正后的距离,得到 TOF修正点云。其中,预设修正模型是关于距离和亮度的函数。

可以理解的是,预设修正模型是申请人对历史测量结果进行实验分析后得到的,从而,通过分析大量历史测量结果得到的预设修正模型能够计算出各个激光点的修正后的距离。

在一些实施例中,预设修正模型为如下公式:

d=k

其中,d为修正距离,k

为了得到准确的测距信息,需要对每个单体雷达进行标定,通过设定的标靶来求解具体的k

从公式(3)可知,需要求解三个变量则至少需要3个方程,对于超过变量数的方程组可使用超定方程进行求解。将公式(3)改写成矩阵的形式,如下公式(4):

令X=[d

XA=Y (5)

根据最小二乘法拟合可得最佳解:

A=inv(X′*X)*X′*Y (6)

公式(6)中,X′表示对矩阵X的转置,inv(X′*X)表示矩阵X′*X求可逆,若X′*X为奇异矩阵,则使用伪逆求解上式。

将各激光点经过温补之后的距离d

得到修正的测距参数后,即可确定公式(3)。这样在实际测试中,采用公式(3),代入当前激光点的温补后的距离和亮度,就能求出准确的测量距离d(即修正后的距离)。

在此实施例中,提前对激光雷达进行标定,以获取修正参数,标定过程中,假设修正后的距离与温补后的距离、激光点的亮度有关,建立距离和亮度的线性组合模型。预设多个标靶,获得补偿后的距离,对线性组合模型进行拟合,能够得到准确的预设修正模型,使得距离修正更加准确,实际测距过程中得到的TOF修正点云的精度更高。

由于基于TOF测距的激光雷达容易受温度、电机转动等因素影响,生成的点云容易产生起伏的波浪状;此外,当TOF远距测量时,如在8m 的直板物体中,垂直于物体的相邻若干个激光点的距离分别为 8030mm,7970mm,8010mm等,使得点云过渡不光滑;另外,TOF在近距测量时,如在1m测距,因为距离越小,对飞行时间的计时就越为严格苛刻,所以生成的点云容易产生起伏的波浪状。

在一些实施例中,该方法S100还包括:

S105:对TOF修正点云进行平滑处理。

可以理解的是,TOF修正点云显示打在物体上的一连串激光点,在某些激光点之间的过渡状态不光滑,类似于“波浪”状,为了减少过渡不光滑对后续建图的影响,在此实施例中,对TOF修正点云进行平滑处理,以缓解这些不光滑过渡状态,使得处理后的点云更加平滑。

在此实施例中,该步骤S105具体包括:

将TOF修正点云中每个激光点作为起始点,将角度连续的m个激光点作为一个平滑单元,得到多个平滑单元,其中,m是大于或等于5的整数。对每个平滑单元中的激光点,根据激光点附近的多个激光点的坐标,进行坐标平滑处理,得到平滑处理后的坐标。

可以理解的是,点云数据中包括若干个点,这若干个点等角度分布,例如,每相邻的两个点间隔0.5°。这里,角度连续是指角度差小于阈值T

将TOF修正点云中每个激光点作为起始点,将角度连续的m(m≥5) 个激光点作为一个平滑单元,得到多个平滑单元。例如,m可以为5,则连续的5个点为一个平滑单元。在一些实施例中,若TOF修正点云包括40个点,则从第一个点开始以5个点为一个平滑单元,每次向后移动一个点,得到46个包括5个点的平滑单元;若TOF修正点云包括6 个点,从第一个点开始以5个点为一个平滑单元,每次向后移动一个点,得到2个包括5个点的平滑单元。

可以理解的是,点云数据中激光点的角度间隔较小,m个激光点所占据的角度较小,对应物体表面的长度范围也较小,由于物体表面的连续性,同一物体表面在较小的长度范围内近似于光滑,从而,一个平滑单元中的m个激光点的距离差异不大。这里的距离可以是极坐标系下的距离。

从而,对每个平滑单元中的激光点,可以根据激光点附近的多个激光点的坐标(极坐标下的角度和距离),进行坐标平滑处理,得到平滑处理后的坐标。在各个平滑单元中的激光点被遍历平滑处理完成后,得到平滑处理后的点云。

在一些实施例中,以m为5为例进行示意性说明,采用五点三次的平滑思想,五个激光点的极坐标通过多项式拟合得到平滑曲线,具体的平滑公式如下:

其中,y

若m大于5个点,则公式(7)和(8)为该m个点中平滑之后的两个首端点,公式(10)和(11)为该m个点中平滑之后的两个尾端点,而对于中间的若干个点的平滑结果则采用式(9),将该公式一般化可得如下:

其中上式的变量i的范围为:3≤i≤m-2。

值得说明的是,上述公式(7)至(11)是本申请发明人通过试验分析后确定的,经试验证实了采用上述公式进行平滑操作处理,能够有效减少TOF修正点云中的起伏破浪状,使得各个物体对于的点云更加平滑稳定。

综上所述,本申请实施例提供的TOF点云的处理方法,通过获取TOF 原始点云(TOF原始点云是激光雷达的第一接收器基于TOF测距法采集到的点云数据),获取激光雷达的实时温度。然后,根据实时温度,对 TOF原始点云中各激光点进行距离补偿,得到TOF补偿点云。通过此方式,能够有效减少因温度对测量距离带来的温漂影响,使得TOF补偿点云更加准确。在一些实施例中,进而对TOF补偿点云进行修正,得到精度更高的TOF修正点云。在一些实施例中,进而对TOF修正点云进行平滑处理,减少点云数据中的波浪起伏,使得平滑处理后的TOF修正点云更加准确。

根据上文可以理解,本申请实施例提供的点云优化方法可以由各种类型具有计算处理能力的电子设备实施,例如由激光雷达实施执行、由机器人的控制器实施执行或由其它具有计算处理能力的设备实施执行等。

下面结合本申请实施例提供的激光雷达的示例性应用和实施,说明本申请实施例提供的点云优化方法。请参阅图4,图4是本申请实施例提供的点云优化方法的流程示意图。

可以理解的是,激光雷达安装于机器人,具体地,该TOF点云的处理方法的执行主体为该激光雷达的一个或多个处理器。

如图4所示,该方法S200具体可以包括以下步骤:

S201:获取第一点云和第二点云,第一点云是采用上述任意一项的 TOF点云的处理方法处理得到的点云,第二点云是激光雷达的第二接收器基于三角测距法采集到的点云数据。

可以理解的是,在一些实施例中,第一点云可以是前述TOF补偿点云;在一些实施例中,第一点云可以是前述TOF修正点云;在一些实施例中,第一点云可以是前述TOF修正点云经平滑操作处理后的点云。

在此实施例中,第二接收器是激光雷达的一个接收器,可以理解的是,第二接收器是激光雷达的一种接收激光的装置,例如可以是感光耦合组件(Charge coupled Device,CCD)。

该第二点云是激光雷达的第二接收器基于三角测距法生成的点云数据。采用三角测距法,激光雷达生成的点云数据包括各点的角度、距离和亮度等。其中,角度为激光打到目标物体上形成的光斑在极坐标中的角度,距离为激光打到目标物体上形成的光斑至激光雷达的距离,亮度为光斑亮度。

在一些实施例中,三角测距法的测距公式如下所示:

d=n1/(n2-cx) (13)

其中,n1和n2为激光雷达通过标定可得到的测距参数,cx为光斑中心,即光斑在第二接收器上的纵坐标的值,单位为pixel,当第二接收器的宽度为480个像素值时,cx的取值范围为1-480。

n1参数大小与激光雷达的结构相关,n2参数大小与光斑所落在第二接收器上的位置相关。为了得到准确的测距信息,需要对每个基于三角测距法的单体雷达进行标定。通过设定的标靶来求解具体的n1和n2值。

在一些实施例中,标靶的数量至少为5个,各标靶的材质为均质,如白靶等。各标靶摆放的距离范围为激光雷达的一传感器测距精度较高的最小距离至另一传感器测距精确度较高的最小距离,例如,若激光雷达的传感器A的测距范围为0.1m-2.0m,传感器B的测距范围为 1.0m-10.0m,则各标靶摆放的距离范围为0.1m-1.0m。5个标靶距离激光雷达的距离可分别为0.1m,0.3m,0.6m,1.0m,1.5m。

从公式(13)可知,需要求解两个变量则至少需要2个方程,对于方程比变量多的方程组,可使用超定方程进行求解。将公式(13)写成矩阵形式,如下公式(14)所示:

令X=[-1d],

XA=Y (15)

根据最小二乘法拟合可得最佳解:

A=inv(X′*X)*X′*Y (16)

上式中,X′表示对矩阵X的转置,inv(X′*X)表示矩阵X′*X求可逆,若X′*X为奇异矩阵,则使用伪逆求解上式。

将每个标靶距离值d和在各靶相应的cx代入公式(16),可求得标定参数n1和n2。得到标定的测距参数后,即可确定公式(13)。这样在实际测试中,采用公式(13),代入当前激光点的cx,就能求出准确的距离 d。

当第二接收器采集到的每个激光点均按公式(13)进行标定后,得到标定后的三角测距法点云。在一些实施例中,可以将该三角测距法点云作为前述第二点云。

S202:从第一点云中和第二点云中分别获取每一角度上的第一激光点和第二激光点,根据第一激光点的距离和所述第二激光点的距离,确定每一角度上的第三激光点的距离,得到优化后的点云。

可以理解的是,激光雷达按一定的扫描频率发射激光,形成的第一点云或第二点云中,各激光点按一定的角分辨率均为分布,因此,可以遍历各个角度。例如,激光雷达的扫描范围为30°,角分辨率为0.5°,则有60个角度,第一点云或第二点云在这60个角度上理论上会有激光点。

从第一点云中和第二点云中分别获取每一角度上的第一激光点和第二激光点。由于TOF测距法和三角测距法各自存在优点和不足。具体地,由TOF测距法的原理可知,基于TOF测距法的激光测距在测量近距物体时,飞行时间较短,导致在近距测量时误差较大;由三角测距法的原理可知,光斑在接收器上的位置会因距离越大而变化越小,导致超过某个距离后,接收器无法分辨光斑位置是否变化,即激光反射后成像在接收器上的成像点B中心离端点A的距离x变化较小,使得目标物体的距离p的误差较大。

从而,根据第一激光点的距离和所述第二激光点的距离,确定每一角度上的第三激光点的距离。也即,第三激光点的距离是基于TOF测距法的第一激光点的距离和基于三角测距法的第二激光点的距离综合考虑得到的,能够利用TOF测距法和三角点云测距法的优点,避免两者的缺点,使得第三激光点的距离比较准确,具有较高的精度。

在一些实施例中,前述步骤S202具体包括:

1)若第一激光点的距离小于或等于第一阈值,确定第三激光点的距离为第二激光点的距离。

2)若第一激光点的距离大于第一阈值且小于或等于第二阈值,确定第三激光点的距离为第一激光点的距离和第二激光点的距离的融合结果。

3)若第一激光点的距离大于第二阈值,确定第三激光点的距离为第一激光点的距离。

在此实施例中,第一阈值为TOF测距法的近距测量精度,例如第一阈值为1050mm。在测量距离小于第一阈值时,TOF测距法的测量结果误差较大,因此,当第一激光点的距离小于或等于第一阈值时,采用三角测距法的结果(第二激光点)作为当前角度的测距结果,也即,确定第三激光点的距离为第二激光点的距离。

第二阈值为三角测距法的远距测量精度,例如第二阈值为1150mm。在测量距离大于第二阈值时,三角测距法的测量结果误差较大,因此,当第一激光点的距离大于第二阈值时,采用TOF测距法的结果(第一激光点)作为当前角度的测距结果,也即,确定第三激光点的距离为第一激光点的距离。

若第一激光点的距离大于第一阈值且小于或等于第二阈值时,三角测距法和TOF测距法误差均相对较小,然而,由于激光雷达的各异性和 TOF测距法容易受温度的影响,使得三角测距法和TOF测距法测得的距离存在偏差。为了减少误差,使得第一阈值和第二阈值之间的测量更加精确,这里,将三角测距法的结果和TOF测距法的结果进行融合处理,也就是说,确定第三激光点的距离为第一激光点的距离和第二激光点的距离的融合结果。

在一些实施例中,前述“确定第三激光点的距离为第一激光点的距离和第二激光点的距离的融合结果”,具体包括:

采用以下公式计算第三激光点的距离;

dis=α*d

其中,

Ratio=(d

其中,dis为第三激光点的距离,d

在此实施例中,基于d

根据比例因子Ratio,获取权重系数α和β,可以理解的是,本申请发明人通过分析历史数据,建立了上述融合模型,即公式(17),将第一激光点的距离和第二激光点的距离进行加权融合,使得得到的第三激光点的距离更加精确,能够有效减少误差。

在一些实施例中,该方法S200具体包括:

(4)若第一激光点的距离小于或等于第三阈值,且第二激光点无显示,则确定第三激光点的距离为第一激光点的距离,其中,第三阈值小于第一阈值。

这里,第三阈值为三角测距法的近距盲区临界值,例如100mm,当测量距离小于第三阈值时,物体可能进入三角测距法的盲区,第二接收器无法采集到光斑或采集到部分光斑,则第二激光点无显示。在一些实施例中,若遇到特殊材质(如低反材质),也会导致第二激光点无显示。

在第一激光点的距离小于或等于第三阈值、且第二激光点无显示的情况下,为了告知机器人当前有障碍物,采用TOF测距法的结果(第一激光点)作为当前角度的测量结果,也即,确定第三激光点的距离为第一激光点的距离。因此,在面对目标物体时,能够保证有相应的点云数据生成,从而,能够指导机器人避障。

可以理解的是,对于第一点云和第二点云各个角度上的激光点采用上述方式进行处理后,得到各个角度上的第三激光点。各个角度上的第三激光点构成优化后的点云。

综上所述,本申请实施例提供的点云优化方法,通过获取第一点云 (基于TOF测距法经过温补、修正、平滑处理后的点云)和第二点云(基于三角测距法经修正后的点云),从第一点云和第二点云中分别获取每一角度上的第一激光点和第二激光点,根据第一激光点的距离和第二激光点的距离,确定每一角度上的第三激光点的距离,得到优化后的点云。通过此方式使得优化后的点云是基于TOF补偿点云(第一点云)和三角测距法点云(第二点云)综合得到的,能够利用TOF测距法和三角点云测距法的优点,避免两者的缺点,从而,优化后的点云中第三激光点在各个距离下都比较准确,能够在不同的距离下均有较高的精度,有利于测距或建图的准确性。

本申请实施例还提供了一种激光雷达,请参阅图5,图5是本申请实施例提供的一种激光雷达的硬件结构示意图;

如图5所示,该激光雷达300包括通信连接的至少一个处理器301 和存储器302(图5中以总线连接、一个处理器为例)。

其中,处理器301用于提供计算和控制能力,以控制激光雷达300 执行相应任务。在一些实施例中,处理器301控制激光雷达300执行上述任一方法实施例中的TOF点云的处理方法,该方法包括获取TOF原始点云,该TOF原始点云是激光雷达的第一接收器基于TOF测距法采集到的点云数据。获取激光雷达的实时温度,根据实时温度,对TOF原始点云中各激光点进行距离补偿,得到TOF补偿点云。

通过此方式,能够有效减少因温度对测量距离带来的温漂影响,使得TOF补偿点云更加准确。在一些实施例中,进而对TOF补偿点云进行修正,得到精度更高的TOF修正点云。在一些实施例中,进而对TOF修正点云进行平滑处理,减少点云数据中的波浪起伏,使得平滑处理后的 TOF修正点云更加准确。

在一些实施例中,处理器301控制激光雷达300执行上述任一方法实施例中的点云优化方法,该方法包括:获取第一点云和第二点云,第一点云是采用上述任意一项的TOF点云的处理方法处理得到的点云,第二点云是激光雷达的第二接收器基于三角测距法采集到的点云数据。从第一点云中和第二点云中分别获取每一角度上的第一激光点和第二激光点,根据第一激光点的距离和所述第二激光点的距离,确定每一角度上的第三激光点的距离,得到优化后的点云。

通过此方式使得优化后的点云是基于TOF补偿点云(第一点云)和三角测距法点云(第二点云)综合得到的,能够利用TOF测距法和三角点云测距法的优点,避免两者的缺点,从而,优化后的点云中第三激光点在各个距离下都比较准确,能够在不同的距离下均有较高的精度,有利于测距或建图的准确性。

处理器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作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本申请实施例中的TOF点云的处理方法对应的程序指令/模块,如本申请实施例中的点云优化方法对应的程序指令/模块。处理器301通过运行存储在存储器 302中的非暂态软件程序、指令以及模块,可以实现上述述任一方法实施例中的TOF点云的处理方法或点云优化方法,即能够实现图3-图4实现的各个过程,为避免重复,这里不再赘述。

具体地,存储器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还可以包括其他用于实现设备功能的部件,在此不做赘述。

请再参阅图6,图6是本申请实施例提供的一种机器人的结构示意图;

如图6所示,该机器人400,包括:激光雷达300以及控制器401,其中,激光雷达300通信连接该控制器401,该控制器401用于向激光雷达300发送测距指令,以使激光雷达300进行测距。可以理解的是,该测距指令可以由外部终端向机器人400发送,由控制器401将该测距指令转发到该激光雷达300。其中,外部终端可以为固定终端或移动终端,例如:电脑、手机、平板等电子设备,在此不进行限定。

需要说明的是,机器人的具体硬件结构等内容,可以参考上述实施例提及的内容,在此不再赘述。

本申请实施例还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由处理器执行以完成上述实施例中的TOF 点云的处理方法或上述实施例中点云优化方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器 (Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CDROM)、磁带、软盘和光数据存储设备等。

本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括一条或多条程序代码,该程序代码存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,以完成上述实施例中提供的TOF点云的处理方法的方法步骤,或,完成上述实施例中提供的点云优化方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 二维激光雷达点云数据处理方法以及动态机器人位姿校准方法
  • 二维激光雷达点云数据处理方法以及动态机器人位姿校准方法
技术分类

06120115574040