基于点云的定位方法、装置及电子设备与流程

文档序号:14475270阅读:167来源:国知局
基于点云的定位方法、装置及电子设备与流程

本发明涉及智能机器人技术领域,具体涉及一种基于点云的定位方法、装置及电子设备。



背景技术:

随着科技的发展,以及人们对生活质量的要求的不断增高,智能机器人逐渐出现在人们的日常生活中,比如清扫机器人、工业机器人、服务机器人、仓库里搬运货物的机器人等。为了了解机器人的工作情况,需要对机器人进行实时定位,从而获取机器人的行走路线以及所在位置。

然而,发明人在实现本发明的过程中发现,现有的设置有定位设备的机器人大多需要依赖里程计反馈的里程信息进行定位,因此定位方式复杂、成本较高。由此可见,现有技术中缺少一种能够在不依赖里程计的前提下准确定位的方式。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于点云的定位方法、装置及电子设备。

根据本发明的一个方面,提供了一种基于点云的定位方法,包括:

获取到本帧点云数据后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域;

获取与所述本帧点云数据相对应的定位角度信息,根据所述定位角度信息确定所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点;

将所述与所述本帧点云数据相匹配的位置点确定为所述本帧点云数据所对应的本帧定位位置点;

根据所述本帧定位位置点更新待定位物体的定位位置。

可选地,所述根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域的步骤具体包括:

根据所述本帧点云数据以及所述前帧点云数据之间的时间间隔,和/或,根据所述待定位物体的移动速率,确定对应的搜索距离,根据所述搜索距离确定所述局部搜索区域。

可选地,所述根据所述搜索距离确定所述局部搜索区域的步骤具体包括:

将以所述前帧定位位置点为圆心,以所述搜索距离为半径的圆形区域确定为所述局部搜索区域;或者,

将以所述前帧定位位置点为中心点,且边长长度等于所述搜索距离的两倍的正方形区域确定为所述局部搜索区域。

可选地,所述根据所述定位角度信息确定所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点的步骤具体包括:

按照预设的采样规则获取所述局部搜索区域中包含的各个采样位置点;

分别针对每个采样位置点,将所述本帧点云数据按照所述定位角度信息加载至该采样位置点处;

判断加载至该采样位置点处的本帧点云数据与所述待定位物体所对应的环境地图是否匹配;

若是,则将该采样位置点确定为所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点。

可选地,所述将所述本帧点云数据按照所述定位角度信息加载至该采样位置点处的步骤具体包括:

确定与所述定位角度信息相对应的定位角度范围,将所述本帧点云数据加载至该采样位置点处,并使加载后的本帧点云数据在所述定位角度范围内旋转;

则所述判断加载至该采样位置点处的本帧点云数据与所述待定位物体所对应的环境地图是否匹配的步骤具体包括:

分别针对旋转过程中所对应的各个旋转角度,判断加载至该采样位置点处的本帧点云数据与所述待定位物体所对应的环境地图是否匹配。

可选地,所述获取与所述本帧点云数据相对应的定位角度信息的步骤具体包括:

通过设置在所述待定位物体上的角度传感器确定生成所述本帧点云数据时,所述待定位物体相对于用于绘制环境地图的二维坐标系的角度信息;

将所述待定位物体相对于用于绘制环境地图的二维坐标系的角度信息确定为与所述本帧点云数据相对应的定位角度信息。

可选地,所述将该采样位置点确定为所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点的步骤之后,进一步包括:

将匹配时所对应的旋转角度提供给所述角度传感器,以供所述角度传感器进行校准。

可选地,所述根据所述本帧定位位置点更新待定位物体的定位位置的步骤之后,进一步包括:

根据加载至所述本帧定位位置点处的本帧点云数据,更新所述待定位物体所对应的环境地图。

可选地,所述获取到本帧点云数据后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域的步骤具体包括:

判断所述本帧点云数据是否为首帧点云数据;

若是,将所述本帧点云数据所对应的本帧定位位置点确定为用于绘制环境地图的二维坐标系的原点,并根据所述本帧点云数据在所述二维坐标系中绘制环境地图;

若否,则执行所述根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域的步骤及其后续步骤。

可选地,所述前帧点云数据为所述本帧点云数据的上一帧点云数据。

可选地,所述待定位物体包括:机器人。

根据本发明的另一方面,提供了一种基于点云的定位装置,包括:

第一确定模块,适于获取到本帧点云数据后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域;

第二确定模块,适于获取与所述本帧点云数据相对应的定位角度信息,根据所述定位角度信息确定所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点;

第三确定模块,适于将所述与所述本帧点云数据相匹配的位置点确定为所述本帧点云数据所对应的本帧定位位置点;

第一更新模块,适于根据所述本帧定位位置点更新待定位物体的定位位置。

可选地,所述第一确定模块进一步适于:

根据所述本帧点云数据以及所述前帧点云数据之间的时间间隔,和/或,根据所述待定位物体的移动速率,确定对应的搜索距离,根据所述搜索距离确定所述局部搜索区域。

可选地,所述第一确定模块进一步适于:将以所述前帧定位位置点为圆心,以所述搜索距离为半径的圆形区域确定为所述局部搜索区域;或者,

将以所述前帧定位位置点为中心点,且边长长度等于所述搜索距离的两倍的正方形区域确定为所述局部搜索区域。

可选地,所述第二确定模块进一步适于:

按照预设的采样规则获取所述局部搜索区域中包含的各个采样位置点;

分别针对每个采样位置点,将所述本帧点云数据按照所述定位角度信息加载至该采样位置点处;

判断加载至该采样位置点处的本帧点云数据与所述待定位物体所对应的环境地图是否匹配;

若是,则将该采样位置点确定为所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点。

可选地,所述第二确定模块进一步适于:

确定与所述定位角度信息相对应的定位角度范围,将所述本帧点云数据加载至该采样位置点处,并使加载后的本帧点云数据在所述定位角度范围内旋转;

分别针对旋转过程中所对应的各个旋转角度,判断加载至该采样位置点处的本帧点云数据与所述待定位物体所对应的环境地图是否匹配。

可选地,所述第二确定模块进一步适于:

通过设置在所述待定位物体上的角度传感器确定生成所述本帧点云数据时,所述待定位物体相对于用于绘制环境地图的二维坐标系的角度信息;

将所述待定位物体相对于用于绘制环境地图的二维坐标系的角度信息确定为与所述本帧点云数据相对应的定位角度信息。

可选地,所述装置还包括校准模块,所述校准模块适于:

将匹配时所对应的旋转角度提供给所述角度传感器,以供所述角度传感器进行校准。

可选地,所述装置还包括第二更新模块,所述第二更新模块适于:

根据加载至所述本帧定位位置点处的本帧点云数据,更新所述待定位物体所对应的环境地图。

可选地,所述第一确定模块进一步适于:

判断所述本帧点云数据是否为首帧点云数据;

若是,将所述本帧点云数据所对应的本帧定位位置点确定为用于绘制环境地图的二维坐标系的原点,并根据所述本帧点云数据在所述二维坐标系中绘制环境地图;

若否,则第一确定模块根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域。

可选地,所述前帧点云数据为所述本帧点云数据的上一帧点云数据。

可选地,所述待定位物体包括:机器人。

根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述基于点云的定位方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述基于点云的定位方法对应的操作。

根据本发明提供的基于点云的定位方法及装置,通过获取到本帧点云数据后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域并获取与本帧点云数据相对应的定位角度信息,根据定位角度信息确定局部搜索区域内包含的与本帧点云数据相匹配的位置点,并将与本帧点云数据相匹配的位置点确定为本帧点云数据所对应的本帧定位位置点,最后根据本帧定位位置点更新待定位物体的定位位置。根据该方法,能够在不依赖于里程计的前提下实现准确定位,从而简化了设备结构、降低了设备成本。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明一个实施例提供的基于点云的定位方法的流程图;

图2示出了本发明另一个实施例提供的基于点云的定位方法的流程图;

图3示出了根据本发明一实施例提供的在环境地图上确定的一种搜索区域;

图4示出了根据本发明一实施例提供的在环境地图上确定的另一种搜索区域;

图5示出了根据本申请一实施例提供的局部搜索区域内各个采样位置点的示意图;

图6示出了本发明一个实施例提供的基于点云的定位装置的功能框图;

图7示出了根据本发明一实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了本发明一个实施例提供的基于点云的定位方法的流程图。如图1所示,该方法包括以下步骤:

步骤s101:获取到本帧点云数据后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域。

首先,在获取到本帧点云数据后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域。其中,前帧点云数据为本帧点云数据的上一帧点云数据。定位位置点是指待定位物体所在的位置点或者待定位物体上设置的激光测距雷达、陀螺仪芯片等部件所在的位置点。相应地,前帧定位位置点是指:在生成前帧点云数据时,待定位物体所在的位置点。或者,更准确地说,前帧定位位置点是指:在生成前帧点云数据时,待定位物体上设置的激光测距雷达、陀螺仪芯片等部件所在的位置点。局部搜索区域是指在前帧定位位置点的附近所选取的局部的搜索区域,上述局部搜索区域的大小可以根据前帧点云数据的准确度来确定,如果准确度比较高,则局部搜索区域可以确定的相对比较小;如果准确度比较低,则局部搜索区域可以确定的相对比较大。比如前帧点云数据既有在用于绘制环境地图的二维坐标系中的坐标值又有其朝向信息,则其准确度比较高,从而局部搜索区域可以确定地相对比较小。局部搜索区域可以根据本帧点云数据以及前帧点云数据之间的时间间隔,和/或,根据待定位物体的移动速率,确定对应的搜索距离,然后根据搜索距离确定局部搜索区域。还可以根据预先设置的待定位物体移动的最大速率、最小速率、平均速率,和/或本帧点云数据以及前帧点云数据之间的时间间隔来确定对应的搜索距离,从而确定局部搜索区域,除了上述方法之外,还可以根据其它方法确定局部搜索区域。另外,上述局部搜索区域可以是圆形区域、长方形区域、正方形区域或者其它形状的区域等,本领域人员可以根据实际情况具体设定,在此不作限定。

步骤s102:获取与本帧点云数据相对应的定位角度信息,根据定位角度信息确定局部搜索区域内包含的与本帧点云数据相匹配的位置点。

其中,定位角度信息是指待定位物体的朝向信息。获取与本帧点云数据相对应的定位角度信息的方法可以是通过设置在待定位物体上的角度传感器确定生成本帧点云数据时,待定位物体相对于用于绘制环境地图的二维坐标系的角度信息;并将待定位物体相对于用于绘制环境地图的二维坐标系的角度信息确定为与本帧点云数据相对应的定位角度信息。除了上述方法外,还可以根据其它的方法来获取与本帧点云数据相对应的定位角度信息。其中,上述方法中的角度传感器可以是陀螺仪还可以是其它类型的角度传感器。上述待定位物体可以是机器人还可以是其它的待定位的物体。根据本帧点云数据相对应的定位角度信息,可以在上述定位角度信息相邻的角度范围内确定在局部搜索区域内包含的与本帧点云数据相匹配的位置点,从而避免了在360度范围内确定局部搜索区域内包含的与本帧点云数据相匹配的位置点的繁琐过程。

步骤s103:将与本帧点云数据相匹配的位置点确定为本帧点云数据所对应的本帧定位位置点。

在步骤s102中确定局部搜索区域内包含的与本帧点云数据相匹配的位置点之后,可以将此位置点确定为本帧定位位置点。所谓本帧定位位置点是指:生成本帧点云数据时,待定位物体或者待定位物体上设置的激光测距雷达等部件所对应的位置点。

步骤s104:根据本帧定位位置点更新待定位物体的定位位置。

在得到本帧定位位置点之后,本帧定位位置点包括了待定位物体在用于绘制环境地图的二维坐标息中的位置坐标(x值,y值)和其相对应的定位角度信息,从而根据上述位置坐标和定位角度信息来更新待定位物体所对应的环境地图。

根据本申请实施例提供的基于点云的定位方法,通过获取到本帧点云数据后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域并获取与本帧点云数据相对应的定位角度信息,根据定位角度信息确定局部搜索区域内包含的与本帧点云数据相匹配的位置点,并将与本帧点云数据相匹配的位置点确定为本帧点云数据所对应的本帧定位位置点,最后根据本帧定位位置点更新待定位物体的定位位置。根据该方法,能够在不依赖于里程计的前提下实现准确定位,从而简化了设备结构、降低了设备成本。

图2示出了根据本申请另一实施例提供的基于点云的定位方法的流程图。如图2所示,该方法包括以下步骤:

步骤s201,获取到本帧点云数据后,根据本帧点云数据以及前帧点云数据之间的时间间隔,和/或,根据待定位物体的移动速率,确定对应的搜索距离,根据搜索距离确定局部搜索区域。

在获取到本帧点云数据之后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域。其中,前帧点云数据为本帧点云数据的上一帧点云数据。定位位置点可以为待定位物体或者待定位物体上设置的陀螺仪等部件所在的位置点。相应地,前帧定位位置点是指:在生成前帧点云数据时,待定位物体所在的位置点。或者,更准确地说,前帧定位位置点是指:在生成前帧点云数据时,待定位物体上设置的激光测距雷达、陀螺仪芯片等部件所在的位置点。具体地,判断本帧点云数据是否为首帧点云数据,若是,则将本帧点云数据所对应的本帧定位位置点确定为用于绘制环境地图的二维坐标系的原点,并根据本帧点云数据在二维坐标系中绘制环境地图;若否,则根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域,并且执行后续的步骤s202~s209。确定局部搜索区域的方法可以是根据本帧点云数据以及前帧点云数据之间的时间间隔,和/或,根据待定位物体的移动速率,确定对应的搜索距离,然后根据搜索距离确定局部搜索区域。其中,移动速率可以通过设置在待定位物体上的速度传感器测定,也可以根据预设的待定位物体的最大速度、最小速度和/或平均速度来确定待定位物体的移动速率,还可以通过其它的方法来确定,在此不作限定。比如,每隔0.2s的时间间距接收到一帧点云数据,则本帧点云数据以及前帧点云数据之间的时间间隔为0.2s,并且在这0.2s内待定位物体的行进距离为1m,则可以确定搜索距离为1m。进一步地,根据搜索距离确定局部搜索区域的方式可以包括下述两种。方式一:将以前帧定位位置点为圆心,以搜索距离为半径的圆形区域确定为局部搜索区域。图3示出了根据本发明一实施例提供的在环境地图上确定的一种搜索区域。如图3所示,以点a示意为前帧定位位置点,以搜索距离为半径r,所作出的圆形区域可以确定为局部搜索区域。

方式二:将以前帧定位位置点为中心点,且边长长度等于搜索距离的两倍的正方形区域确定为局部搜索区域。图4示出了根据本发明一实施例提供的在环境地图上确定的另一种搜索区域。如图4所示,以点b示意为前帧定位位置点,以点b为中心,所做出的边长长度等于搜索距离的两倍的正方形区域确定为局部搜索区域。比如确定搜索距离为1m,则可以以点b为中心,将做出的边长长度等于2m的正方形区域确定为局部搜索区域。除了上述方式外,还可以根据其它的方式来确定局部搜索区域。上述局部搜索区域除了是上述的圆形区域、正方形区域外,还可以是其它形状的区域,在此不作限定。

步骤s202,按照预设的采样规则获取局部搜索区域中包含的各个采样位置点。

图5示出了根据本申请一实施例提供的局部搜索区域内各个采样位置点的示意图。其中,采样规则可以为:设置一段预设距离,然后规定搜索区域内各个采样点之间的间距为上述预设距离的整数倍。比如如图5所示,可以在搜索区域内随机取一点c为采样位置点,并且设置预设距离为5cm,然后以点c为基础,在点c的上下左右各个方向每隔5cm的整数倍的距离获取各个采样点的位置,从而获取局部搜索区域中包含的各个采样位置点。其中,预设距离除了可以为上述的5cm外,还可以为其它的值,采样点的个数可以根据搜索区域范围的大小和采样点之间的距离来具体设定,在此不作限定。

步骤s203,获取与本帧点云数据相对应的定位角度信息,分别针对每个采样位置点,将本帧点云数据按照定位角度信息加载至该采样位置点处。

本步骤的目的在于,根据本帧点云数据所对应的角度信息来进一步地判断加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图是否匹配,从而获得待定位物体的精准的朝向信息,并且缩小了匹配角度,提高了匹配速度。

其中,定位角度信息是指待定位物体的朝向信息。在获取各个采样位置点之后,为了判断本帧点云数据所对应的本帧定位位置点具体是哪一个采样位置点,还要进一步地分别针对每个采样位置点,将本帧点云数据按照定位角度信息加载至该采样位置点处。其中,获取本帧点云数据相对应的定位角度信息的步骤可以包括:通过设置在待定位物体上的角度传感器确定生成本帧点云数据时,待定位物体相对于用于绘制环境地图的二维坐标系的角度信息;将待定位物体相对于用于绘制环境地图的二维坐标系的角度信息确定为与本帧点云数据相对应的定位角度信息。上述角度传感器可以为陀螺仪,还可以为其它的测量角度信息的传感器。上述定位角度信息可以用来表示待定位物体的朝向信息。

进一步地,将本帧点云数据按照定位角度信息加载至该采样位置点处的步骤具体包括:确定与定位角度信息相对应的定位角度范围,将本帧点云数据加载至该采样位置点处,并使加载后的本帧点云数据在定位角度范围内旋转。其中,与定位角度信息相对应的定位角度范围可以是与定位角度值相邻的小范围的角度范围,还可以是与定位角度值相邻的大范围内的角度范围,设置与定位角度信息相对应的定位角度范围的大小,本领域人员可以根据实际情况具体设定,在此不作限定。比如本帧点云数据相对应的定位角度值用θ表示,如果θ的值为30度,则确定与定位角度信息相对应的定位角度范围可以为20度~40度,当然还可以确定为其它的角度范围,比如确定为10度~50度、10度~60度等等。

步骤s204,判断加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图是否匹配。

具体地,判断加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图是否匹配的步骤可以具体包括:分别针对旋转过程中所对应的各个旋转角度,判断加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图是否匹配。具体地,在旋转的过程中,可以根据旋转步长来进行旋转,旋转步长可以指待定位物体每旋转一次所旋转的角度。比如待定位物体的旋转步长为5度,上述确定与定位角度信息相对应的定位角度范围为20度~40度,则可以确定在旋转过程中所对应的各个旋转角度为20度、25度、30度、35度、40度,然后分别针对在旋转过程中上述所对应的各个旋转角度20度、25度、30度、35度、40度,判断加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图是否匹配。判断是否匹配的方法可以是,根据本帧点云数据相对应的环境地图中的特征物体和待定位物体所对应的环境地图中相同的特征物体是否相匹配,比如将本帧点云数据加载到采样点c处所生成的环境地图中一个桌子确定为一个特征物体,则可以通过判断本帧点云数据加载到采样点c处所生成的环境地图中的该桌子和待定位物体所对应的环境地图中该桌子的位置、形状是否能够吻合或者匹配至一致,从而判断加载至该采样点c处的本帧点云数据与待定位物体所对应的环境地图是否匹配。除了上述方法,还可以通过其它的算法来判断加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图是否匹配。在这里需要提醒的是,凡是能够判断加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图是否匹配的方法均在本实施例保护的范围之内。

步骤s205,若是,则将该采样位置点确定为局部搜索区域内包含的与本帧点云数据相匹配的位置点。

如果判断出加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图相匹配。从而可以将该采样位置点确定为局部搜索区域内包含的与本帧点云数据相匹配的位置点。

步骤s206,将匹配时所对应的旋转角度提供给角度传感器,以供角度传感器进行校准。

由于角度传感器获取的每一帧点云数据的定位角度信息可能会存在偏差,所以角度传感器获得本帧点云数据所对应的定位角度信息之后,在分别针对旋转过程中所对应的各个旋转角度,判断加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图是否匹配的过程中,将匹配时所对应的旋转角度和角度传感器所获得的定位角度值相比,如果存在偏差,则需要进一步地将匹配时所对应的旋转角度提供给角度传感器,以供角度传感器进行校准,以得到准确的本帧点云数据所对应的定位角度信息,并使角度传感器在后续过程中能够更加准确地工作。

步骤s207,将与本帧点云数据相匹配的位置点确定为本帧点云数据所对应的本帧定位位置点。

在步骤s205中确定局部搜索区域内包含的与本帧点云数据相匹配的位置点之后,可以将此位置点确定为本帧定位位置点。所谓本帧定位位置点是指:生成本帧点云数据时,待定位物体或者待定位物体上设置的角度传感器、激光测距雷达等部件相对应的位置点。

步骤s208,根据本帧定位位置点更新待定位物体的定位位置。

由于本帧定位位置点包括了待定位物体的位置坐标信息和朝向信息,所以在得到本帧定位位置点之后,可以根据本帧定位位置点更新待定位物体的定位位置。

步骤s209,根据加载至本帧定位位置点处的本帧点云数据,更新待定位物体所对应的环境地图。

本帧点云数据中包括了待定位物体在用于绘制环境地图的二维坐标息中的位置坐标(x值,y值)和其相对应的定位角度信息,通过加载至本帧定位位置点处的本帧点云数据来获取待定物体在用于绘制环境地图的二维坐标信息中的位置坐标(x值,y值)和其相对应的定位角度信息,从而根据上述位置坐标和定位角度信息来更新待定位物体所对应的环境地图。

根据本申请实施例提供的基于点云的定位的方法,通过在获取本帧点云数据后,确定搜索距离,并根据搜索距离确定搜索区域,从而获得本帧点云数据定位位置点所在的一个大致的区域。然后在搜索区域内按照预设采样规则获取各个采样点,并根据获取的与本帧点云数据相对应的定位角度信息,将本帧点云数据按照定位角度信息加载至该采样位置点处从而判断加载至该采样位置点处的本帧点云数据与待定位物体所对应的环境地图是否匹配,若是,则将该采样位置点确定为局部搜索区域内包含的与本帧点云数据相匹配的位置点,并将与本帧点云数据相匹配的位置点确定为本帧点云数据所对应的本帧定位位置点,从而得到本帧点云数据所对应的本帧定位位置点精确的位置信息和定位角度信息。根据该方法,能够在不依赖于里程计的前提下实现准确定位,从而简化了设备结构、降低了设备成本。并且,由于该方式不需要获取底层里程计的数据,因此,通过该方式设置的定位设备无需与底层的里程计进行电路连接,从而无需改变原有机器人的电路结构,加装方便,能够灵活加装到各类机器人中。

上述实施例中的方法可以应用于slam(simultaneouslocalizationandmapping,即时定位与建图)设备中,还可以应用到其它的装置中。其中,上述slam设备可以包括激光测距雷达、陀螺仪芯片、陀螺仪、计算芯片、wifi模块等部件。陀螺仪和陀螺仪芯片可以给出激光测距雷达的初始角度信息,还可以获取每一帧点云数据包含的待定位物体的角度信息(朝向信息)。激光测距雷达可以依据初始角度信息将激光测距雷达测量到的障碍物添加到地图上,此后,激光测距雷达可以依据陀螺仪芯片给出的初始角度信息和已有的部分环境地图,将障碍物匹配到环境地图的相应位置,获得此时激光测距雷达的位置信息,将其输出并作为定位信息。然后将匹配后的障碍物点添加到地图上,更新地图,作为输出的地图信息。上述建图和定位信息通过wifi模块或者蓝牙等无线输出方式传输到用户计算机或手机中显示并储存。

图6示出了本发明一个实施例提供的基于点云的定位装置的功能框图。如图6所示,该装置包括:第一确定模块601、第二确定模块602、校准模块603、第三确定模块604、第一更新模块605、第二更新模块606。

其中,第一确定模块601,适于获取到本帧点云数据后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域;

第二确定模块602,适于获取与所述本帧点云数据相对应的定位角度信息,根据所述定位角度信息确定所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点;

第三确定模块604,适于将所述与所述本帧点云数据相匹配的位置点确定为所述本帧点云数据所对应的本帧定位位置点;

第一更新模块605,适于根据所述本帧定位位置点更新待定位物体的定位位置。

另外,在本发明的另一个实施例中:

其中,所述第一确定模块601进一步适于:

根据所述本帧点云数据以及所述前帧点云数据之间的时间间隔,和/或,根据所述待定位物体的移动速率,确定对应的搜索距离,根据所述搜索距离确定所述局部搜索区域。

可选地,第一确定模块601进一步适于:将以所述前帧定位位置点为圆心,以所述搜索距离为半径的圆形区域确定为所述局部搜索区域;或者,

将以所述前帧定位位置点为中心点,且边长长度等于所述搜索距离的两倍的正方形区域确定为所述局部搜索区域。

可选地,所述第二确定模块602进一步适于:

按照预设的采样规则获取所述局部搜索区域中包含的各个采样位置点;

分别针对每个采样位置点,将所述本帧点云数据按照所述定位角度信息加载至该采样位置点处;

判断加载至该采样位置点处的本帧点云数据与所述待定位物体所对应的环境地图是否匹配;

若是,则将该采样位置点确定为所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点。

可选地,所述第二确定模块602进一步适于:

确定与所述定位角度信息相对应的定位角度范围,将所述本帧点云数据加载至该采样位置点处,并使加载后的本帧点云数据在所述定位角度范围内旋转;

分别针对旋转过程中所对应的各个旋转角度,判断加载至该采样位置点处的本帧点云数据与所述待定位物体所对应的环境地图是否匹配。

可选地,所述第二确定模块602进一步适于:

通过设置在所述待定位物体上的角度传感器确定生成所述本帧点云数据时,所述待定位物体相对于用于绘制环境地图的二维坐标系的角度信息;

将所述待定位物体相对于用于绘制环境地图的二维坐标系的角度信息确定为与所述本帧点云数据相对应的定位角度信息。

可选地,所述装置还包括校准模块603,所述校准模块603适于:

将匹配时所对应的旋转角度提供给所述角度传感器,以供所述角度传感器进行校准。

可选地,所述装置还包括第二更新模块606,所述第二更新模块606适于:

根据加载至所述本帧定位位置点处的本帧点云数据,更新所述待定位物体所对应的环境地图。

可选地,所述第一确定模块601进一步适于:

判断所述本帧点云数据是否为首帧点云数据;

若是,将所述本帧点云数据所对应的本帧定位位置点确定为用于绘制环境地图的二维坐标系的原点,并根据所述本帧点云数据在所述二维坐标系中绘制环境地图;

若否,则第一确定模块根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域。

可选地,其中,所述前帧点云数据为所述本帧点云数据的上一帧点云数据。

可选地,其中,所述待定位物体包括:机器人。

关于上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。

上述装置可以是单独的slam设备,可以将这种slam设备单独地加载到各类机器人上,并且不用与机器人上设置的里程计等其它设备相连接,直接测量机器人的运行环境地图和实时的定位信息,解决了无卫星定位信号时的定位问题,并且加装方便,无需改变既有系统。上述装置除了可以是上述的单独的slam设备,还可以是其它的装置,在此不一一类述。

本申请实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于点云的定位方法。

图7示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。

如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(communicationsinterface)704、存储器(memory)706、以及通信总线708。

其中:

处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。

通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器702,用于执行程序710,具体可以执行上述的基于点云的定位方法实施例中的相关步骤。

具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。

处理器702可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器706,用于存放程序710。存储器706可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序710具体可以用于使得处理器702执行以下操作:

获取到本帧点云数据后,根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域;

获取与所述本帧点云数据相对应的定位角度信息,根据所述定位角度信息确定所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点;

将所述与所述本帧点云数据相匹配的位置点确定为所述本帧点云数据所对应的本帧定位位置点;

根据所述本帧定位位置点更新待定位物体的定位位置。

在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:根据所述本帧点云数据以及所述前帧点云数据之间的时间间隔,和/或,根据所述待定位物体的移动速率,确定对应的搜索距离,根据所述搜索距离确定所述局部搜索区域。

在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:将以所述前帧定位位置点为圆心,以所述搜索距离为半径的圆形区域确定为所述局部搜索区域;或者,

将以所述前帧定位位置点为中心点,且边长长度等于所述搜索距离的两倍的正方形区域确定为所述局部搜索区域。

在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:按照预设的采样规则获取所述局部搜索区域中包含的各个采样位置点;

分别针对每个采样位置点,将所述本帧点云数据按照所述定位角度信息加载至该采样位置点处;

判断加载至该采样位置点处的本帧点云数据与所述待定位物体所对应的环境地图是否匹配;

若是,则将该采样位置点确定为所述局部搜索区域内包含的与所述本帧点云数据相匹配的位置点。

在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:确定与所述定位角度信息相对应的定位角度范围,将所述本帧点云数据加载至该采样位置点处,并使加载后的本帧点云数据在所述定位角度范围内旋转;

则程序710具体可以进一步用于使得处理器702执行以下操作:分别针对旋转过程中所对应的各个旋转角度,判断加载至该采样位置点处的本帧点云数据与所述待定位物体所对应的环境地图是否匹配。

程序710具体可以进一步用于使得处理器702执行以下操作:

通过设置在所述待定位物体上的角度传感器确定生成所述本帧点云数据时,所述待定位物体相对于用于绘制环境地图的二维坐标系的角度信息;

将所述待定位物体相对于用于绘制环境地图的二维坐标系的角度信息确定为与所述本帧点云数据相对应的定位角度信息。

程序710具体可以进一步用于使得处理器702执行以下操作:

将匹配时所对应的旋转角度提供给所述角度传感器,以供所述角度传感器进行校准。

程序710具体可以进一步用于使得处理器702执行以下操作:根据加载至所述本帧定位位置点处的本帧点云数据,更新所述待定位物体所对应的环境地图。

程序710具体可以进一步用于使得处理器702执行以下操作:

判断所述本帧点云数据是否为首帧点云数据;

若是,将所述本帧点云数据所对应的本帧定位位置点确定为用于绘制环境地图的二维坐标系的原点,并根据所述本帧点云数据在所述二维坐标系中绘制环境地图;

若否,则执行所述根据前帧点云数据所对应的前帧定位位置点确定局部搜索区域的步骤及其后续步骤。

程序710具体可以进一步用于使得处理器702执行以下操作:所述前帧点云数据为所述本帧点云数据的上一帧点云数据。

程序710具体可以进一步用于使得处理器702执行以下操作:所述待定位物体包括:机器人。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的基于点云的定位装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1