CN116027341B - 基于激光观测方向的栅格和体素定位方法、机器人及芯片 - Google Patents
基于激光观测方向的栅格和体素定位方法、机器人及芯片 Download PDFInfo
- Publication number
- CN116027341B CN116027341B CN202111238005.4A CN202111238005A CN116027341B CN 116027341 B CN116027341 B CN 116027341B CN 202111238005 A CN202111238005 A CN 202111238005A CN 116027341 B CN116027341 B CN 116027341B
- Authority
- CN
- China
- Prior art keywords
- preset
- grid
- voxel
- point
- laser
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000015654 memory Effects 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000000523 sample Substances 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 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/89—Lidar systems specially adapted for specific applications for mapping or imaging
- G01S17/894—3D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- 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/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/08—Systems determining position data of a target for measuring distance only
-
- 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/87—Combinations of systems using electromagnetic waves other than radio waves
-
- 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/481—Constructional features, e.g. arrangements of optical elements
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Optical Radar Systems And Details Thereof (AREA)
Abstract
本发明涉及基于激光观测方向的栅格和体素定位方法、机器人及芯片,该栅格定位方法包括选择出与激光点处于同一个预设栅格的两个预设交点;然后在前述两个预设交点中,将与观测点相距最远的预设交点设置为第一预设交点,并将与同一个观测点相距最近的预设交点设置为第二预设交点;根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标栅格,以形成该激光点在二维栅格地图内最新命中的栅格位置;其中,第一预设距离是第一预设交点与第二预设交点之间的直线距离,第二预设距离是激光点与第二预设交点之间的直线距离。从而提升定位精度和建图质量。
Description
技术领域
本发明涉及地图定位的技术领域,具体涉及基于激光观测方向的栅格和体素定位方法、机器人及芯片。
背景技术
对于用激光测距定位的移动机器人,其内部会构建起机体周围的环境地图,用来进行持续的定位、导航、避障等;若地图为二维栅格地图或三维栅格地图,则现有技术在执行室内定位时,所需进行的点云匹配、地图更新等,均会涉及到激光点命中哪一个具体的栅格的问题,因此需通过搜索和更新栅格的方式来确定激光点(激光点云)会落在哪个栅格内,但是未考虑到从哪个方向观测激光点,对二维栅格地图或三维栅格地图而言会降低定位精度。
发明内容
为了解决上述技术问题,本提案提出一种结合观测位置和激光观测方向的栅格定位方法、体素定位方法、机器人及芯片,使得所选取的栅格表征的位置与实际物理位置更贴近,能够提升定位精度和建图质量。具体的技术方案包括:
一种基于激光观测方向的栅格定位方法,该栅格定位方法包括:选择出与激光点处于同一个预设栅格的两个预设交点;然后在前述两个预设交点中,将与观测点相距最远的预设交点设置为第一预设交点,并将与同一个观测点相距最近的预设交点设置为第二预设交点;其中,第一预设交点和第二预设交点都是观测射线与预设栅格的对应边的交点;根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标栅格,以形成该激光点在二维栅格地图内最新命中的栅格位置;其中,第一预设距离是第一预设交点与第二预设交点之间的直线距离,第二预设距离是激光点与第二预设交点之间的直线距离;其中,观测射线是由观测点指向激光点的射线,且观测射线不与栅格的边重合;观测点是激光传感器在二维栅格地图中标记的位置。
进一步地,所述根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标栅格的方法包括:当第二预设距离与第一预设距离的比值大于预设比例系数时,确定所述激光点在观测射线的方向上命中的目标栅格是所述预设栅格在观测射线的方向上的邻域栅格;当第二预设距离与第一预设距离的比值不大于预设比例系数时,确定所述激光点在观测射线的方向上命中的目标栅格是所述预设栅格;其中,观测射线的方向是由观测点指向所述激光点的方向,用于表示由观测点发出的一种激光观测方向。
进一步地,当所述激光点位于栅格的边上时,所述激光点是所述第二预设交点,则所述第二预设距离与所述第一预设距离的比值等于0,使得所述观测射线经过所述激光点后,继续经过的第一个栅格成为所述目标栅格,其中,预设比例系数大于0。
进一步地,所述第一预设交点和/或所述第二预设交点是允许位于所述预设栅格的顶点处,以使得所述目标栅格为与所述预设栅格只存在一个公共顶点的栅格;其中,所述第一预设交点和所述第二预设交点分别位于所述预设栅格的不同边。
进一步地,所述栅格定位方法还包括在所述观测射线与二维栅格地图中的栅格的边重合的情况下,若所述激光点不位于该栅格的顶点处,则选择以所述激光点所在的栅格的边为公共边的两个栅格之一作为所述激光点在观测射线的方向上命中的目标栅格;在所述观测射线与二维栅格地图中的栅格的边重合的情况下,若所述激光点位于该栅格的顶点处,则在以所述激光点所在的顶点为公共顶点的四个栅格中,选择偏离观测点最远的两个栅格之一作为所述激光点在观测射线的方向上命中的目标栅格,其中,偏离观测点最远的两个栅格是位于同一行或同一列的相邻的两个栅格。
进一步地,在所述二维栅格地图的地图坐标系中,每个栅格的坐标是该栅格的左下角点的坐标、该栅格的左上角点的坐标、该栅格的右下角点的坐标、该栅格的右上角点的坐标或该栅格的中心位置的坐标;其中,该栅格的相关边角点及中心位置的坐标用于表示该栅格在所述二维栅格地图中的行序号和列序号。
进一步地,所述预设栅格的邻域栅格是与所述预设栅格具有公共边或公共顶点的栅格;所述预设栅格在所述观测射线的方向上的邻域栅格是以所述预设栅格为搜索起点,沿着所述观测射线的方向搜索到的一个相邻的栅格;其中,所述激光点处于所述预设栅格的方式包括所述激光点位于所述预设栅格的四条边围成的区域内、以及所述激光点位于所述预设栅格的一条边上,以反映出被扫描物体的二维位置信息。
进一步地,若获得所述预设栅格的列序号为s0,且获得所述预设栅格的行序号为h0,则在二维栅格地图中,所述预设栅格的邻域栅格存在于行序号的数值范围是[h0-1,h0+1]且列序号的数值范围是[s0-1,s0+1]的栅格当中,其中,s0是整数,h0是整数。
一种基于激光观测方向的体素定位方法,该体素定位方法包括:选择出与激光点处于同一个预设体素的两个预设交点;然后在前述两个预设交点中,将与观测点相距最远的预设交点设置为第一预设交点,并将与同一个观测点相距最近的预设交点设置为第二预设交点;其中,第一预设交点和第二预设交点都是观测射线与预设体素的对应面的交点;根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标体素,以形成该激光点在二维栅格地图内最新命中的体素;其中,第一预设距离是第一预设交点与第二预设交点之间的直线距离,第二预设距离是激光点与第二预设交点之间的直线距离;其中,观测射线是观测点指向激光点的射线,观测射线被配置为穿过同一个体素的不同面,但所述观测射线不与体素的棱重合;其中,观测点是激光传感器在三维栅格地图中标记的位置;激光点是激光传感器采集的激光反射信息转换到三维栅格地图内的激光点云。
进一步地,所述根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标体素的方法包括当第二预设距离与第一预设距离的比值大于预设比例系数时,确定所述激光点在观测射线的方向上命中的目标体素是所述预设体素在观测射线的方向上的邻域体素;当第二预设距离与第一预设距离的比值不大于预设比例系数时,确定所述激光点在观测射线的方向上命中的目标体素是所述预设体素;其中,观测射线的方向是由观测点指向激光点的方向。
进一步地,当所述激光点位于所述三维栅格地图的体素的面上时,所述激光点是所述第二预设交点,则所述第二预设距离与所述第一预设距离的比值等于0,使得所述激光点在观测射线的方向上命中的目标体素是所述预设体素,其中,所述预设比例系数大于0。
进一步地,所述第一预设交点和/或所述第二预设交点位于所述预设体素的棱上,以使得所述目标体素是与所述预设体素只存在一个公共顶点或一条公共棱的体素;其中,所述第一预设交点和所述第二预设交点位于所述预设体素的不同面。
进一步地,所述体素定位方法还包括在所述观测射线位于所述三维栅格地图中的体素的一个面上时,存在以下步骤:在所述观测射线与三维栅格地图中的体素的棱不重合的情况下,若所述激光点不位于体素的顶点处,则选择以所述激光点所在的面为公共面的两个体素之一作为所述激光点在所述观测射线的方向上命中的目标体素;在所述观测射线与三维栅格地图中的体素的棱重合的情况下,若所述激光点不位于体素的顶点处,则选择以所述激光点所在的体素的棱为公共棱的四个体素之一作为所述激光点在所述观测射线的方向上命中的目标体素;若所述激光点位于体素的顶点处,则在以所述激光点所在的顶点为公共顶点的八个体素中,选择与观测点的垂直距离最大的体素作为所述激光点在所述观测射线的方向上命中的目标体素。
进一步地,在所述三维栅格地图的三维地图坐标系中,每个体素的坐标是该体素的其中一个顶点的坐标或该体素的中心位置的坐标。
进一步地,所述预设体素的邻域体素是与所述预设体素具有公共棱或公共顶点的体素;所述预设体素在所述观测射线的方向上的邻域体素是以所述预设体素为搜索起点,沿着所述观测射线的方向搜索到的一个相邻的体素;其中,所述激光点处于所述预设体素的形式包括所述激光点位于所述预设体素的八个面围成的空间区域内、以及所述激光点位于所述预设体素的一个面上;其中,所述激光点位于所述预设体素的一个面上的形式包括所述激光点位于所述预设体素的一个顶点处。
进一步地,若获得所述预设体素的横轴方向序号为s0,且获得所述预设体素的纵轴方向序号为h0,且获得所述预设体素的竖轴方向序号为z0,则在三维栅格地图中,所述预设体素的邻域体素是存在于横轴方向序号的数值范围是[h0-1,h0+1]、且纵轴方向序号的数值范围是[s0-1,s0+1]、且竖轴方向序号的数值范围是[z0-1,z0+1]的体素,其中,s0是整数,h0是整数,z0是整数。
一种机器人,所述机器人包括机器人主体;设于所述机器人主体上的行走机构;设于所述机器人主体上的激光传感器,激光传感器用于采集反射自被扫描物体的激光信息,获得激光点,以形成激光点云;控制器,所述控制器内置于所述机器人主体中,与所述激光传感器连接;所述控制器包括至少一个处理器,以及存储器,所述存储器与所述至少一个处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述机器人实现所述的一种基于激光观测方向的栅格定位方法,和/或所述的一种基于激光观测方向的体素定位方法。
一种芯片,所述芯片存储有计算机可执行指令,当所述计算机可执行指令被所述芯片执行时实现所述的一种基于激光观测方向的栅格定位方法,和/或所述的一种基于激光观测方向的体素定位方法。
与现有技术相比,本发明的有益技术效果在于:本发明将激光传感器所在位置设置为观测点,再沿着该观测点指向落入栅格地图的激光点的观测方向( 即激光观测方向),在该观测点指向落入栅格地图的激光点而形成的射线与栅格的交点中,搜寻出两个具备定位和距离比较意义的交点,再由与观测点的距离最近的交点与激光点之间的距离与前述两个交点的直线距离的比值来决定该激光点在地图内最新命中的栅格位置,形成由激光点与周围的栅格的临近程度来决定该激光点在地图内命中的栅格位置的地图定位构思,实现在二维栅格地图内获得与实际物理位置的定位误差更小的栅格,也可在三维栅格地图内获得与实际物理位置的定位误差更小的体素(体素栅格的简称)。
附图说明
图1是本发明实施例公开的一种基于激光观测方向的栅格定位方法流程图。
图2是本发明一实施例公开的射线OM在二维栅格地图内经过栅格的示意图。
图3是本发明一实施例公开的射线ON与二维栅格地图内经过栅格的示意图。
图4是本发明一实施例公开的射线OP与二维栅格地图内经过栅格的示意图。
图5是本发明一实施例公开的射线OU与三维栅格地图内经过体素的示意图。
图6是本发明一实施例公开的射线OL与三维栅格地图内经过体素的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。在下面的描述中,给出具体细节以提供对实施例的透彻理解。然而,本领域的普通技术人员将理解,可以在没有这些具体细节的情况下实施实施例。例如,电路可以在框图中显示,以便不在不必要的细节中使实施例模糊。在其他情况下,为了不混淆实施例,可以不详细显示公知的电路、结构和技术。
需要说明的是,无论是二维栅格地图还是三维栅格地图,都包括指示在特定位置或区域存在障碍的概率的信息,可通过移动机器人的激光传感器扫描待测物体来获得待测物体对应的位置信息,并在此基础上计算出待测物体落入地图的对应栅格位置处的概率信息。移动机器人在同一位姿下的不同时刻,通过激光传感器对一个固定的障碍物(待测物体)的探测距离不一致,可能在一个时刻下采集的一帧激光数据所涉及的探测距离为5m,在另一个时刻下采集的一帧激光数据所涉及的探测距离为5.1m,为了不同时将m和5.1m的位置都标记为前述固定的障碍物,则需要使用占据栅格地图构建算法去计算前述固定的障碍物落入(命中)地图的对应栅格位置处的概率信息,再基于概率值的大小确定前述固定的障碍物在地图中的精确位置。在现有技术中,通常不考虑移动机器人的大小占据的空间,因此,在本发明中,无论地图是否发生变化都将移动机器人缩小为一点。
具体地,具备一定分辨率的栅格地图是由一定数量的激光扫描点(可以简称为激光点)组成,具体由5cm*5cm大小的概率栅格[Pmin,Pmax]构造而成,无论是二维栅格地图还是三维栅格地图,地图在创建完成时,栅格概率小于Pmin表示该栅格位置处无障碍物,在Pmin与Pmax之间表示未知,大于Pmax表示该栅格位置处存在障碍物。每一帧的激光扫描点都会生成一组栅格,在这一组栅格中,每个栅格被赋予占用概率值,如果该栅格在先前已经有概率值,则需要对该栅格的概率值进行更新。
进一步地,对于一个固定的被扫描物体,可以通过移动激光传感器,在尽可能的情况下获取尽量多的实体表面点信息;当一束激光照射到被扫描物体的表面时,所反射的激光信息会携带方位、距离等信息。结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB);在获取被扫描物体的表面的每个采样点的空间坐标后,得到的是一个点的集合,称之为点云(Point Cloud),使得点云也是目标表面特性的海量点集合。当从不同观测点(理解为位于不同位置处的激光传感器或依次移动至不同位置的激光传感器)获得的三维数据拥有一定的交集,可以完整地覆盖被扫描物体,就说明已经获得足够的表面三维点云数据,其中,从不同观测点获得的点云,都统一变换至一个地图坐标系当中。
作为实施例一,公开一种基于激光观测方向的栅格定位方法,该栅格定位方法的执行主体是安装有用于激光传感器的移动机器人,其中,激光传感器用于采集反射自被扫描物体的激光信息,并交由移动机器人内部的控制器转换为及时构建的地图内的点,这个点可以表示扫描位置的栅格序号,是从世界坐标系转入二维栅格坐标系,每个栅格序号有x和y两个数字,与地图分辨率有关,比如说:地图分辨率为0.05,也就是实际物理环境内的1m用20个栅格表示。如图1所示,该栅格定位方法包括:
步骤S1、选择出与激光点处于同一个预设栅格的两个预设交点,在一些实施例中,沿着观测射线的方向搜索出与激光点处于同一个预设栅格的两个预设交点;其中,第一预设交点和第二预设交点都是观测射线与预设栅格的对应边的交点,则第一预设交点和第二预设交点分别位于预设栅格的不同边上。然后进入步骤S2。其中,在所述观测射线上,激光点与前述两个预设交点处于同一个栅格,包括位于该栅格的边上、或者位于该栅格的4条边包围的栅格区域的内部(但不包括其边),本实施例将这一类型的栅格定义为预设栅格;所述观测射线是由观测点指向激光点的射线,且所述观测射线不与栅格的边重合,具体是所述观测射线不与预设栅格的任一边重合;所述观测点是激光传感器在二维栅格地图中标记的位置,优选地,所述观测点是用于指示所述激光传感器的探头的具体位置,确定收发信号的位置。
步骤S2、在前述两个预设交点中,将与观测点相距最远的预设交点设置为第一预设交点,并将与同一个观测点相距最近的预设交点设置为第二预设交点;然后进入步骤S3;因此,步骤S2通过在同一射线上设置第二预设交点和第一预设交点,作为所述激光点在观测射线与相应栅格相交边上的映射点,也建立起这两个交点位置与所述观测点之间的距离关系。
步骤S3、根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标栅格,以形成该激光点在二维栅格地图内最新命中的栅格位置,实现在二维栅格地图内获得与实际物理位置的定位误差更小的栅格,从而能够沿着所述观测射线的方向,把地图中当前命中的栅格的附近区域内的存在合理距离的栅格,配置为所述目标栅格,并更新为地图中当前命中的栅格,与现有技术相比,不用通过计算和比较的方式来获取栅格的占用概率值。其中,第一预设距离是第一预设交点与第二预设交点之间的直线距离,第二预设距离是激光点与第二预设交点之间的直线距离,这些距离都是在所述二维栅格地图的坐标系下计算获得的。在实际计算相关的距离信息时,需要计算每一个激光点及其命中的栅格在二维栅格坐标系下的栅格序号。其中,预设比例系数的具体设定是能够根据实际试验结果进行自适应的调节,以适应机器人构建的栅格地图存在的误差,具体是,激光构建的栅格地图依据栅格分辨率划分出的像素图片中,地图表示的环境信息会与实际有偏差,例如存在地图中直线段呈锯齿状、线段会分层叠加、线段有噪点等问题。
需要说明的是,激光点是激光传感器采集到的反射自被扫描物体的激光信息转换到栅格地图内的坐标点,是属于激光扫描点或者激光采样点,反映位置信息(包括到被扫描物体表面的探测距离和探测角度)和激光反射强度;具体地,激光传感器若将激光束按照某种轨迹对被扫描物体进行扫描,便会边扫描边记录到反射回的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点云。其中,激光传感器一般是支持360度旋转扫描的激光雷达,带有激光发射探头和接收探头。在一些实现方式中,激光点经过处理后,可对激光遇到的特定表面要素进行分类,则地板、家具、墙壁以及室内任何激光束在测量过程中遇到的物体构成了激光点云数据,实现对这些物体的位置的测定。具体地,激光传感器采集到的反射自被扫描物体的激光信息是包括激光雷达数据包,激光雷达数据包包括若干帧激光点云数据,每帧激光点云数据包括若干个扫描点,每个扫描点包含角度(逆时针为正方向)和距离。
在上述实施例的基础上,所述根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标栅格的方法包括:当第二预设距离与第一预设距离的比值大于所述预设比例系数时,确定所述激光点在观测射线的方向上命中的目标栅格是所述预设栅格在观测射线的方向上的邻域栅格,是沿着所述观测射线的方向搜索的距离所述激光点最近的一个栅格;当第二预设距离与第一预设距离的比值不大于所述预设比例系数时,确定所述激光点在观测射线的方向上命中的目标栅格是所述预设栅格,从而将所述激光点原来所处的栅格作为所述目标栅格;其中,观测射线的方向是由观测点指向所述激光点的方向,用于表示由观测点发出的一种激光观测方向,从而从方向的维度去选择与实际物理位置的差距较小的栅格,能够提升定位精度和建图质量。基于前述相关距离的比值是大于0,则所述预设比例系数是优选为大于0。
综上,与现有技术相比,本发明将激光传感器所在位置设置为观测点,再沿着该观测点指向落入栅格地图的激光点的激光观测方向,在该观测点指向落入栅格地图的激光点而形成的射线与栅格的交点中,搜寻出两个具备定位和距离比较意义的交点,再由与观测点的距离最近的交点与激光点之间的距离与前述两个交点的直线距离的比值来决定该激光点在地图内最新命中的栅格位置,形成由激光点与周围的栅格的临近程度来决定该激光点在地图内命中的栅格位置的地图定位构思,实现在二维栅格地图内获得与实际物理位置的定位误差更小的栅格。
结合图2至图4的栅格地图可知,图示的二维栅格地图中的各个栅格规整地排布,二维栅格地图中的各个栅格以行和列的方式规整的排布,将点O作为机器人的激光传感器占据的栅格位置。图2的M点所处的栅格是所述预设栅格,与图2的M点所处的栅格相邻的栅格有3个;图3的N点所处的栅格也是所述预设栅格,与图3的N点所处的栅格相邻的栅格有8个。因此,本实施例将所述预设栅格的邻域栅格是与所述预设栅格具有公共边或公共顶点的栅格。其中,所述激光点处于所述预设栅格的方式包括所述激光点位于所述预设栅格的四条边围成的区域内、以及所述激光点位于所述预设栅格的一条边上,以反映出被扫描物体的二维位置信息。需要说明的是,在上述实施例中,所述预设栅格在所述观测射线的方向上的邻域栅格是以所述预设栅格为搜索起点,沿着所述观测射线的方向搜索到的一个相邻的栅格,所述观测射线的方向如图2的射线OM的箭头所指方向,或所述观测射线的方向如图3的射线ON的箭头所指方向。从而沿着预先设定的观测射线的方向从激光点的周围区域包括自身所处的栅格位置搜索出目标栅格,降低计算复杂度,提高激光点的定位速度。
具体地,若获得所述预设栅格的列序号为s0,且获得所述预设栅格的行序号为h0,则在二维栅格地图中,所述预设栅格的邻域栅格是存在于行序号的数值范围是[h0-1,h0+1]且列序号的数值范围是[s0-1,s0+1]的栅格,其中,s0是整数,h0是整数。优选地,在图2所示的栅格地图内,图2的M点所处的栅格的行序号是0,图2的M点所处的栅格的列序号是0,则图2的M点所处的栅格的邻域栅格的行序号的数值范围是[0,1],其列序号的数值范围是[0,1];优选地,在图3所示的栅格地图内,图3的N点所处的栅格的行序号是1,图2的M点所处的栅格的列序号是1,则图3的N点所处的栅格的邻域栅格的行序号的数值范围是[0,2],其列序号的数值范围是[0,2]。由图2至图3所表示的栅格地图可知,邻域栅格的行序号在所述预设栅格的上一行至下一行的区间内,邻域栅格在所述预设栅格的前一列至后一列区间内,因此,在s0和h0已知的前提下,从纵轴方向序号的数值范围是[h0-1,h0+1]且横轴方向序号的数值范围是[s0-1,s0+1]的栅格当中,排除出所述预设栅格,剩余的栅格即为所述预设栅格的邻域栅格,以使得所述激光点在二维栅格地图中存在行序号和列序号相匹配的栅格,因此,本实施例能够根据栅格地图中的行序号和列序号唯一确定出一个栅格。
在一些实施例中,在所述二维栅格地图的地图坐标系中,即前述二维栅格坐标系中,每个栅格的坐标是该栅格的左下角点的坐标、该栅格的左上角点的坐标或该栅格的右下角点的坐标,在一些实施场景下,使用栅格的中心位置表示被扫描区域的真实地理位置,每个栅格的坐标会使用该栅格的中心位置的坐标表示。其中,该栅格的相关边角点及中心位置的坐标还可以表示该栅格在所述二维栅格地图中的行序号和列序号,横坐标等于列序号,纵坐标等于行序号。如图2至图4的栅格地图所示,从左到右遍历栅格,列序号逐步递增;从下到上遍历栅格,行序号逐步递增。从而保证所述二维栅格地图内逐个栅格连接生成的路径是连续的。为便于理解,在图2至图4所示的地图坐标系中,都是以栅格的左下角点的坐标来表示此栅格的坐标。
作为实施例二,如图2所示,观测点标注为点O,激光传感器采集并转换获得的激光点标注为点M,观测点O指向激光点M形成观测射线OM,激光点M所在的栅格是所述预设栅格,则观测射线OM与所述预设栅格的对应边相交于点A和点B,即观测射线OM与同一个栅格相交于点A和点B,同时,观测射线OM与所述预设栅格的任一边都不重合;其中,点A与观测点O的距离大于点B与观测点O的距离,则将点A与点B之间的距离定义为第一预设距离AB,点A与激光点M之间的距离定义为第二预设距离MA,第一预设交点标注为点B,第二预设交点标注为点A;在此基础上,可以沿着观测射线OM的方向,挑选出位于同一预设栅格的第一预设交点B、第二预设交点A和激光点M,第一预设交点B和第二预设交点A可以理解为所述激光点M在观测射线OM与相应栅格相交边上的映射点。在实施例二中,当第二预设距离MA与第一预设距离AB的比值大于所述预设比例系数时,确定所述激光点M在观测射线OM的方向上命中的目标栅格是所述预设栅格在观测射线OM的方向上的邻域栅格,是沿着所述观测射线OM的方向搜索的距离所述激光点M最近的一个栅格,则该目标栅格在图2中是观测射线OM的箭头指向所述预设栅格的同一列的上一行的栅格,相应地,在图2所示的地图坐标系中,以栅格的左下角点的坐标来表示此栅格的坐标,则激光点M所处的栅格(所述预设栅格)的坐标是(0,0),所述激光点M在观测射线OM的方向上命中的目标栅格的坐标是(0,1)。在实施例二中,当第二预设距离MA与第一预设距离AB的比值不大于所述预设比例系数时,确定所述激光点M在观测射线OM的方向上命中的目标栅格是所述预设栅格,该目标栅格在图2中是所述激光点M原来所处的栅格,相应地,在图2所示的地图坐标系中,以栅格的左下角点的坐标来表示此栅格的坐标,则激光点M所处的栅格(所述预设栅格)的坐标是(0,0),所述激光点M在观测射线OM的方向上命中的目标栅格的坐标是(0,0)。实现在二维栅格地图内获得与实际物理位置的距离误差更小的栅格。
在前述实施例的基础上,当第二预设距离与第一预设距离的比值大于所述预设比例系数时,可推断出所述观测射线的方向决定所述激光点在所述观测射线的方向上命中的目标栅格相对于所述激光点所处的所述预设栅格的分布方向,简称为邻域栅格方向,包括图2至图3所示的射线的箭头指示的方向。所述邻域栅格方向划分为所述预设栅格的左上方、所述预设栅格的左下方、所述预设栅格的右上方、所述预设栅格的右下方、所述预设栅格的正上方、所述预设栅格的正下方、所述预设栅格的正左方和所述预设栅格的正右方。每一种所述邻域栅格方向都可以参照图2对应的实施例二,确定出所述观测射线的方向对应的目标栅格,在此不再一一制作附图和文字进行描述,只是对实施例二中的相关观测射线和栅格进行适应性地调整。
优选地,当所述激光点位于栅格的边上时,所述激光点是所述第二预设交点,该优选例中只能将所述激光点设置为所述第二预设交点,此时所述激光点只能作为观测射线与该栅格的边相交的两个预设交点当中,与同一个观测点相距最近的预设交点,其中,观测射线不与栅格的任意一条边重合,则所述第二预设距离与所述第一预设距离的比值等于0,其中,预设比例系数大于0,使得所述激光点M在观测射线OM的方向上命中的目标栅格是所述预设栅格。从而,在所述激光点落到栅格的边上时,选择所述观测射线经过所述激光点后,继续经过的第一个栅格作为所述目标栅格,以拉近所述目标栅格与所述激光点的距离。可参照图2,对激光点M的位置进行移位理解,当所述激光点M落入到点A的位置时,观测射线OM与所述预设栅格(0,0)的对应边相交于点M和点B,第二预设交点只能标注为点M,则第一预设交点标注为点B,再将点M与点B之间的距离定义为第一预设距离MB,并将点M与激光点M之间的距离定义为第二预设距离,因此,第二预设距离等于0,第二预设距离MA与第一预设距离AB的比值等于0,小于所述预设比例系数,此时,选择所述预设栅格(0,0)作为所述激光点M在观测射线OM的方向上命中的目标栅格。其中,所述预设比例系数大于0。
在所述激光点落到栅格的边上时,按照前述选择所述观测射线经过所述激光点后,继续经过的第一个栅格作为所述目标栅格的构思,继续参照图2,对激光点M的位置进行移位理解,当所述激光点M落入到点B的位置时,观测射线OM与栅格(0,0)的对应边相交于点M和点A,观测射线OM与栅格(0,1)的对应边相交于点M和一个新的点,此时,相交的新的点是位于Y轴上(图中没有表示出),栅格(0,1)更新为所述预设栅格,第二预设交点标注为点M,则第一预设交点标注为位于Y轴上的相交的新的点,由于第二预设交点M与激光点M之间直线距离等于0,则第二预设距离等于0,因此,第二预设距离与第一预设距离的比值等于0,小于所述预设比例系数,此时,选择栅格(0,1)作为所述激光点M在观测射线OM的方向上命中的目标栅格。其中,所述预设比例系数大于0。其中,栅格(0,1)是坐标为(0,1)的栅格,栅格(0,0)是坐标为(0,0)的栅格。
作为实施例三,所述第一预设交点和/或所述第二预设交点位于所述预设栅格的顶点处,此时,所述第一预设交点和所述第二预设交点是位于所述预设栅格的对应边上,实现所述目标栅格调整为与所述预设栅格只存在一个公共顶点的栅格。如图3所示,观测点标注为点O,激光传感器采集并转换获得的激光点标注为点N,观测点O指向激光点N形成观测射线ON,激光点N所在的栅格是所述预设栅格,则观测射线ON与所述预设栅格的对应边相交于点C和点D,其中,观测射线ON与所述预设栅格的左上角相交于点D,观测射线ON与所述预设栅格的一边相交于点C,在一些实施例中,点C可以是所述预设栅格的右下角的顶点,但不能是所述预设栅格的左下角的顶点以避免观测射线ON与所述预设栅格的左侧的边重合;由于点D与观测点O的距离大于点C与观测点O的距离,则将第一预设交点标注为点D,第二预设交点标注为点C,点D与点C之间的距离定义为第一预设距离CD,点C与激光点N之间的距离定义为第二预设距离NC;在此基础上,可以沿着观测射线ON的方向,挑选出位于同一预设栅格的第一预设交点D、第二预设交点C和激光点N,第一预设交点D和第二预设交点C可以理解为所述激光点N在观测射线ON与相应栅格相交边上的映射点。在实施例三中,当第二预设距离NC与第一预设距离DC的比值大于所述预设比例系数时,确定所述激光点N在观测射线ON的方向上命中的目标栅格是所述预设栅格在观测射线ON的方向上的邻域栅格,是沿着所述观测射线ON的方向搜索的距离所述激光点N最近的一个栅格,则该目标栅格在图3中是观测射线ON的箭头指向所述预设栅格的前一列的上一行的栅格,即位于所述预设栅格的左上方的且与所述预设栅格只存在一个公共顶点的栅格,相应地,在图3所示的地图坐标系中,以栅格的左下角点的坐标来表示此栅格的坐标,则激光点N所处的栅格(所述预设栅格)的坐标是(1,1),所述激光点N在观测射线ON的方向上命中的目标栅格的坐标是(0,2)。在实施例三中,当第二预设距离NC与第一预设距离CD的比值不大于所述预设比例系数时,确定所述激光点N在观测射线ON的方向上命中的目标栅格是所述预设栅格,该目标栅格在图3中是所述激光点N原来所处的栅格,相应地,在图3所示的地图坐标系中,以栅格的左下角点的坐标来表示此栅格的坐标,则激光点N所处的栅格(所述预设栅格)的坐标是(1,1),所述激光点N在观测射线ON的方向上命中的目标栅格的坐标是(1,1)。
综上,实施例三在观测射线穿过所述预设栅格的顶点基础上,具体是在经过激光点后再经过所述预设栅格的顶点,则将所述激光点在观测射线的方向上命中的目标栅格调整为与所述预设栅格只存在一个公共顶点的栅格,具体可以是所述预设栅格的左上方的邻域栅格、所述预设栅格的右上方的邻域栅格、所述预设栅格的左下方的邻域栅格和所述预设栅格的右下方的邻域栅格,所述目标栅格具体是由所述观测射线的方向指定的,从而扩展所述激光点在相应矩形区域内的命中形式。其中,目标栅格的每一种类型都可以按照实施例三所对应的方式确定出来,此处不再赘述。
需要说明的是,在本实施例三中,当所述激光点N落入到栅格的边上时,所述目标栅格的确定方式与前述优选例的目标栅格的确定方式基本相同,因此关于预设交点和距离比值运算的相关描述可参照前述实施例一,此处不再赘述。
作为实施例四,与实施例一和实施例二所述的场景不同的是,所述栅格定位方法还包括,在所述观测射线与二维栅格地图中的栅格的边重合的情况下,若所述激光点不位于该栅格的顶点处,则选择以所述激光点所在的栅格的边为公共边的两个栅格之一作为所述激光点在观测射线的方向上命中的目标栅格,如图4所示,观测点标注为点O,激光传感器采集并转换获得的激光点标注为点P,激光点P位于栅格的边上,观测点O指向激光点P形成观测射线OP,以激光点P所在的栅格的边为公共边,该公开边的左侧的栅格和该公开边的右侧的栅格当中的任一个栅格都可以作为所述激光点P在观测射线OP的方向上命中的目标栅格,相应地,在图4所示的地图坐标系中,以栅格的左下角点的坐标来表示此栅格的坐标,则该公开边的左侧的栅格的坐标是(1,2),该公开边的右侧的栅格的坐标是(2,2)。此时,不用计算所述观测射线与同一个栅格的交点所产生的相应距离之间的比值,便于确定出激光点实际命中的栅格。
在实施例四中,所述栅格定位方法还包括,在所述观测射线与二维栅格地图中的栅格的边重合的情况下,若所述激光点位于该栅格的顶点处,则在以所述激光点所在的顶点为公共顶点的四个栅格中,选择偏离观测点最远的两个栅格之一作为所述激光点在观测射线的方向上命中的目标栅格,其中,偏离观测点最远的两个栅格是位于同一行或同一列的相邻的两个栅格,此时,偏离观测点最远的两个栅格关于观测射线是对称分布的,则观测点到这两个栅格的中心的垂直距离是相等。
如图4所示,观测点标注为点O,激光传感器采集并转换获得的激光点标注为点F,激光点P位于栅格的顶点处,观测点O指向激光点F形成观测射线OF,观测射线OF与Y轴方向上经过顶点F的栅格的边重合,则以所述激光点F所在的顶点为公共顶点的四个栅格中,选择激光点F的上一行的两个栅格之一作为所述激光点在观测射线的方向上命中的目标栅格,激光点F的上一行的两个栅格是在以所述激光点F所在的顶点为公共顶点的四个栅格中偏离观测点最远的两个栅格,相应地,在图4所示的地图坐标系中,以栅格的左下角点的坐标来表示此栅格的坐标,则以所述激光点F所在的顶点为公共顶点的四个栅格中,栅格的坐标按照逆时针方向依次是(1,2)、(2,2)、(1,3)和(2,3),由于观测点O是位于X轴的下方(Y轴的负方向上),所以,偏离观测点最远的两个栅格分别是坐标为(1,3)的栅格和坐标为(2,3)的栅格,本实施例中,坐标为(1,3)的栅格的中心与观测点之间的距离,等于坐标为(2,3)的栅格的中心与观测点之间的距离;坐标为(1,2)的栅格的中心与观测点之间的距离,等于坐标为(2,2)的栅格的中心与观测点之间的距离;坐标为(1,3)的栅格的中心与观测点之间的距离,大于坐标为(1,2)的栅格的中心与观测点之间的距离,表示比起坐标为(1,2)的栅格,坐标为(1,3)的栅格距离所述观测点更远。因此,实施例四在所述观测射线与二维栅格地图中的栅格的边重合的前提下,依据距离观测点的远近程度选择具备公共边或公共顶点的两个相关联的栅格之一作为所述目标栅格,以拉近所述目标栅格与预期定位的实际物理位置的间距。
需要说明的是,三维图像是一种特殊的信息表达形式,其特征是表达的空间中三个维度的数据。和二维图像相比,三维图像借助第三个维度的信息,可以实现天然的物体和背景解耦。
本发明公开的点云是通过一定的测量手段直接或间接采集的,且符合测量规则能够刻画目标表面特性的密集点集合,则三维栅格地图可使用维度为三的、相同尺寸的体素(voxel)表示,也命名为体素栅格,比如,在三维栅格地图的场景中,体素栅格是用固定大小的立方块或立方体作为最小单元,来表示三维物体的一种数据结构;因此,体素也可以看成点云地图中的点云。
作为一种实施例,本发明还公开一种基于激光观测方向的体素定位方法,该体素定位方法的执行主体是安装有用于激光传感器的移动机器人,其中,激光传感器用于采集反射自被扫描物体的激光信息,并交由移动机器人内部的控制器转换为及时构建的地图内的点,这个点可以表示扫描位置的栅格序号,是从世界坐标系转入三维栅格坐标系,每个栅格序号有x、y和z三个量。
该体素定位方法包括,选择出与激光点处于同一个预设体素的两个预设交点,在一些实施例中,可以沿着观测射线的方向搜索出与激光点处于同一个预设体素的两个预设交点,其中,第一预设交点和第二预设交点都是观测射线与预设体素的对应面的交点,本实施例中,第一预设交点和第二预设交点可以分别位于预设体素对应的立方体的不同面上,但所述观测射线不与体素的棱重合,具体是所述观测射线不与预设体素的任一条棱重合;其中,在所述观测射线上,激光点与前述两个预设交点处于同一个体素,包括位于该体素的面上、或者位于该体素的8个面包围的空间区域的内部(但不包括其面),本实施例将这一类型的体素定义为预设体素;所述观测射线是由观测点指向激光点的射线,所述观测点是激光传感器在三维栅格地图中标记的空间位置。其中,激光点是激光传感器采集的激光反射信息转换到三维栅格地图内的激光点云。本实施例中,体素的面是形成该体素的立方体的面的简称。
在一些实施例中,第一预设交点和第二预设交点也可以位于预设体素对应的立方体的同一个面上,且位于该面的不同边上,此时,具体的实施方式可参照前述实施例一至四以寻找出前述的目标栅格。
然后在前述两个预设交点中,将与观测点相距最远的预设交点设置为第一预设交点,并将与同一个观测点相距最近的预设交点设置为第二预设交点,在所述观测射线上,第一预设交点与观测点的距离大于第二预设交点与观测点的距离,其中,本实施例将第一预设交点与第二预设交点之间的直线距离设置为第一预设距离设置,并将激光点与第二预设交点之间的直线距离设置为第二预设距离。
然后,根据所述第二预设距离与所述第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标体素,以形成该激光点在三维栅格地图内最新命中的体素,即最新命中的体素栅格位置,实现在三维栅格地图内获得与实际物理位置的定位误差更小的体素,从而能够沿着所述观测射线的方向,把地图中当前命中的体素的附近区域内的存在合理距离的体素,配置为所述目标体素,并更新为地图中当前命中的体素。其中,预设比例系数的具体设定是能够根据实际试验结果进行自适应的调节,以适应机器人构建的三维栅格地图存在的误差,具体是,激光构建的三维栅格地图依据栅格分辨率划分出的三维空间图像中,地图表示的环境信息会与实际有偏差,例如存在地图中直线段呈锯齿状、线段会分层叠加、线段有噪点等问题。
需要说明的是,激光点是激光传感器采集到的反射自被扫描物体的激光信息转换到栅格地图内的点云,是属于激光扫描点或者激光采样点,反映位置信息(包括到被扫描物体表面的探测距离和探测角度)和激光反射强度;具体地,激光传感器若将激光束按照某种轨迹对被扫描物体进行扫描,便会边扫描边记录到反射回的激光信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点云。其中,激光传感器一般是支持360度旋转扫描的激光雷达,带有激光发射探头和接收探头。在一些实现方式中,激光点经过处理后,可对激光遇到的特定表面要素进行分类,则地板、家具、墙壁以及室内任何激光束在测量过程中遇到的物体构成了激光点云数据,实现对这些物体的位置的测定。具体地,激光传感器采集到的反射自被扫描物体的激光信息是包括激光雷达数据包,激光雷达数据包包括若干帧激光点云数据,每帧激光点云数据包括若干个扫描点,每个扫描点包含角度(逆时针为正方向)和距离。
在上述实施例的基础上,所述根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标体素的方法包括:当第二预设距离与第一预设距离的比值大于所述预设比例系数时,确定所述激光点在观测射线的方向上命中的目标体素是所述预设体素在观测射线的方向上的邻域体素,是沿着所述观测射线的方向搜索的距离所述激光点最近的一个体素;当第二预设距离与第一预设距离的比值不大于所述预设比例系数时,确定所述激光点在观测射线的方向上命中的目标体素是所述预设体素,从而将所述激光点原来所处的体素作为所述目标体素;其中,观测射线的方向是由观测点指向所述激光点的方向,用于表示由观测点发出的一种激光观测方向,从而从方向的维度去选择与实际物理位置的差距较小的体素,能够提升定位精度和建图质量。基于前述相关距离的比值是大于0,则所述预设比例系数是优选为大于0。
综上,与现有技术相比,本发明将激光传感器所在位置设置为观测点,再沿着该观测点指向落入地图的激光点的激光观测方向,在该观测点指向落入三维栅格地图的激光点而形成的射线与体素的交点中,搜寻出两个具备定位和距离比较意义的交点,再由与观测点的距离最近的交点与激光点之间的距离与前述两个交点的直线距离的比值来决定该激光点在地图内最新命中的体素栅格位置,形成由激光点与周围的体素的临近程度来决定该激光点在地图内命中的体素栅格位置的地图定位构思,实现在三维栅格地图内获得与实际物理位置的定位误差更小的空间分布位置。
结合图5至图6的三维栅格地图可知,图示的三维栅格地图中的各个体素规整地排布,三维栅格地图中的各个体素在Z轴的每一层内都是以行和列的方式规整的排布,将点O作为机器人的激光传感器占据的栅格位置。本实施例将所述预设体素的邻域体素是与所述预设体素具有公共棱或公共顶点的体素,因此,图5和图6的体素S2是所述预设体素。其中,所述激光点处于所述预设体素的方式包括所述激光点位于所述预设体素的八个面围成的空间区域内、以及所述激光点位于所述预设体素的一个面上;其中,所述激光点位于所述预设体素的一个面上的形式包括所述激光点位于所述预设体素的一个顶点处,以反映出被扫描物体表面的三维位置信息。需要说明的是,在上述实施例中,所述预设体素在所述观测射线的方向上的邻域体素是以所述预设体素为搜索起点,沿着所述观测射线的方向搜索到的一个相邻的体素,所述观测射线的方向如图6的射线OL的箭头所指方向,或所述观测射线的方向如图5的射线OU的箭头所指方向。从而沿着预先设定的观测射线的方向从激光点的周围区域包括自身所处的体素位置搜索出目标体素,加快激光点在三维栅格地图内的命中效率。
具体地,若获得所述预设体素的横轴方向序号为s0,且获得所述预设栅格的纵轴方向序号为h0,且获得所述预设体素的竖轴方向序号为z0,则在三维栅格地图中,所述预设栅格的邻域栅格是存在于纵轴方向序号的数值范围是[h0-1,h0+1]、横轴方向序号的数值范围是[s0-1,s0+1]、且竖轴方向序号的数值范围是[z0-1,z0+1]的体素当中,因此,在s0、h0和z0已知的前提下,从纵轴方向序号的数值范围是[h0-1,h0+1]、横轴方向序号的数值范围是[s0-1,s0+1]、且竖轴方向序号的数值范围是[z0-1,z0+1]的体素当中,排除出所述预设体素,剩余的体素即为所述预设体素的邻域体素,以使得所述激光点在三维栅格地图中存在横轴方向序号、纵轴方向序号和竖轴方向序号相匹配的体素,其中,s0是整数,h0是整数,z0是整数,以构建出图5至图6的三维栅格地图。
优选地,在图5所示的三维栅格地图内,图5的U点所处的体素S2的横轴方向序号是4,图5的体素S2的纵轴方向序号是2,图5的体素S2的纵轴方向序号是2,图5的体素S2的竖轴方向序号是1。
优选地,在图6所示的三维栅格地图内,图6的L点所处的体素也是体素S2,则图5的体素S2的邻域体素是:横轴方向序号的数值范围是[3,5],纵轴方向序号的数值范围是[1,3],且竖轴方向序号的数值范围是[0,2]的体素中,除了体素S2之外的体素。因此,本实施例能够根据三维栅格地图中的横轴方向序号、纵轴方向序号和竖轴方向序号唯一确定出一个体素。
一般地,在所述三维栅格地图的地图坐标系中,即在三维栅格坐标系中,每个体素的坐标以该体素的其中一个顶点的坐标表示,包括使用该体素的左下角顶点的坐标、左上角顶点的坐标、右下角顶点的坐标、或右上角顶点的坐标来表示该体素的坐标,在一些实施场景下,使用体素的中心位置对应于被扫描区域的真实地理位置,因此,每个体素的坐标会使用该体素的中心位置的坐标表示。其中,该体素的相关顶点及中心位置的坐标表示该体素在所述三维栅格地图中的横轴方向序号、纵轴方向序号和竖轴方向序号,横坐标等于横轴方向序号,纵坐标等于纵轴方向序号,竖坐标等于竖轴方向序号。如图5至图6的三维栅格地图所示,从左到右遍历体素,对应的横轴方向序号逐步递增;从前到后遍历体素,对应的纵轴方向序号逐步递增;从下到上遍历体素,对应的竖轴方向序号逐步递增;从而保证所述三维栅格地图内逐个体素连接生成的路径是连续的。
为便于理解,在图5至图6所示的地图坐标系中,都是以体素的左下角顶点的坐标来表示此体素的坐标,其中,体素S2的坐标使用图5和图6中的顶点T的坐标表示,所以,体素S2的坐标具体是(4,2,1)。
作为实施例五,如图5所示,观测点标注为点O,激光传感器采集并转换获得的激光点标注为点U,观测点O指向激光点U形成观测射线OU,激光点U所在的体素是所述预设体素S2,则观测射线OU与所述预设体素S2的对应面相交于点V和点R,即观测射线OU与同一个体素相交于点V和点R,同时,观测射线OU与所述预设体素的任一条棱都不重合;其中,点R与观测点O的距离大于点S与观测点O的距离,则将点R与点V之间的距离定义为第一预设距离RV,点V与激光点U之间的距离定义为第二预设距离VU,第一预设交点标注为点R,第二预设交点标注为点V;在此基础上,可以沿着观测射线OU的方向,挑选出位于同一预设体素S2的第一预设交点R、第二预设交点V和激光点U,第一预设交点R和第二预设交点V可以理解为所述激光点U在观测射线OU与体素S2相交面上的映射点。在实施例五中,当第二预设距离VU与第一预设距离RV的比值大于所述预设比例系数时,确定所述激光点U在观测射线OU的方向上命中的目标体素是所述预设体素S2在观测射线OU的方向上的邻域体素S1,是沿着所述观测射线OU的方向搜索的距离所述激光点U最近的一个体素,相应地,在图5所示的地图坐标系中,以体素的左下角顶点的坐标来表示此体素的坐标,则激光点U所处的体素S2的坐标是(4,2,1),所述激光点U在观测射线OU的方向上命中的目标体素S1的坐标是(4,2,2)。在实施例五中,当第二预设距离VU与第一预设距离RV的比值不大于所述预设比例系数时,确定所述激光点U在观测射线OU的方向上命中的目标体素是所述预设体素S2,相应地,在图5所示的地图坐标系中,以体素的左下角顶点的坐标来表示此体素的坐标,则激光点U所处的体素S2的坐标是(4,2,1),所述激光点U在观测射线OU的方向上命中的目标体素的坐标是(4,2,1)。实现在三维栅格地图内获得与实际物理位置的距离误差更小的体素栅格位置。
在前述实施例的基础上,当第二预设距离与第一预设距离的比值大于所述预设比例系数时,可推断出所述观测射线的方向决定所述激光点在所述观测射线的方向上命中的目标体素相对于所述激光点所处的所述预设体素的分布方向,简称为邻域体素方向,包括图5至图6所示的射线的箭头指示的方向。所述邻域体素方向可以划分为由所述预设体素指向其周围相邻的26个邻域体素的方向,即所述邻域体素方向划分为26种不同的方向,每一种方向是指向一个邻域体素。需要说明的是,每一种所述邻域体素方向都可以参照图5对应的实施例五,确定出所述观测射线的方向对应的目标体素,在此不再一一制作附图和文字进行描述,只是对实施例五中的相关观测射线和体素进行适应性地调整。
优选地,当所述激光点位于所述三维栅格地图的体素的面上时,所述激光点是所述第二预设交点,该优选例中只能将所述激光点设置为所述第二预设交点,此时所述激光点只能作为观测射线与该体素(所述预设体素)的相应两个面相交的两个预设交点当中,与同一个观测点相距最近的预设交点,其中,观测射线不与体素的任意一条棱重合,则按照前述实施例五所述的栅格定位方法可知,所述第二预设距离与所述第一预设距离的比值等于0,其中,预设比例系数大于0,使得所述激光点U在观测射线OU的方向上命中的目标体素是所述预设体素。从而,在所述激光点落到体素的面上时,选择所述观测射线通过所述激光点后所经过的第一个体素作为所述目标体素,以拉近所述目标体素与所述激光点的距离。可参照图5,对激光点U的位置进行移位理解,当所述激光点U落入到点V的位置时,观测射线OU与所述预设体素S2的对应面相交于点U和点R,第二预设交点只能标注为点U,则第一预设交点标注为点R,再将点U与点R之间的距离定义为第一预设距离UR,并将点U与激光点U之间的距离定义为第二预设距离,因此,第二预设距离等于0,第二预设距离与第一预设距离的比值等于0,小于所述预设比例系数,此时,选择所述预设体素(4,2,1)作为所述激光点U在观测射线OU的方向上命中的目标体素。其中,所述预设比例系数大于0。
在所述激光点落到体素的面上时,按照前述选择所述观测射线通过所述激光点后所经过的第一个体素作为所述目标体素的构思,继续参照图5,对激光点U的位置进行移位理解,当所述激光点U落入到点R的位置时,观测射线OU与所述预设体素S2的对应面相交于点U和点V,观测射线OU与体素(4,2,2)的对应面相交于点U和一个新的点,此时,相交的新的点是位于与水平面垂直的平面上,然后,体素(4,2,2)更新为所述预设体素,第二预设交点标注为点U,则第一预设交点标注为前述相交的新的点,由于第二预设交点U与激光点U之间直线距离等于0,则第二预设距离等于0,因此,第二预设距离与第一预设距离的比值等于0,小于所述预设比例系数,此时,选择体素(4,2,2)作为所述激光点U在观测射线OU的方向上命中的目标体素。其中,所述预设比例系数大于0;其中,体素(4,2,2)是坐标为(4,2,2)的体素,体素(4,2,1)是坐标为(4,2,1)的体素。
作为实施例六,所述第一预设交点和所述第二预设交点是位于所述预设体素的棱上,此时,所述第一预设交点和/或所述第二预设交点会存在位于所述预设体素的顶点处的情况,以使得所述目标体素是与所述预设体素只存在一个公共顶点或一条公共棱的体素。具体地,如图6所示,观测点标注为点O,激光传感器采集并转换获得的激光点标注为点L,观测点O指向激光点L形成观测射线OL,激光点L所在的体素是所述预设体素,则观测射线OL与所述预设体素的对应面相交于点I和点J,其中,观测射线OL与所述预设体素的左侧面上方的棱相交于点J,观测射线OL与所述预设体素的右侧面相交于点I,在一些实施例中,点I可以是所述预设体素的右侧面的下方的棱上,但线段IJ不位于所述预设体素的一个面上;由于点J与观测点O的距离大于点I与观测点O的距离,则将第一预设交点标注为点J,第二预设交点标注为点J,点I与点J之间的距离定义为第一预设距离IJ,点I与激光点L之间的距离定义为第二预设距离IL;在此基础上,可以沿着观测射线OL的方向,挑选出位于同一预设体素的第一预设交点J、第二预设交点I和激光点L,第一预设交点J和第二预设交点I可以理解为所述激光点L在观测射线OL与相应体素相交的面上的映射点。在实施例六中,当第二预设距离IL与第一预设距离IJ的比值大于所述预设比例系数时,确定所述激光点L在观测射线OL的方向上命中的目标体素是所述预设体素在观测射线OL的方向上的邻域体素,是沿着所述观测射线OL的方向搜索的距离所述激光点L最近的一个体素,即图6中的体素S3,体素S3位于所述预设体素S2的左上方的且与所述预设体素只存在一个公共棱的体素,相应地,在图6所示的地图坐标系中,以体素的左下角顶点的坐标来表示此体素的坐标,则激光点L所处的体素S2的坐标是(4,2,1),所述激光点L在观测射线OL的方向上命中的目标体素的坐标是(3,2,2)。在实施例六中,当第二预设距离IL与第一预设距离IJ的比值不大于所述预设比例系数时,确定所述激光点L在观测射线OL的方向上命中的目标体素是所述预设体素,该目标体素在图6中是所述激光点L原来所处的体素,相应地,在图6所示的地图坐标系中,以体素的左下角顶点的坐标来表示此体素的坐标,则激光点L所处的体素S2的坐标是(4,2,1),所述激光点L在观测射线OL的方向上命中的目标体素的坐标是(4,2,1)。
综上,实施例六在观测射线穿过所述预设体素的棱基础上,具体是在经过激光点后再经过所述预设体素的棱,其中,激光点没有位于所述预设体素的一个面上;则将所述激光点在观测射线的方向上命中的目标体素调整为与所述预设体素只存在一个公共棱的体素,具体可以是与所述预设体素的竖坐标相同的且只存在一个公共棱的4个邻域体素、与所述预设体素的横坐标相同的且只存在一个公共棱的4个邻域体素、以及与所述预设体素的纵坐标相同的且只存在一个公共棱的4个邻域体素,确定的目标体素是由所述观测射线的方向指定的,其中,目标体素的每一种类型都可以按照实施例六所对应的方式确定出来。具体地,与所述预设体素的纵坐标相同的且只存在一个公共棱的4个邻域体素包括所述预设体素的左上方的邻域体素(所述预设体素的左侧面的上方的棱为公共棱的邻域体素)、所述预设体素的右上方的邻域体素(以所述预设体素的右侧面的上方的棱为公共棱的邻域体素)、所述预设体素的左下方的邻域体素(以所述预设体素的左侧面的下方的棱为公共棱的邻域体素)、所述预设体素的右下方的邻域体素(以所述预设体素的右侧面的下方的棱为公共棱的邻域体素);与所述预设体素的横坐标相同的且只存在一个公共棱的4个邻域体素包括所述预设体素的前下方的邻域体素(以所述预设体素的前侧面的下方的棱为公共棱的邻域体素)、所述预设体素的前上方的邻域体素(以所述预设体素的前侧面的上方的棱为公共棱的邻域体素)、所述预设体素的后上方的邻域体素(以所述预设体素的后侧面的上方的棱为公共棱的邻域体素)和所述预设体素的后下方的邻域体素(以所述预设体素的后侧面的下方的棱为公共棱的邻域体素);与所述预设体素的竖坐标相同的且只存在一个公共棱的4个邻域体素包括所述预设体素的左前方的邻域体素(所述预设体素的左侧面的右侧边为公共棱的邻域体素)、所述预设体素的右前方的邻域体素(以所述预设体素的右侧面的左侧边为公共棱的邻域体素)、所述预设体素的左后方的邻域体素(以所述预设体素的左侧面的左侧边为公共棱的邻域体素)、所述预设体素的右后方的邻域体素(以所述预设体素的右侧面的右侧边为公共棱的邻域体素)。从而扩展所述激光点在相应立体方区域内的命中形式。
在前述实施例六中,所述第一预设交点和/或所述第二预设交点位于所述预设体素的顶点处时,参照图6,对所述第一预设交点J的位置进行移位理解,所述第一预设交点J更新到同一条棱的顶点位置,观测射线OL与体素S2的右侧面相交于点I,在一些实施例中,点I可以是所述预设体素的右侧面的下方的棱上但不位于其顶点处;观测射线OL与体素S2的左侧面的上方的顶点相交于点J,点I与点J之间的距离定义为第一预设距离IJ,点I与激光点L之间的距离定义为第二预设距离IL,观测射线OL指向并经过以体素S2的顶点J为公共顶点的邻域体素;当第二预设距离IL与第一预设距离IJ的比值大于所述预设比例系数时,确定所述激光点L在观测射线OL的方向上命中的目标体素是所述预设体素在观测射线OL的方向上的邻域体素,是以体素S2的顶点J为公共顶点的邻域体素。因此,实施例六在观测射线穿过所述预设体素的顶点的基础上,具体是在经过激光点后再经过所述预设体素的顶点,其中,激光点不位于所述预设体素的一个侧面上;则将所述激光点在观测射线的方向上命中的目标体素调整为与所述预设体素只存在一个公共顶点的体素,属于与所述预设体素的8个顶点分别存在唯一一个公共顶点的邻域体素,累计存在8个邻域体素可供选择,具体是由所述观测射线的方向选定的,从而扩展所述激光点在相应立体方区域内的目标体素命中形式。其中,目标体素的每一种类型都可以按照实施例六所对应的方式确定出来,此处不再赘述。
需要说明的是,在前述实施例六中,当所述激光点L落入到体素的面上时,所述目标栅格的确定方式与前述优选例的目标体素的确定方式基本相同,因此关于预设交点和距离比值运算的相关描述可参照前述实施例五或六,此处不再赘述。
作为实施例七,与实施例五和实施例六所述的场景不同的是,所述体素定位方法还包括,在所述观测射线与三维栅格地图中的体素的一个面的情况下,参照图5和图6,将激光点放置到体素的面上进行置换理解,存在以下步骤:
在所述观测射线与三维栅格地图中的体素的棱不重合的情况下,若所述激光点不位于该体素的顶点处,则选择以所述激光点所在的面为公共面的两个体素之一作为所述激光点在所述观测射线的方向上命中的目标体素,具体是确定所述观测射线沿着体素的面进入所述三维栅格地图并与穿越体素的面时,确定所述激光点不落入体素的顶点处后,示意性地,在图5所示的地图坐标系中,以体素的左下角顶点的坐标来表示此体素的坐标,激光点落入的体素的面对应的横坐标(横轴方向序号)为2,所述激光点所在的面的左侧的体素的坐标为(1,1,1),所述激光点所在的面的右侧的体素的坐标为(2,1,1),此时,坐标为(1,1,1)的体素和坐标为(2,1,1)的体素都可以作为所述目标体素。因此,本实施例不用计算所述观测射线与同一个体素的交点所产生的相应距离之间的比值和进行阈值比较,加快确定出激光点实际命中的体素。
在所述观测射线与三维栅格地图中的体素的棱重合的情况下,若所述激光点不位于该体素的顶点处,则选择以所述激光点所在的体素的棱为公共棱的四个体素之一作为所述激光点在所述观测射线的方向上命中的目标体素;具体是确定所述观测射线沿着体素的棱进入所述三维栅格地图时,确定所述激光点不落入体素的顶点处后,示意性地,在图5所示的地图坐标系中,以体素的左下角顶点的坐标来表示此体素的坐标,以所述激光点所在的体素的棱为公共棱的四个体素的坐标,按照逆时针顺序依次是(1,0,1)、(2,0,1)、(2,1,1)和(1,1,1),由于四个体素关于所述观测射线对称设置在所述三维栅格地图内,所以所述观测点到这四个体素的垂直距离都相等,表示这四个体素偏离该观测点的远近程度是一样的,不会受到所述观测射线的方向的影响。因此,选择以所述激光点所在的体素的棱为公共棱的四个体素之一作为所述激光点在所述观测射线的方向上命中的目标体素。
若所述激光点位于该体素的顶点处,则在以所述激光点所在的顶点为公共顶点的八个栅格中,选择与观测点的垂直距离最大的四个体素之一作为所述激光点在所述观测射线的方向上命中的目标体素,其中,所述观测射线与三维栅格地图中的体素的棱可以重合,也可以不重合。具体地,确定所述观测射线从体素的一个顶点进入所述三维栅格地图时,示意性地,在图5所示的地图坐标系中,以体素的左下角顶点的坐标来表示此体素的坐标,激光点落入的体素的顶点对应的坐标为(1,1,1),观测点是位于XOY坐标平面的下方,使得所述观测射线的方向在一个体素的预设面内自下而上穿过顶点(1,1,1),顶点(1,1,1)是该预设面的顶点,其中,因此,所述观测射线偏离的Y轴正方向的角度大于0度但小于90度,该预设面所在的平面穿过X轴的坐标(1,0,0);同时,以所述激光点所在的顶点为公共顶点的八个栅格中,分布在该预设面的一侧的四个体素分别与该预设面的另一侧的四个对应的体素关于该预设面对称,则同时存在两个体素的中心与所述观测点的距离相等。然后,以所述激光点所在的顶点为公共顶点的八个体素的坐标,竖坐标为0的一层体素的坐标中,按照逆时针顺序依次是(0,0,0)、(1,0,0)、(1,1,0)和(0,1,0);竖坐标为1的一层体素的坐标中,按照逆时针顺序依次是(0,0,1)、(1,0,1)、(1,1,1)和(0,1,1)。所以,比起竖坐标为0的一层体素,竖坐标为1的一层体素的中心距离所述观测点更远,则当所述观测射线在所述预设面内具备往Y轴正方向延伸的趋势,则坐标为(1,1,1)的体素和坐标为(0,1,1)的体素都可以作为所述激光点在所述观测射线的方向上命中的目标体素;当所述观测射线在所述预设面内具备往Y轴负方向延伸的趋势,则坐标为(0,0,1)的体素和坐标为(1,0,1)的体素都可以作为所述激光点在所述观测射线的方向上命中的目标体素。
综上,实施例七中,所述观测射线位于所述三维栅格地图中的体素的一个面上,即观测射线被配置为不穿过同一个体素的不同面的前提下,基于距离观测点的远近程度确定所述目标体素,扩展所述激光点命中的目标体素的区域选择范围。
本发明还公开一种机器人,所述机器人包括机器人主体;设于所述机器人主体上的行走机构;设于所述机器人主体上的激光传感器,激光传感器用于采集反射自被扫描物体的激光信息,获得激光点,以形成激光点云;控制器,所述控制器内置于所述机器人主体中,与所述激光传感器连接;所述控制器包括至少一个处理器,以及存储器,所述存储器与所述至少一个处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述机器人实现前述实施例公开的一种基于激光观测方向的栅格定位方法,包括实现实施例一至四;和/或实现前述实施例的一种基于激光观测方向的体素定位方法,包括实现实施例五至七。使得机器人所选取的目标栅格或目标体素所表示的位置与实际物理位置更贴近,能够提升定位精度和建图质量。
需要说明的是,该机器人是一种自移动机器人,包括但不限于激光导航机器人、视觉导航机器人。所述至少一个处理器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储用于构建二维栅格地图和三维栅格地图所需创建的坐标数据等。此外,所述至少一个处理器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,所述至少一个处理器可选地包括相对于相应的处理器远程设置的存储器,这些远程存储器可以通过网络连接至机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于前述实施例,还公开一种芯片,所述芯片存储有计算机可执行指令,当所述计算机可执行指令被所述芯片执行时实现如所述的一种基于激光观测方向的栅格定位方法,实现在二维栅格地图内获得与实际物理位置的定位误差更小的栅格,和/或所述的一种基于激光观测方向的体素定位方法,实现在三维栅格地图内获得与实际物理位置的定位误差更小的体素。
一方面,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例 中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的 软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器、磁盘或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述的多个实施例的方法和/或技术方案。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (14)
1.一种基于激光观测方向的栅格定位方法,其特征在于,该栅格定位方法包括:
选择出与激光点处于同一个预设栅格的两个预设交点;然后在前述两个预设交点中,将与观测点相距最远的预设交点设置为第一预设交点,并将与同一个观测点相距最近的预设交点设置为第二预设交点;其中,第一预设交点和第二预设交点都是观测射线与预设栅格的对应边的交点;
根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标栅格,以形成该激光点在二维栅格地图内最新命中的栅格位置;其中,第一预设距离是第一预设交点与第二预设交点之间的直线距离,第二预设距离是激光点与第二预设交点之间的直线距离;
其中,观测射线是由观测点指向激光点的射线,且观测射线不与栅格的边重合;观测点是激光传感器在二维栅格地图中标记的位置;
所述根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标栅格的方法包括:
当第二预设距离与第一预设距离的比值大于预设比例系数时,确定所述激光点在观测射线的方向上命中的目标栅格是所述预设栅格在观测射线的方向上的邻域栅格;
当第二预设距离与第一预设距离的比值不大于预设比例系数时,确定所述激光点在观测射线的方向上命中的目标栅格是所述预设栅格;
其中,观测射线的方向是由观测点指向所述激光点的方向,用于表示由观测点发出的一种激光观测方向;
当所述激光点位于栅格的边上时,所述激光点是所述第二预设交点,则所述第二预设距离与所述第一预设距离的比值等于0,使得所述观测射线经过所述激光点后,继续经过的第一个栅格成为所述目标栅格,其中,预设比例系数大于0。
2.根据权利要求1所述栅格定位方法,其特征在于,所述第一预设交点和/或所述第二预设交点是允许位于所述预设栅格的顶点处,以使得所述目标栅格为与所述预设栅格只存在一个公共顶点的栅格;
其中,所述第一预设交点和所述第二预设交点分别位于所述预设栅格的不同边。
3.根据权利要求1所述栅格定位方法,其特征在于,所述栅格定位方法还包括在所述观测射线与二维栅格地图中的栅格的边重合的情况下,若所述激光点不位于该栅格的顶点处,则选择以所述激光点所在的栅格的边为公共边的两个栅格之一作为所述激光点在观测射线的方向上命中的目标栅格;
在所述观测射线与二维栅格地图中的栅格的边重合的情况下,若所述激光点位于该栅格的顶点处,则在以所述激光点所在的顶点为公共顶点的四个栅格中,选择偏离观测点最远的两个栅格之一作为所述激光点在观测射线的方向上命中的目标栅格,其中,偏离观测点最远的两个栅格是位于同一行或同一列的相邻的两个栅格。
4.根据权利要求1所述栅格定位方法,其特征在于,在所述二维栅格地图的地图坐标系中,每个栅格的坐标是该栅格的左下角点的坐标、该栅格的左上角点的坐标、该栅格的右下角点的坐标、该栅格的右上角点的坐标或该栅格的中心位置的坐标;
其中,该栅格的相关边角点及中心位置的坐标用于表示该栅格在所述二维栅格地图中的行序号和列序号。
5.根据权利要求1所述栅格定位方法,其特征在于,所述预设栅格的邻域栅格是与所述预设栅格具有公共边或公共顶点的栅格;
所述预设栅格在所述观测射线的方向上的邻域栅格是以所述预设栅格为搜索起点,沿着所述观测射线的方向搜索到的一个相邻的栅格;
其中,所述激光点处于所述预设栅格的方式包括所述激光点位于所述预设栅格的四条边围成的区域内、以及所述激光点位于所述预设栅格的一条边上,以反映出被扫描物体的二维位置信息。
6.根据权利要求5所述栅格定位方法,其特征在于,若获得所述预设栅格的列序号为s0,且获得所述预设栅格的行序号为h0,则在二维栅格地图中,所述预设栅格的邻域栅格存在于行序号的数值范围是[h0-1,h0+1]且列序号的数值范围是[s0-1,s0+1]的栅格当中,其中,s0是整数,h0是整数。
7.一种基于激光观测方向的体素定位方法,其特征在于,该体素定位方法包括:
选择出与激光点处于同一个预设体素的两个预设交点;然后在前述两个预设交点中,将与观测点相距最远的预设交点设置为第一预设交点,并将与同一个观测点相距最近的预设交点设置为第二预设交点;其中,第一预设交点和第二预设交点都是观测射线与预设体素的对应面的交点;
根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标体素,以形成该激光点在二维栅格地图内最新命中的体素;其中,第一预设距离是第一预设交点与第二预设交点之间的直线距离,第二预设距离是激光点与第二预设交点之间的直线距离;
其中,观测射线是观测点指向激光点的射线,观测射线被配置为穿过同一个体素的不同面,但所述观测射线不与体素的棱重合;
其中,观测点是激光传感器在三维栅格地图中标记的位置;激光点是激光传感器采集的激光反射信息转换到三维栅格地图内的激光点云;
所述根据第二预设距离与第一预设距离的比值与预设比例系数的大小关系,确定激光点在观测射线的方向上命中的目标体素的方法包括:
当第二预设距离与第一预设距离的比值大于预设比例系数时,确定所述激光点在观测射线的方向上命中的目标体素是所述预设体素在观测射线的方向上的邻域体素;
当第二预设距离与第一预设距离的比值不大于预设比例系数时,确定所述激光点在观测射线的方向上命中的目标体素是所述预设体素;
其中,观测射线的方向是由观测点指向激光点的方向;
当所述激光点位于所述三维栅格地图的体素的面上时,所述激光点是所述第二预设交点,则所述第二预设距离与所述第一预设距离的比值等于0,使得所述激光点在观测射线的方向上命中的目标体素是所述预设体素,其中,所述预设比例系数大于0。
8.根据权利要求7所述体素定位方法,其特征在于,所述第一预设交点和/或所述第二预设交点位于所述预设体素的棱上,以使得所述目标体素是与所述预设体素只存在一个公共顶点或一条公共棱的体素;
其中,所述第一预设交点和所述第二预设交点位于所述预设体素的不同面。
9.根据权利要求7所述体素定位方法,其特征在于,所述体素定位方法还包括在所述观测射线位于所述三维栅格地图中的体素的一个面上时,存在以下步骤:
在所述观测射线与三维栅格地图中的体素的棱不重合的情况下,若所述激光点不位于体素的顶点处,则选择以所述激光点所在的面为公共面的两个体素之一作为所述激光点在所述观测射线的方向上命中的目标体素;
在所述观测射线与三维栅格地图中的体素的棱重合的情况下,若所述激光点不位于体素的顶点处,则选择以所述激光点所在的体素的棱为公共棱的四个体素之一作为所述激光点在所述观测射线的方向上命中的目标体素;
若所述激光点位于体素的顶点处,则在以所述激光点所在的顶点为公共顶点的八个体素中,选择与观测点的垂直距离最大的体素作为所述激光点在所述观测射线的方向上命中的目标体素。
10.根据权利要求7所述体素定位方法,其特征在于,在所述三维栅格地图的三维地图坐标系中,每个体素的坐标是该体素的其中一个顶点的坐标或该体素的中心位置的坐标。
11.根据权利要求7所述体素定位方法,其特征在于,所述预设体素的邻域体素是与所述预设体素具有公共棱或公共顶点的体素;
所述预设体素在所述观测射线的方向上的邻域体素是以所述预设体素为搜索起点,沿着所述观测射线的方向搜索到的一个相邻的体素;
其中,所述激光点处于所述预设体素的形式包括所述激光点位于所述预设体素的八个面围成的空间区域内、以及所述激光点位于所述预设体素的一个面上;
其中,所述激光点位于所述预设体素的一个面上的形式包括所述激光点位于所述预设体素的一个顶点处。
12.根据权利要求11所述体素定位方法,其特征在于,若获得所述预设体素的横轴方向序号为s0,且获得所述预设体素的纵轴方向序号为h0,且获得所述预设体素的竖轴方向序号为z0,则在三维栅格地图中,所述预设体素的邻域体素是存在于横轴方向序号的数值范围是[h0-1,h0+1]、且纵轴方向序号的数值范围是[s0-1,s0+1]、且竖轴方向序号的数值范围是[z0-1,z0+1]的体素,其中,s0是整数,h0是整数,z0是整数。
13.一种机器人,其特征在于,所述机器人包括:
机器人主体;
设于所述机器人主体上的行走机构;
设于所述机器人主体上的激光传感器,激光传感器用于采集反射自被扫描物体的激光信息,获得激光点,以形成激光点云;
控制器,所述控制器内置于所述机器人主体中,与所述激光传感器连接;
所述控制器包括:
至少一个处理器,以及存储器,所述存储器与所述至少一个处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述机器人实现权利要求1至6任一项所述的一种基于激光观测方向的栅格定位方法,和/或权利要求7至12任一项所述的一种基于激光观测方向的体素定位方法。
14.一种芯片,其特征在于,所述芯片存储有计算机可执行指令,当所述计算机可执行指令被所述芯片执行时实现如权利要求1至6任一项所述的一种基于激光观测方向的栅格定位方法,和/或权利要求7至12任一项所述的一种基于激光观测方向的体素定位方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111238005.4A CN116027341B (zh) | 2021-10-25 | 2021-10-25 | 基于激光观测方向的栅格和体素定位方法、机器人及芯片 |
KR1020247017076A KR20240093877A (ko) | 2021-10-25 | 2022-08-08 | 레이저 관측 방향에 기초한 그리드 및 복셀 포지셔닝 방법, 로봇 및 칩 |
PCT/CN2022/110899 WO2023071377A1 (zh) | 2021-10-25 | 2022-08-08 | 基于激光观测方向的栅格和体素定位方法、机器人及芯片 |
EP22885277.8A EP4425216A1 (en) | 2021-10-25 | 2022-08-08 | Grid and voxel positioning methods based on laser observation direction, robot, and chip |
JP2024524496A JP2024539266A (ja) | 2021-10-25 | 2022-08-08 | レーザ観測方向に基づくグリッドとボクセル位置決め方法、ロボット及びチップ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111238005.4A CN116027341B (zh) | 2021-10-25 | 2021-10-25 | 基于激光观测方向的栅格和体素定位方法、机器人及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116027341A CN116027341A (zh) | 2023-04-28 |
CN116027341B true CN116027341B (zh) | 2024-05-03 |
Family
ID=86072861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111238005.4A Active CN116027341B (zh) | 2021-10-25 | 2021-10-25 | 基于激光观测方向的栅格和体素定位方法、机器人及芯片 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP4425216A1 (zh) |
JP (1) | JP2024539266A (zh) |
KR (1) | KR20240093877A (zh) |
CN (1) | CN116027341B (zh) |
WO (1) | WO2023071377A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783842A (zh) * | 2018-12-05 | 2019-05-21 | 苏州蜗牛数字科技股份有限公司 | 一种基于体素数据的射线检测方法及系统 |
DE102018117239B3 (de) * | 2018-07-17 | 2019-09-26 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Ermitteln einer Zielerfassungsreihenfolge für einen Sensor eines Flugkörpers |
CN112859859A (zh) * | 2021-01-13 | 2021-05-28 | 中南大学 | 一种基于三维障碍物体素对象映射的动态栅格地图更新方法 |
CN113537202A (zh) * | 2020-04-15 | 2021-10-22 | 珠海一微半导体股份有限公司 | 硬件加速的sift特征点的坐标定位方法、系统及芯片 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007264952A (ja) * | 2006-03-28 | 2007-10-11 | Fujitsu Fip Corp | 地盤解析用メッシュ生成方法及び地盤解析用メッシュ生成プログラム |
JP6221158B2 (ja) * | 2014-08-27 | 2017-11-01 | 本田技研工業株式会社 | 自律行動ロボット、及び自律行動ロボットの制御方法 |
CN109214248B (zh) * | 2017-07-04 | 2022-04-29 | 阿波罗智能技术(北京)有限公司 | 用于识别无人驾驶车辆的激光点云数据的方法和装置 |
US11815602B2 (en) * | 2017-10-03 | 2023-11-14 | Intel Corporation | Grid occupancy mapping using error range distribution |
CN112629548B (zh) * | 2020-12-28 | 2023-01-24 | 北京航空航天大学 | 一种基于路侧激光雷达的三维栅格地图的创建与更新方法 |
CN113009506B (zh) * | 2021-02-22 | 2022-12-09 | 西安交通大学 | 一种虚实结合的实时激光雷达数据生成方法、系统及设备 |
-
2021
- 2021-10-25 CN CN202111238005.4A patent/CN116027341B/zh active Active
-
2022
- 2022-08-08 KR KR1020247017076A patent/KR20240093877A/ko unknown
- 2022-08-08 JP JP2024524496A patent/JP2024539266A/ja active Pending
- 2022-08-08 WO PCT/CN2022/110899 patent/WO2023071377A1/zh active Application Filing
- 2022-08-08 EP EP22885277.8A patent/EP4425216A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018117239B3 (de) * | 2018-07-17 | 2019-09-26 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Ermitteln einer Zielerfassungsreihenfolge für einen Sensor eines Flugkörpers |
CN109783842A (zh) * | 2018-12-05 | 2019-05-21 | 苏州蜗牛数字科技股份有限公司 | 一种基于体素数据的射线检测方法及系统 |
CN113537202A (zh) * | 2020-04-15 | 2021-10-22 | 珠海一微半导体股份有限公司 | 硬件加速的sift特征点的坐标定位方法、系统及芯片 |
CN112859859A (zh) * | 2021-01-13 | 2021-05-28 | 中南大学 | 一种基于三维障碍物体素对象映射的动态栅格地图更新方法 |
Non-Patent Citations (2)
Title |
---|
"3D LIDAR point cloud based intersection recognition for autonomous driving";Quanwen Zhu等;《2012 IEEE Intelligent Vehicles Symposium》;20120705;1-6 * |
"基于改善的射线相交法快速计算复杂几何距离场";周红梅;《河南理工大学学报》;第40卷(第5期);99-103 * |
Also Published As
Publication number | Publication date |
---|---|
JP2024539266A (ja) | 2024-10-28 |
EP4425216A1 (en) | 2024-09-04 |
KR20240093877A (ko) | 2024-06-24 |
CN116027341A (zh) | 2023-04-28 |
WO2023071377A1 (zh) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Deschaud | IMLS-SLAM: Scan-to-model matching based on 3D data | |
CN111486855B (zh) | 一种具有物体导航点的室内二维语义栅格地图构建方法 | |
CN110031824B (zh) | 激光雷达联合标定方法及装置 | |
Kriegel et al. | Efficient next-best-scan planning for autonomous 3D surface reconstruction of unknown objects | |
CN113409410B (zh) | 一种基于3d激光雷达的多特征融合igv定位与建图方法 | |
Kriegel et al. | Next-best-scan planning for autonomous 3d modeling | |
CN108230247B (zh) | 基于云端的三维地图的生成方法、装置、设备及计算机可读的存储介质 | |
CN107850450A (zh) | 用于生成及使用定位参考数据的方法及系统 | |
CN112789609A (zh) | 地图的更新方法、装置、可移动平台及存储介质 | |
CN114119920A (zh) | 三维点云地图构建方法、系统 | |
CN113096183B (zh) | 一种基于激光雷达与单目相机的障碍物检测与测量方法 | |
CN113475976B (zh) | 机器人可通行区域确定方法、装置、存储介质及机器人 | |
JP2017083663A (ja) | 一致性評価装置および一致性評価方法 | |
CN118168545A (zh) | 基于多源传感器融合的除草机器人定位导航系统及方法 | |
CN115131514A (zh) | 一种同时定位建图的方法、装置、系统及存储介质 | |
CN116027341B (zh) | 基于激光观测方向的栅格和体素定位方法、机器人及芯片 | |
CN117994463B (zh) | 一种建设用地测绘方法及系统 | |
CN114663485A (zh) | 一种输电线路图像和点云数据的处理方法和系统 | |
Chen et al. | Low cost and efficient 3D indoor mapping using multiple consumer RGB-D cameras | |
US20020114509A1 (en) | Three-dimensional data processing device, three-dimensional data processing method,and program providing medium | |
CN116679307A (zh) | 基于三维激光雷达的城市轨道交通巡检机器人定位方法 | |
CN112505723A (zh) | 一种基于导航点选择的三维地图重建方法 | |
Zhang et al. | LiDAR and Camera Calibration Using Pyramid and Checkerboard Calibrators | |
CN112396611B (zh) | 一种点线视觉里程计自适应优化方法、装置及存储介质 | |
CN118034308B (zh) | 基于图像处理的全覆盖路径规划方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |