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

一种定位方法及装置

文献发布时间:2023-06-19 13:49:36


一种定位方法及装置

技术领域

本公开涉及信息处理技术领域,具体而言,涉及一种定位方法及装置。

背景技术

基于同步定位与建图(Simultaneous Localization and Mapping,SLAM)的机器人可以根据传感器的不同分为基于激光SLAM的机器人和基于视觉SLAM的机器人,机器人可以根据接收的SLAM数据,实现实时定位。

基于激光SLAM的机器人是通过反射的激光数据进行定位的,基于视觉SLAM的机器人是通过识别拍摄的图像中的特征点进行定位的,这两种机器人在进行定位时,定位数据的精度都容易受到外部环境的影响。

发明内容

本公开实施例至少提供一种定位方法及装置。

第一方面,本公开实施例提供了一种定位方法,包括:

基于机器人在行驶过程中采集的包含地面标线的原始图像,确定所述机器人相对地面标线的第一相对位姿信息;

基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人相对地面标线的第二相对位姿信息;

基于所述第一相对位姿信息和第二相对位姿信息,对所述机器人进行辅助定位。

一种可能的实施方式中,基于机器人在行驶过程中采集的包含地面标线的原始图像,确定所述机器人相对地面标线的第一相对位姿信息,包括:

将所述原始图像转换为鸟瞰图;

获取所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息;

根据所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息,确定所述机器人相对地面标线的第一相对位姿信息。

一种可能的实施方式中,所述地面标线信息包括用于表征所述地面标线的目标直线;

确定所述机器人相对地面标线的第一相对位姿信息之前,还包括:

基于颜色检测算法确定所述鸟瞰图中所述地面标线所对应的目标位置区域;

确定所述目标位置区域中地面标线所对应的目标直线;

所述确定所述机器人相对地面标线的第一相对位姿信息,包括:

确定所述机器人相对所述目标直线的第一相对位姿信息。

一种可能的实施方式中,确定所述目标位置区域中地面标线所对应的目标直线,包括:

将所述目标位置区域对应的目标位置区域图像转换为二值图像;

对所述二值图像进行边缘检测,确定多个边缘点,所述边缘点为位于所述地面标线的边缘的点;

基于所述多个边缘点进行直线拟合,确定至少一条待筛选直线;

从所述至少一条待筛选直线中筛选出所述目标直线。

一种可能的实施方式中,所述从所述至少一条待筛选直线中筛选出所述目标直线,包括:

针对每一条待筛选直线,确定各个边缘点到该待筛选直线的距离之和;

将对应的距离之和最小的待筛选直线作为所述目标直线。

一种可能的实施方式中,所述从所述至少一条待筛选直线中筛选出所述目标直线,包括:

针对每一条待筛选直线,确定该条待筛选直线所覆盖的边缘点的个数;

将对应的个数最多的待筛选直线作为所述目标直线。

一种可能的实施方式中,所述预设位置信息包括所述机器人在所述鸟瞰图对应的图像坐标系下的坐标信息;

所述根据所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息,确定所述机器人相对地面标线的第一相对位姿信息,包括:

确定所述地面标线在所述鸟瞰图对应的图像坐标系中的角度信息;以及,基于所述机器人在所述鸟瞰图对应的图像坐标系中的坐标信息,确定所述机器人与所述地面标线之间的图像横向距离;

基于预先设置的图像距离与真实距离的比值,以及确定的所述机器人与所述地面标线之间的图像横向距离,确定所述机器人与所述地面标线之间的真实横向距离;

根据所述地面标线在所述鸟瞰图对应的图像坐标系中的角度信息和所述真实横向距离确定所述第一相对位姿信息。

一种可能的实施方式中,基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人相对地面标线的第二相对位姿信息,包括:

基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人在预先构建好的地图中的位姿信息;

基于所述地图中预先存储的所述地面标线的位置信息、以及所述机器人在所述地图中的位姿信息,确定所述第二相对位姿信息。

一种可能的实施方式中,所述基于所述第一相对位姿信息和第二相对位姿信息,对所述机器人进行辅助定位,包括:

基于所述第一相对位姿信息和所述第二相对位姿信息,确定目标相对位姿信息;

基于所述地面标线的位置信息、以及所述目标相对位姿信息,重新确定所述机器人的当前位姿信息。

第二方面,本公开实施例还提供一种定位装置,包括:

第一确定模块,用于基于机器人在行驶过程中采集的包含地面标线的原始图像,确定所述机器人相对地面标线的第一相对位姿信息;

第二确定模块,用于基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人相对地面标线的第二相对位姿信息;

定位模块,用于基于所述第一相对位姿信息和第二相对位姿信息,对所述机器人进行辅助定位。

一种可能的实施方式中,所述第一确定模块,在基于机器人在行驶过程中采集的包含地面标线的原始图像,确定所述机器人相对地面标线的第一相对位姿信息时,用于:

将所述原始图像转换为鸟瞰图;

获取所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息;

根据所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息,确定所述机器人相对地面标线的第一相对位姿信息。

一种可能的实施方式中,所述地面标线信息包括用于表征所述地面标线的目标直线;

所述第一确定模块,在确定所述机器人相对地面标线的第一相对位姿信息之前,还用于:

基于颜色检测算法确定所述鸟瞰图中所述地面标线所对应的目标位置区域;

确定所述目标位置区域中地面标线所对应的目标直线;

所述第一确定模块,在确定所述机器人相对地面标线的第一相对位姿信息时,用于:

确定所述机器人相对所述目标直线的第一相对位姿信息。

一种可能的实施方式中,所述第一确定模块,在确定所述目标位置区域中地面标线所对应的目标直线时,用于:

将所述目标位置区域对应的目标位置区域图像转换为二值图像;

对所述二值图像进行边缘检测,确定多个边缘点,所述边缘点为位于所述地面标线的边缘的点;

基于所述多个边缘点进行直线拟合,确定至少一条待筛选直线;

从所述至少一条待筛选直线中筛选出所述目标直线。

一种可能的实施方式中,所述第一确定模块,在从所述至少一条待筛选直线中筛选出所述目标直线时,用于:

针对每一条待筛选直线,确定各个边缘点到该待筛选直线的距离之和;

将对应的距离之和最小的待筛选直线作为所述目标直线。

一种可能的实施方式中,所述第一确定模块,在从所述至少一条待筛选直线中筛选出所述目标直线时,用于:

针对每一条待筛选直线,确定该条待筛选直线所覆盖的边缘点的个数;

将对应的个数最多的待筛选直线作为所述目标直线。

一种可能的实施方式中,所述预设位置信息包括所述机器人在所述鸟瞰图对应的图像坐标系下的坐标信息;

所述第一确定模块,在根据所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息,确定所述机器人相对地面标线的第一相对位姿信息时,用于:

确定所述地面标线在所述鸟瞰图对应的图像坐标系中的角度信息;以及,基于所述机器人在所述鸟瞰图对应的图像坐标系中的坐标信息,确定所述机器人与所述地面标线之间的图像横向距离;

基于预先设置的图像距离与真实距离的比值,以及确定的所述机器人与所述地面标线之间的图像横向距离,确定所述机器人与所述地面标线之间的真实横向距离;

根据所述地面标线在所述鸟瞰图对应的图像坐标系中的角度信息和所述真实横向距离确定所述第一相对位姿信息。

一种可能的实施方式中,所述第二确定模块,在基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人相对地面标线的第二相对位姿信息时,用于:

基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人在预先构建好的地图中的位姿信息;

基于所述地图中预先存储的所述地面标线的位置信息、以及所述机器人在所述地图中的位姿信息,确定所述第二相对位姿信息。

一种可能的实施方式中,所述定位模块,在基于所述第一相对位姿信息和第二相对位姿信息,对所述机器人进行辅助定位时,用于:

基于所述第一相对位姿信息和所述第二相对位姿信息,确定目标相对位姿信息;

基于所述地面标线的位置信息、以及所述目标相对位姿信息,重新确定所述机器人的当前位姿信息。

第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

本公开实施例提供的定位方法及装置,可以利用机器人行驶过程中的地面标线,基于采集的原始图像,确定机器人相对地面标线的第一相对位姿信息,以及基于SLAM数据确定机器人相对地面标线的第二相对位姿信息,然后基于第一相对位姿信息和第二相对位姿信息对机器人进行辅助定位,因此通过这种方式,可以避免机器人在定位过程中受到外界环境的影响,提高机器人的定位精度。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种定位方法的流程图;

图2示出了本公开实施例所提供的一种第一相对位姿信息确定方法的流程图;

图3示出了本公开实施例所提供的一种定位装置的架构示意图;

图4示出了本公开实施例所提供的一种计算机设备400的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

基于激光SLAM的机器人是通过反射的激光数据进行定位的,然而当基于激光SLAM的机器人位于宽阔的区域时,反射的激光数据信号较弱,此时基于激光SLAM的机器人定位数据会受到影响;基于视觉SLAM的机器人是通过识别拍摄的图像中的特征点进行定位的,然而当基于视觉SLAM的机器人受到障碍物的遮挡,或者光线较弱的情况下,拍摄的图像的精度会受到影响,进而影响定位数据。因此,这两种机器人的定位数据都会受到外部环境的影响。

基于此,本公开提供了一种定位方法及装置,可以利用机器人行驶过程中的地面标线,基于采集的原始图像,确定机器人相对地面标线的第一相对位姿信息,以及基于SLAM数据确定机器人相对地面标线的第二相对位姿信息,然后基于第一相对位姿信息和第二相对位姿信息对机器人进行辅助定位,因此通过这种方式,可以避免机器人在定位过程中受到外界环境的影响,提高机器人的定位精度。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种定位方法进行详细介绍,本公开实施例所提供的定位方法的执行主体一般为机器人,所述机器人上配置有图像采集装置,例如可以为摄像机,在一种可能的实施方式中,所述机器人还可以配置有激光雷达装置。

参见图1所示,为本公开实施例提供的一种定位方法的流程图,所述方法包括步骤101~步骤103,具体的:

步骤101、基于机器人在行驶过程中采集的包含地面标线的原始图像,确定所述机器人相对地面标线的第一相对位姿信息。

步骤102、基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人相对地面标线的第二相对位姿信息。

步骤103、基于所述第一相对位姿信息和第二相对位姿信息,对所述机器人进行辅助定位。

以下是对上述步骤101~步骤103的详细描述。

针对步骤101:

具体实施中,机器人上可以配置有相机,所述相机可以是普通相机,也可以是鱼眼相机,当采集原始图像的相机为鱼眼相机时,在获取鱼眼相机采集的原始图像之后,可以对原始图像进行畸变矫正处理。

机器人在行驶过程中采集原始图像时,可以是每隔预设时长采集一次,其采集频率可以根据机器人的行驶速度调整,当机器人行驶速度较快时,可以将采集频率调高,预设时长设置较短,当机器人行驶速度较慢时,可以将采集频率调低,预设时长设置较长,具体的预设时长,可以由人工进行设置。

第一相对位姿信息可以是机器人相对地面标线的横向距离和角度。在一种可能的实施方式中,在基于原始图像,确定机器人相对地面标线的第一相对位姿信息时,可以参照如图2所示的第一相对位姿信息确定方法,包括以下几个步骤:

步骤201、将原始图像转换为鸟瞰图。

由于机器人在拍摄原始图像时,是以一定的倾斜角度拍摄的,在拍摄的原始图像中,两个物体之间的像素距离并非是真实的像素距离。示例性的,若两个物体相距较远,但是在以一定的倾斜角度拍摄图像时,两个物体可能会重合,这样就导致无法根据拍摄的图像正确的检测两个物体之间的距离,因此,需要先将原始图像转换为鸟瞰图。

具体实施中,在将原始图像转换为鸟瞰图事可以通过但不仅限于逆透视变换方法。

步骤202、获取机器人在鸟瞰图中的预设位置信息,以及位于鸟瞰图中的地面标线信息。

所述机器人在鸟瞰图中的预设位置信息包括机器人在鸟瞰图对应的图像坐标系下的坐标信息,实际应用中,由于机器人的相机的位置是固定的,因此,通过同一相机拍摄的原始图像,在将原始图像转换成鸟瞰图之后,相机在不同的原始图像对应的鸟瞰图的图像坐标系下的坐标是相同的,因此可以预先确定机器人在鸟瞰图对应的图像坐标系下的坐标信息。

具体实施中,在确定机器人在鸟瞰图对应的图像坐标系下的坐标信息时,可以先对机器人的相机进行标定,以获得相机的内参、外参、以及畸变参数等,然后通过相机拍摄包含标定板的图像,再根据标定板的标定信息和相机的内参、外参、以及畸变参数等确定机器人的坐标信息。

这里需要说明的是,由于相机是安装在机器人上的,且在图像坐标系中,机器人和相机为同一个点,因此机器人的坐标信息和相机的坐标信息可以相同。

鸟瞰图中的地面标线信息包括用于表征地面标线的目标直线,因此,机器人相对地面标线的第一相对位姿,也就是机器人相对目标直线的第一相对位姿。

在一种可能的实施方式中,在确定机器人相对地面标线的第一相对位姿之前,还可以先基于颜色检测算法确定鸟瞰图中地面标线所对应的目标位置区域,然后确定目标位置区域中地面标线所对应的目标直线,在确定机器人相对地面标线的第一相对位姿信息时,可以确定机器人相对目标直线的第一相对位姿信息。

其中,所述颜色检测算法包括但不仅限于色调饱和度明度(Hue,Saturation,Value,HSV)模型,实际应用中可以预先设置待检测的颜色,例如若地面标线为黄色,则将待检测的颜色设置为黄色,通过颜色检测算法可以检测出鸟瞰图中的黄色区域,该区域即为地面标线所在的目标位置区域。

在确定目标位置区域中地面标线所对应的目标直线时,可以先将目标位置区域对应的目标位置区域图像转换为二值图像,然后对二值图像进行边缘检测,确定多个边缘点,再基于多个边缘点进行直线拟合,确定至少一条待筛选直线,再从至少一条待筛选直线中筛选出目标直线。其中,所述边缘点为位于地面标线的边缘的点。

实际应用中,在目标位置区域图像中包括的地面标线可能包括多个边缘,则在确定多个边缘点时,可以确定距离机器人最近的边缘上的边缘点,示例性的,若地面标线位于机器人左侧,则距离机器人最近的边缘为地面标线右边的边缘,若地面标线位于机器人右侧,则距离机器人最近的边缘为地面标线左边的边缘。

在对二值图像进行边缘检测时,示例性的可以采用但不限于Sobel算子、Laplacian算子、Canny算子、Roberts Cross算子、Prewitt算子、Kirsch算子、罗盘算子等对二值图像进行边缘检测。

在基于多个边缘点进行直线拟合时,示例性的可以通过霍夫直线检测算法、直线段检测算法(a Line Segment Detector,LSD)等,对于其他可以检测直线的方法,本公开所提供的方法也适用,对此本公开并不限制。

由于在根据边缘点进行直线拟合时,可能会拟合出多条直线,因此,需要从拟合出的至少一条待筛选直线中筛选出目标直线,具体的,可以通过如下方法中的任意一种方法:

方法一、针对每一条待筛选直线,确定各个边缘点到该待筛选直线的距离之和;将对应的距离之和最小的待筛选直线作为所述目标直线。

方法二、针对每一条待筛选直线,确定该条待筛选直线所覆盖的边缘点的个数;将对应的个数最多的待筛选直线作为所述目标直线。

其中,所述待筛选直线覆盖的边缘点为待检测直线穿过的边缘点,或者该边缘点为待筛选直线的组成部分。

步骤203、根据机器人在鸟瞰图中的预设位置信息,以及位于鸟瞰图中的地面标线信息,确定机器人相对地面标线的第一相对位姿信息。

具体实施中,可以先在鸟瞰图中建立图像坐标系,该图像坐标系为二维坐标系,示例性的可以以图像的左上角为坐标原点,以鸟瞰图的与左上角相邻的两个边分别作为x轴和y轴。

在机器人在鸟瞰图中的预设位置信息,以及位于鸟瞰图中的地面标线信息,确定机器人相对地面标线的第一相对位姿信息时,可以先确定地面标线在鸟瞰图中对应的图像坐标系中的角度信息,以及,基于机器人在鸟瞰图中对应的图像坐标系中的坐标信息,确定机器人与地面标线之间的图像横向距离;再基于预先设置的图像距离与真实距离的比值,以及确定的机器人与所述地面标线之间的图像横向距离,确定所述机器人与所述地面标线之间的真实横向距离,然后根据地面标线在鸟瞰图对应的图像坐标系中的角度信息和所述真实横向距离确定所述第一相对位姿信息。

具体实施中,在确定鸟瞰图中的目标直线之后,可以确定在鸟瞰图对应的图像坐标系下目标直线所对应的方程,示例性的可以用y=ax+b的形式表示,然后可以确定目标直线在图像坐标系下的倾斜角θ。在确定机器人与地面标线之间的图像横向距离时,由于机器人在图像坐标系中的坐标信息已知(预先设置的),目标直线所对应的方法也已知,因此可以通过点到直线的距离的计算方法,计算出机器人与地面标线之间的图像横向距离。

在根据地面标线在鸟瞰图对应的图像坐标系中的角度信息和所述真实横向距离确定所述第一相对位姿信息时,可以根据预先设置的机器人的在图像坐标系中的角度信息和地面标线在鸟瞰图对应的图像坐标系中的角度信息,确定出机器人相对地面标线的相对角度信息,然后将相对角度信息和真实横向距离确定为所述第一相对位姿信息。

示例性的,若目标直线在图像坐标系下的倾斜角θ

针对步骤102:

机器人采集的同步定位与建图SLAM数据,可以包括机器人采集的激光SLAM数据和视觉SLAM数据,在获取机器人采集的SLAM数据之后,可以确定机器人在预先构建的地图中的地理位置,预先构建的地图中还存储有地面标线,以及地面标线对应的目标直线的位置,这里,目标直线在地图中为虚拟直线。

在确定机器人在预先构建的地图中的地理位置,以及地图中目标直线的位置之后,可以确定机器人相对目标直线的第二相对位姿信息,其中,第二相对位姿信息的确定方法和第一相对位姿的确定方法相同,在此将不再赘述,但是不同的是,在计算第二相对位姿中的横向距离时,由于在构建地图时,地图与真实世界的比例是1:1,这里计算出的横向距离就是真实横向距离。

针对步骤103:

在一种可能的实施方式中,在基于第一相对位姿信息和第二相对位姿信息,对机器人进行辅助定位时,可以先基于第一相对位姿信息和第二相对位姿信息,确定目标相对位姿信息,然后基于目标相对位姿信息、以及地面标线的位置信息,对机器人进行辅助定位。

其中,在基于第一相对位姿信息和第二相对位姿信息,确定目标相对位姿信息时,可以通过卡尔曼滤波算法,对第一相对位姿信息和第二相对位姿信息进行融合处理,得到目标相对位姿信息。

目标相对位姿信息包括机器人相对地面标线的目标相对角度信息和机器人距离目标直线的目标真实横向距离,目标直线可以用于表征地面标线,因此,目标相对位姿信息包括机器人相对预先构建的地图中的目标直线的目标相对角度信息和机器人距离目标直线的目标真实横向距离。

在基于目标相对位姿信息,对机器人进行辅助定位时,可以根据地图中存储的目标直线的位置信息,以及目标相对角度信息和目标真实横向距离,确定机器人与目标直线的相对位置,然后根据相对位置确定机器人的真实地理位置,从而实现对机器人的地理位置的修正。

本公开实施例提供的定位方法,可以利用机器人行驶过程中的地面标线,基于采集的原始图像,确定机器人相对地面标线的第一相对位姿信息,以及基于SLAM数据确定机器人相对地面标线的第二相对位姿信息,然后基于第一相对位姿信息和第二相对位姿信息对机器人进行辅助定位,因此通过这种方式,可以避免机器人在定位过程中受到外界环境的影响,提高机器人的定位精度。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与定位方法对应的定位装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述定位方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图3所示,为本公开实施例提供的一种定位装置的架构示意图,所述装置包括:第一确定模块301、第二确定模块302、定位模块303;其中,

第一确定模块301,用于基于机器人在行驶过程中采集的包含地面标线的原始图像,确定所述机器人相对地面标线的第一相对位姿信息;

第二确定模块302,用于基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人相对地面标线的第二相对位姿信息;

定位模块303,用于基于所述第一相对位姿信息和第二相对位姿信息,对所述机器人进行辅助定位。

一种可能的实施方式中,所述第一确定模块301,在基于机器人在行驶过程中采集的包含地面标线的原始图像,确定所述机器人相对地面标线的第一相对位姿信息时,用于:

将所述原始图像转换为鸟瞰图;

获取所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息;

根据所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息,确定所述机器人相对地面标线的第一相对位姿信息。

一种可能的实施方式中,所述地面标线信息包括用于表征所述地面标线的目标直线;

所述第一确定模块301,在确定所述机器人相对地面标线的第一相对位姿信息之前,还用于:

基于颜色检测算法确定所述鸟瞰图中所述地面标线所对应的目标位置区域;

确定所述目标位置区域中地面标线所对应的目标直线;

所述第一确定模块301,在确定所述机器人相对地面标线的第一相对位姿信息时,用于:

确定所述机器人相对所述目标直线的第一相对位姿信息。

一种可能的实施方式中,所述第一确定模块301,在确定所述目标位置区域中地面标线所对应的目标直线时,用于:

将所述目标位置区域对应的目标位置区域图像转换为二值图像;

对所述二值图像进行边缘检测,确定多个边缘点,所述边缘点为位于所述地面标线的边缘的点;

基于所述多个边缘点进行直线拟合,确定至少一条待筛选直线;

从所述至少一条待筛选直线中筛选出所述目标直线。

一种可能的实施方式中,所述第一确定模块301,在从所述至少一条待筛选直线中筛选出所述目标直线时,用于:

针对每一条待筛选直线,确定各个边缘点到该待筛选直线的距离之和;

将对应的距离之和最小的待筛选直线作为所述目标直线。

一种可能的实施方式中,所述第一确定模块301,在从所述至少一条待筛选直线中筛选出所述目标直线时,用于:

针对每一条待筛选直线,确定该条待筛选直线所覆盖的边缘点的个数;

将对应的个数最多的待筛选直线作为所述目标直线。

一种可能的实施方式中,所述预设位置信息包括所述机器人在所述鸟瞰图对应的图像坐标系下的坐标信息;

所述第一确定模块301,在根据所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息,确定所述机器人相对地面标线的第一相对位姿信息时,用于:

确定所述地面标线在所述鸟瞰图对应的图像坐标系中的角度信息;以及,基于所述机器人在所述鸟瞰图对应的图像坐标系中的坐标信息,确定所述机器人与所述地面标线之间的图像横向距离;

基于预先设置的图像距离与真实距离的比值,以及确定的所述机器人与所述地面标线之间的图像横向距离,确定所述机器人与所述地面标线之间的真实横向距离;

根据所述地面标线在所述鸟瞰图对应的图像坐标系中的角度信息和所述真实横向距离确定所述第一相对位姿信息。

一种可能的实施方式中,所述第二确定模块302,在基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人相对地面标线的第二相对位姿信息时,用于:

基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人在预先构建好的地图中的位姿信息;

基于所述地图中预先存储的所述地面标线的位置信息、以及所述机器人在所述地图中的位姿信息,确定所述第二相对位姿信息。

一种可能的实施方式中,所述定位模块303,在基于所述第一相对位姿信息和第二相对位姿信息,对所述机器人进行辅助定位时,用于:

基于所述第一相对位姿信息和所述第二相对位姿信息,确定目标相对位姿信息;

基于所述地面标线的位置信息、以及所述目标相对位姿信息,重新确定所述机器人的当前位姿信息。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

基于同一技术构思,本申请实施例还提供了一种计算机设备。参照图4所示,为本申请实施例提供的计算机设备400的结构示意图,包括处理器401、存储器402、和总线403。其中,存储器402用于存储执行指令,包括内存4021和外部存储器4022;这里的内存4021也称内存储器,用于暂时存放处理器401中的运算数据,以及与硬盘等外部存储器4022交换的数据,处理器401通过内存4021与外部存储器4022进行数据交换,当计算机设备400运行时,处理器401与存储器402之间通过总线403通信,使得处理器401在执行以下指令

基于机器人在行驶过程中采集的包含地面标线的原始图像,确定所述机器人相对地面标线的第一相对位姿信息;

基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人相对地面标线的第二相对位姿信息;

基于所述第一相对位姿信息和第二相对位姿信息,对所述机器人进行辅助定位。

一种可能的实施方式中,处理器401执行的指令中,基于机器人在行驶过程中采集的包含地面标线的原始图像,确定所述机器人相对地面标线的第一相对位姿信息,包括:

将所述原始图像转换为鸟瞰图;

获取所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息;

根据所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息,确定所述机器人相对地面标线的第一相对位姿信息。

一种可能的实施方式中,处理器401执行的指令中,所述地面标线信息包括用于表征所述地面标线的目标直线;

确定所述机器人相对地面标线的第一相对位姿信息之前,还包括:

基于颜色检测算法确定所述鸟瞰图中所述地面标线所对应的目标位置区域;

确定所述目标位置区域中地面标线所对应的目标直线;

所述确定所述机器人相对地面标线的第一相对位姿信息,包括:

确定所述机器人相对所述目标直线的第一相对位姿信息。

一种可能的实施方式中,处理器401执行的指令中,确定所述目标位置区域中地面标线所对应的目标直线,包括:

将所述目标位置区域对应的目标位置区域图像转换为二值图像;

对所述二值图像进行边缘检测,确定多个边缘点,所述边缘点为位于所述地面标线的边缘的点;

基于所述多个边缘点进行直线拟合,确定至少一条待筛选直线;

从所述至少一条待筛选直线中筛选出所述目标直线。

一种可能的实施方式中,处理器401执行的指令中,所述从所述至少一条待筛选直线中筛选出所述目标直线,包括:

针对每一条待筛选直线,确定各个边缘点到该待筛选直线的距离之和;

将对应的距离之和最小的待筛选直线作为所述目标直线。

一种可能的实施方式中,处理器401执行的指令中,所述从所述至少一条待筛选直线中筛选出所述目标直线,包括:

针对每一条待筛选直线,确定该条待筛选直线所覆盖的边缘点的个数;

将对应的个数最多的待筛选直线作为所述目标直线。

一种可能的实施方式中,处理器401执行的指令中,所述预设位置信息包括所述机器人在所述鸟瞰图对应的图像坐标系下的坐标信息;

所述根据所述机器人在所述鸟瞰图中的预设位置信息,以及位于所述鸟瞰图中的地面标线信息,确定所述机器人相对地面标线的第一相对位姿信息,包括:

确定所述地面标线在所述鸟瞰图对应的图像坐标系中的角度信息;以及,基于所述机器人在所述鸟瞰图对应的图像坐标系中的坐标信息,确定所述机器人与所述地面标线之间的图像横向距离;

基于预先设置的图像距离与真实距离的比值,以及确定的所述机器人与所述地面标线之间的图像横向距离,确定所述机器人与所述地面标线之间的真实横向距离;

根据所述地面标线在所述鸟瞰图对应的图像坐标系中的角度信息和所述真实横向距离确定所述第一相对位姿信息。

一种可能的实施方式中,处理器401执行的指令中,基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人相对地面标线的第二相对位姿信息,包括:

基于所述机器人采集的同步定位与建图SLAM数据,确定所述机器人在预先构建好的地图中的位姿信息;

基于所述地图中预先存储的所述地面标线的位置信息、以及所述机器人在所述地图中的位姿信息,确定所述第二相对位姿信息。

一种可能的实施方式中,处理器401执行的指令中,所述基于所述第一相对位姿信息和第二相对位姿信息,对所述机器人进行辅助定位,包括:

基于所述第一相对位姿信息和所述第二相对位姿信息,确定目标相对位姿信息;

基于所述地面标线的位置信息、以及所述目标相对位姿信息,重新确定所述机器人的当前位姿信息。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的定位方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例所提供的定位方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的定位方法的步骤,具体可参见上述方法实施例,在此不再赘述。

本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种定位装置、定位单元、定位组件及定位组件的卸载方法
  • 定位信号检测方法、定位信号检测程序、定位信号接收装置、定位装置及信息设备终端
技术分类

06120113820615