CN112805534A - 定位目标对象的***和方法 - Google Patents

定位目标对象的***和方法 Download PDF

Info

Publication number
CN112805534A
CN112805534A CN201980047360.8A CN201980047360A CN112805534A CN 112805534 A CN112805534 A CN 112805534A CN 201980047360 A CN201980047360 A CN 201980047360A CN 112805534 A CN112805534 A CN 112805534A
Authority
CN
China
Prior art keywords
point
map
pose
determining
target object
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.)
Granted
Application number
CN201980047360.8A
Other languages
English (en)
Other versions
CN112805534B (zh
Inventor
朱保华
韩升升
屈孝志
侯庭波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Voyager Technology Co Ltd
Original Assignee
Beijing Voyager Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Voyager Technology Co Ltd filed Critical Beijing Voyager Technology Co Ltd
Publication of CN112805534A publication Critical patent/CN112805534A/zh
Application granted granted Critical
Publication of CN112805534B publication Critical patent/CN112805534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; 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/30Map- or contour-matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/3867Geometry of map features, e.g. shape points, polygons or for simplified maps
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Geometry (AREA)
  • Navigation (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

确定目标对象的目标位姿的***和方法被公开,该方法包括通过定位设备,实时确定目标对象的初始位姿(510);通过数据获取设备确定表明与所述目标对象的所述初始位姿相关联的第一环境的第一数据(520);基于表明所述第一环境的所述第一数据确定第一地图,所述第一地图包括关于所述第一环境的至少一个参考物体的参考特征信息(530);基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿,所述第二地图包括表明与包括所述目标对象的所述初始位姿的区域相对应的第二环境的第二数据(540)。

Description

定位目标对象的***和方法
技术领域
本申请涉及定位目标对象的***和方法,尤其涉及使用由定位传感器实时收集的地图数据和预先生成的高精度地图数据来定位目标对象的***和方法。
背景技术
现有的平台通常结合全球定位***(Global Positioning System,GPS)和其他定位传感器定位对象(例如,移动的车辆、办公楼等),如惯性测量单元(InertialMeasurement Unit,IMU)。通常,GPS提供对象在经度和纬度上的位置,IMU可以提供对象的姿态(如偏航角、侧滚角、俯仰角)。然而,在诸如定位和导航自主车辆的情况下,GPS/IMU的定位精度(例如,在米级或在分米级别)不够高。由于高精度地图的定位精度可以达到厘米级,本申请融合使用GPS/IMU和高精度地图来定位对象以提高定位精度。因此,期望提供使用GPS/IMU和高精度地图以更高精度自动定位目标对象的***和方法。
发明内容
本申请的一方面提供了一种确定目标对象的目标位姿的***。所述***包括至少一个存储介质以及至少一个与所述至少一个存储介质通信的处理器。所述至少一个存储介质包括指令集。其中,当执行所述指令集时,所述至少一个处理器用于:通过定位设备,实时确定目标对象的初始位姿;通过数据获取设备确定表明与所述目标对象的所述初始位姿相关联的第一环境的第一数据;基于表明所述第一环境的所述第一数据确定第一地图,其中,所述第一地图包括关于所述第一环境的至少一个参考物体的参考特征信息;以及基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿,其中,所述第二地图包括表明与包括所述目标对象的所述初始位姿的区域相对应的第二环境的第二数据。
在一些实施例中,所述参考物体包括具有预设形状的物体。
在一些实施例中,所述预设形状包括杆状或面状。
在一些实施例中,所述第一数据包括表明所述第一环境的第一点云,所述第一点云包括至少两个点的数据,以及为了基于表明所述第一环境的所述第一数据确定第一地图,所述至少一个处理器进一步用于:确定所述第一点云中每个点的点特征信息;基于所述第一点云中每个点的所述点特征信息和空间信息确定至少两个点簇;以及基于所述点特征信息和所述至少两个点簇确定所述第一地图。
在一些实施例中,所述至少一个处理器进一步用于:基于主成分分析确定所述点特征信息。
在一些实施例中,为了基于所述第一点云中每个点的所述点特征信息和空间信息确定至少两个点簇,所述至少一个处理器进一步用于:基于所述点特征信息筛选掉所述第一点云中所述至少两个点的至少一部分;以及基于所述筛选后的点中的每一个的点特征信息和所述筛选后的点中的每一个的空间信息来确定所述至少两个点簇。
在一些实施例中,所述第一点云中每个点的所述点特征信息包括所述点的特征值、对应于所述点的所述特征值的特征向量、所述点的线性度、所述点的平面度、所述点的垂度,或所述点的散度中的至少一个。
在一些实施例中,对于所述至少两个点簇中的每一个中的每两个点:所述两个点的点特征信息之间的差小于第一预设阈值;以及所述两个点的空间信息之间的差小于第二预设阈值。
在一些实施例中,为了基于所述点特征信息和所述至少两个点簇确定所述第一地图,所述至少一个处理器进一步用于:确定所述至少两个点簇中对应于所述至少一个参考物体中的一个的至少一个点簇中的每一个的簇特征信息;以及基于所述点特征信息、所述簇特征信息和所述至少一个点簇确定所述第一地图。
在一些实施例中,为了确定所述至少两个点簇中对应于所述至少一个参考物体中的一个的至少一个点簇中的每一个的簇特征信息,所述至少一个处理器进一步用于:基于分类器确定所述至少两个点簇中每一个的类别;如果所述至少两个点簇中的一个点簇的类别与所述至少一个参考物体中的一个的类别相同,指定所述点簇为所述至少一个点簇中的一个;以及确定所述至少一个点簇的所述簇特征信息。
在一些实施例中,至少一个点簇中的每一个的所述簇特征信息包括所述点簇的类别、所述点簇的平均特征向量,或所述点簇的协方差矩阵中的至少一个。
在一些实施例中,所述分类器包括随机森林分类器。
在一些实施例中,关于所述第一环境的所述至少一个参考物体的所述参考特征信息包括所述参考物体的参考类别、对应于所述参考物体的参考特征向量、或所述参考物体的参考协方差矩阵中的至少一个,或者所述至少一个处理器基于所述簇特征信息确定所述参考特征信息。
在一些实施例中,所述至少一个处理器进一步用于:用所述至少一个簇中每一个的所述簇特征信息标记所述第一地图。
在一些实施例中,所述第二地图包括对应于所述至少一个参考物体的至少两个第二子地图,以及为了基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿,所述至少一个处理器进一步用于:假设参考位姿为在所述第二地图中与所述初始位姿相对应的位姿;基于所述初始位姿和所述参考位姿,在所述至少两个第二子地图中确定与所述至少一个第一子地图匹配的至少一个第二子地图;确定所述参考位姿的函数,其中,所述参考位姿的所述函数表示所述至少一个第一子地图和所述至少一个第二子地图之间的匹配度;以及指定具有所述函数的最大值的参考位姿为所述目标位姿。
在一些实施例中,对于所述至少一个第一子地图中的一个第一子地图和与所述第一子地图匹配的第二子地图:对应于所述第二子地图的参考物体的类别与对应于所述第一子地图的参考物体的类别相同,以及转换后的第一子地图与所述第二子地图之间的距离小于预设距离阈值,其中,所述转换后的第一子地图是基于所述参考位姿和所述初始位姿通过将所述第一子地图转换到所述第二地图上而生成的。
在一些实施例中,所述至少一个处理器进一步用于:基于牛顿迭代算法确定具有所述最大值的所述参考位姿。
在一些实施例中,所述定位设备包括全球定位***和惯性测量单元。
在一些实施例中,所述全球定位***和所述惯性测量单元分别安装在所述目标对象上。
在一些实施例中,所述初始位姿包括所述目标对象的位置和所述目标对象的姿态。
在一些实施例中,所述数据获取设备包括激光雷达。
在一些实施例中,所述激光雷达安装在所述目标对象上。
在一些实施例中,所述目标对象包括自主车辆或机器人。
在一些实施例中,所述至少一个处理器进一步用于:向终端发送消息,指示所述终端实时地在所述终端的用户界面上显示所述目标对象的所述目标位姿。
在一些实施例中,所述至少一个处理器进一步用于:基于所述目标对象的所述目标位姿实时为所述目标对象提供导航服务。
本申请的另一方面提供了一种确定目标对象的目标位姿的方法所述方法可以在计算设备上实现,所述计算设备有至少一个处理器、至少一个存储介质和连接到网络的通信平台,所述方法包括:通过定位设备,实时确定目标对象的初始位姿;通过数据获取设备确定表明与所述目标对象的所述初始位姿相关联的第一环境的第一数据;基于表明所述第一环境的所述第一数据确定第一地图,其中,所述第一地图包括关于所述第一环境的至少一个参考物体的参考特征信息;以及基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿,其中,所述第二地图包括表明与包括所述目标对象的所述初始位姿的区域相对应的第二环境的第二数据。
在一些实施例中,所述参考物体包括具有预设形状的物体。
在一些实施例中,所述预设形状包括杆状或面状。
在一些实施例中,所述第一数据包括表明所述第一环境的第一点云,所述第一点云包括至少两个点的数据,以及基于表明所述第一环境的所述第一数据确定第一地图包括:确定所述第一点云中每个点的点特征信息;基于所述第一点云中每个点的所述点特征信息和空间信息确定至少两个点簇;以及基于所述点特征信息和所述至少两个点簇确定所述第一地图。
在一些实施例中,所述方法进一步包括:基于主成分分析确定所述点特征信息。
在一些实施例中,基于所述第一点云中每个点的所述点特征信息和空间信息确定至少两个点簇包括:基于所述点特征信息筛选掉所述第一点云中所述至少两个点的至少一部分;以及基于所述筛选后的点中的每一个的点特征信息和所述筛选后的点中的每一个的空间信息来确定所述至少两个点簇。
在一些实施例中,所述第一点云中每个点的所述点特征信息包括所述点的特征值、对应于所述点的所述特征值的特征向量、所述点的线性度、所述点的平面度、所述点的垂度,或所述点的散度中的至少一个。
在一些实施例中,对于所述至少两个点簇中的每一个中的每两个点:所述两个点的点特征信息之间的差小于第一预设阈值;以及所述两个点的空间信息之间的差小于第二预设阈值。
在一些实施例中,基于所述点特征信息和所述至少两个点簇确定所述第一地图包括:确定所述至少两个点簇中对应于所述至少一个参考物体中的一个的至少一个点簇中的每一个的簇特征信息;以及基于所述点特征信息、所述簇特征信息和所述至少一个点簇确定所述第一地图。
在一些实施例中,确定所述至少两个点簇中对应于所述至少一个参考物体中的一个的至少一个点簇中的每一个的簇特征信息包括:基于分类器确定所述至少两个点簇中每一个的类别;如果所述至少两个点簇中的一个点簇的类别与所述至少一个参考物体中的一个的类别相同,指定所述点簇为所述至少一个点簇中的一个;以及确定所述至少一个点簇的所述簇特征信息。
在一些实施例中,至少一个点簇中的每一个的所述簇特征信息包括所述点簇的类别、所述点簇的平均特征向量,或所述点簇的协方差矩阵中的至少一个。
在一些实施例中,所述分类器包括随机森林分类器。
在一些实施例中,关于所述第一环境的所述至少一个参考物体的所述参考特征信息包括所述参考物体的参考类别、对应于所述参考物体的参考特征向量、或所述参考物体的参考协方差矩阵、或者基于所述簇特征信息确定所述参考特征信息中的至少一个。
在一些实施例中,所述方法进一步包括:用所述至少一个簇中每一个的所述簇特征信息标记所述第一地图。
在一些实施例中,所述第二地图包括对应于所述至少一个参考物体的至少两个第二子地图,以及基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿包括:假设参考位姿为在所述第二地图中与所述初始位姿相对应的位姿;基于所述初始位姿和所述参考位姿,在所述至少两个第二子地图中确定与所述至少一个第一子地图匹配的至少一个第二子地图;确定所述参考位姿的函数,其中,所述参考位姿的所述函数表示所述至少一个第一子地图和所述至少一个第二子地图之间的匹配度;以及指定具有所述函数的最大值的参考位姿为所述目标位姿。
在一些实施例中,对于所述至少一个第一子地图中的一个第一子地图和与所述第一子地图匹配的第二子地图:对应于所述第二子地图的参考物体的类别与对应于所述第一子地图的参考物体的类别相同,以及转换后的第一子地图与所述第二子地图之间的距离小于预设距离阈值,其中,所述转换后的第一子地图是基于所述参考位姿和所述初始位姿通过将所述第一子地图转换到所述第二地图上而生成的。
在一些实施例中,所述方法包括:基于牛顿迭代算法确定具有所述最大值的所述参考位姿。
在一些实施例中,所述定位设备包括全球定位***和惯性测量单元。
在一些实施例中,所述全球定位***和所述惯性测量单元分别安装在所述目标对象上。
在一些实施例中,所述初始位姿包括所述目标对象的位置和所述目标对象的姿态。
在一些实施例中,所述数据获取设备包括激光雷达。
在一些实施例中,所述激光雷达安装在所述目标对象上。
在一些实施例中,所述目标对象包括自主车辆或机器人。
在一些实施例中,所述方法包括:向终端发送消息,指示所述终端实时地在所述终端的用户界面上显示所述目标对象的所述目标位姿。
在一些实施例中,所述方法包括:基于所述目标对象的所述目标位姿实时为所述目标对象提供导航服务。
本申请的另一发面提供了一种非暂时性计算机可读存储介质,包括可执行指令,当由至少一个处理器执行时,所述可执行指令指示所述至少一个处理器执行方法,所述方法包括:通过定位设备,实时确定目标对象的初始位姿;通过数据获取设备确定表明与所述目标对象的所述初始位姿相关联的第一环境的第一数据;基于表明所述第一环境的所述第一数据确定第一地图,其中,所述第一地图包括关于所述第一环境的至少一个参考物体的参考特征信息;以及基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿,其中,所述第二地图包括表明与包括所述目标对象的所述初始位姿的区域相对应的第二环境的第二数据。
本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的符号表示相同的部件,其中:
图1是根据本申请的一些实施例所示的示例性定位***的示意图;
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图;
图3是根据本申请的一些实施例所示的移动设备的示例性硬件组件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的示例性处理引擎的模块图;
图5是根据本申请的一些实施例所示的确定目标对象的目标位姿的示例性流程的流程图;
图6是根据本申请的一些实施例所示的基于表明第一环境的第一数据确定第一地图的示例性流程的流程图;以及
图7是根据本申请的一些实施例所示的基于目标对象的初始位姿、第一地图和第二地图确定目标对象的目标位姿的示例性流程的流程图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所公开的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
根据以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用了流程图用来说明根据本申请的一些实施例的***所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。此外,可以向流程图添加一个或以上其他操作。也可以从流程图中删除一个或以上操作。
本申请的一个方面涉及实时确定目标对象的目标位姿的***和方法。***可以通过定位设备(例如,GPS/IMU)实时确定目标对象的初始位姿。***还可以实时确定包括第一数据的第一地图,该第一数据表明与目标对象的初始位姿相关联的第一环境。另外,***可以预先确定包括表明第二环境的第二数据的高精度地图,该第二环境对应于包括目标对象初始位姿的区域。该***可以基于初始位姿通过匹配第一地图和高精度地图来确定目标对象的目标位姿。
根据本申请,由于高精度地图的定位精度高于GPS/IMU的定位精度,与仅使用GPS/IMU的定位平台相比,通过融合GPS/IMU和高精度地图实现的定位精度可以得到改善。
图1是根据本申请的一些实施例所示的示例性定位***的示意图。定位***100可以包括服务器110、网络120、终端设备130、定位引擎140和存储器150。
在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的***)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储于终端设备130或存储器150中的信息和/或数据。又例如,服务器110可以直接连接到终端设备130和/或存储器150以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在图2中所示的有一个或以上组件的计算设备200上实现。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理信息和/或数据以执行本申请中描述的一个或以上的功能。例如,处理引擎112可以基于表明与对象的位姿相关联的第一环境的第一数据来确定第一地图。在一些实施例中,处理引擎112可以包括一个或者以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。处理引擎112可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器或类似物、或其任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,定位***100中的一个或以上组件(例如,服务器110、终端设备130或存储器150)可以通过网络120将信息和/或数据发送到定位***100中的其他组件。例如,服务器110可以通过网络120从定位引擎140获取表明与对象的位姿相关联的第一环境的第一数据。在一些实施例中,网络120可以是有线网络或无线网络等或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络,内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN),公共开关电话网络(PSTN)、蓝牙网络、ZigBee网络、近场通信(NFC)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2、……,通过该网络交换点,***100的一个或以上部件可以连接到网络120以交换数据和/或信息。
在一些实施例中,终端设备130可以包括移动设备130-1、平板计算机130-2、膝上型计算机130-3、车载设备130-4等或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,该可穿戴设备可以包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM、Oculus RiftTM、HololensTM或Gear VRTM等。在一些实施例中,车载设备130-4可以包括车载计算机、车载电视等。
在一些实施例中,终端设备130可以与定位***100的其他组件(例如,服务器110、定位引擎140、存储器150)进行通信。例如,服务器110可以将目标对象的目标位姿发送到终端设备130。终端设备130可以在终端设备130的用户界面(图1中未示出)上显示目标位姿。又例如,终端设备130可以发送指令并控制服务器110执行指令。
如图1所示,定位引擎112可以至少包括定位设备140-1和数据获取设备140-2。定位设备140-1可以安装和/或固定在目标对象上。定位设备140-1可以确定目标对象的姿态数据。姿态数据可以包括对应于目标对象的位置和对应于目标对象的姿态。位置可以指由经度和纬度信息表示的空间(例如,世界)中的目标对象的绝对位置。姿态可以指目标对象相对于惯性参照系的方向,如,水平面、垂直平面、目标对象的运动平面或诸如附近物体的另一实体。姿态可以包括目标对象的偏航角、目标对象的俯仰角、目标对象的侧滚角等。
在一些实施例中,定位设备140-1可以包括不同类型的定位传感器(例如,如图1所示的两种类型的定位传感器)。可以将不同类型的定位传感器分别安装和/或固定在目标对象上。在一些实施例中,可以将一个或以上定位传感器集成到目标对象中。在一些实施例中,定位设备140-1可以包括能够确定目标对象的绝对位置的第一定位传感器和能够确定目标对象的姿态的第二定位传感器。仅作为示例,第一定位传感器可以包括全球定位***(global positioning system,GPS)、全球导航卫星***(global navigation satellitesystem,GLONASS)、罗盘导航***(compass navigation system,COMPASS)、伽利略定位***、准天顶卫星***(quasi-zenith satellite system,QZSS)、无线保真(WiFi)定位技术等或其任何组合。第二定位传感器可以包括惯性测量单元(IMU)。在一些实施例中,IMU可以包括至少一个运动传感器和至少一个旋转传感器。至少一个运动传感器可以确定目标对象的线性加速度。至少一个旋转传感器可以确定目标对象的角速度。IMU可以基于线性加速度和角速度确定目标对象的姿态。出于说明的目的,IMU可以包括平台式惯性测量单元(PIMU)、联式惯性测量单元(SIMU)等。
出于说明目的,定位设备140-1可以包括GPS和IMU(也称为”GPS/IMU”)。可以将GPS和IMU分别安装和/或固定在目标对象上。在一些实施例中,可以将GPS和/或IMU集成到目标对象。GPS可以确定与目标对象相对应的位置,IMU可以确定与目标对象相对应的姿态。
在一些实施例中,数据获取设备140-2可以安装在目标对象上。在一些实施例中,数据获取设备140-2可以是激光雷达。激光雷达可以获取表明与目标对象的初始位姿相关联的第一环境的第一数据。在一些实施例中,第一数据包括与第一环境相关联的点云,该点云以三维的方式表示所述第一环境。
存储器150可以储存数据和/或指令。在一些实施例中,存储器150可以存储从终端设备130获取的数据。在一些实施例中,存储器150可以储存服务器110用来执行或使用来完成本申请中描述的示例性方法的数据及/或指令。在一些实施例中,存储器150可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(PEROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,存储器150可以在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云,多层云等,或其任意组合。
在一些实施例中,存储器150可以连接到网络120以与定位***100的一个或在一些实施例中,存储器150可以连接到网络120以与定位***100的一个或以上组件(例如,服务器110、终端设备130)通信。定位***100的一个或以上组件可以经由网络120访问存储在存储器150中的数据和/或指令。在一些实施例中,存储器150可以直接连接到定位***100的一个或以上组件(例如,服务器110、终端设备130)或与之通信。在一些实施例中,存储器150可以是服务器110的一部分。
本领域普通技术人员将理解,当定位***100的元件(或组件)执行时,该元件可以通过电信号和/或电磁信号执行。例如,当终端设备130向服务器110发送指令时,终端设备130的处理器可以生成编码该指令的电信号。然后,终端设备130的处理器可以将电信号发送到输出端口。若终端设备130通过有线网络与服务器110通信,则输出端口可物理连接至电缆,其进一步将电信号传输给服务器110的输入端口。如果终端设备130通过无线网络与服务器110通信,则终端设备130的输出端口可以是一个或以上天线,其将电信号转换为电磁信号。在电子设备(例如终端设备130、定位引擎140和/或服务器110)内,当其处理器处理指令,发出指令和/或执行动作时,该指令和/或动作通过电信号执行。例如,当处理器从存储介质(例如,存储器150)检索或保存数据时,它可以将电信号发送到存储介质的读/写设备,其可以在存储介质中读取或写入结构化数据。该结构化数据可以电信号的形式通过电子装置的总线传输至处理器。如本申请所示的,电信号可以指一个电信号、一系列电信号和/或至少两个不连续的电信号。
图2是根据本申请的一些实施例所示的计算设备200的示例性硬件和/或软件组件的示意图。在一些实施例中,服务器110和/或终端设备130可以在计算设备200上实现。例如,处理引擎112可以在计算设备200上实施并执行本申请所公开的处理引擎112的功能。
计算设备200可用于实现如本申请所述的定位***100的任何组件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。为了方便起见,图中仅示出了一台计算机,但是本申请所描述的与确定目标对象的目标位姿有关的计算机功能可以在多个类似平台上以分布式的方式实现,以分担处理负载。
计算设备200可以包括与网络相连接通信端口250,以实现数据通信。计算设备200还可以包括处理器220,可以以一个或以上处理器(例如,逻辑电路)的形式执行程序指令。例如,处理器220可以包括接口电路和其中的处理电路。接口电路可以被配置为从总线210接收电信号,其***号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线210从处理电路发出电信号。
计算设备200还可以包括不同形式的程序存储和数据存储,例如磁盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,用于存储由计算设备处理和/或传输的各种数据文件。示例性计算机平台也可以包括储存在ROM 230、RAM 240和/或其他类型的非暂时储存介质中的程序指令,以由处理器220执行。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200还包括输入/输出(I/O)260,用来支持计算机和其他组件之间的输入/输出。计算设备200也可以通过网络通信接收编程和数据。
为了方便说明,图2中仅描述了一个处理器。也可以包括至少两个处理器,因此本申请中描述的由一个处理器执行的操作和/或方法步骤也可以由多个处理器共同地或单独执行。例如,如果在本申请中,计算设备200的处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由计算设备200的两个不同的CPU和/或处理器共同地或独立地执行(例如,第一处理器执行步骤A、第二处理器执行步骤B,或者第一和第二处理器共同地执行步骤A和步骤B)。
图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图。终端设备130可以在移动设备300上实现。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、输入/输出(I/O)350、内存360、操作***(OS)370和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于***总线或控制器(未示出),也可包括在移动设备300内。
在一些实施例中,操作***370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可从存储器390下载至内存360以及由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于接收和呈现与确定目标对象的目标位姿或来自定位***100的其他信息有关的信息。用户与信息流的交互可以经由输入/输出单元(I/O)350实现,并且经由网络120提供给处理引擎112和/或定位***100的其他组件。
图4是根据本申请的一些实施例所示的示例性处理引擎的模块图。处理引擎112可以包括第一位姿确定模块410、第一数据确定模块420、第一地图确定模块430和第二位姿确定模块440。
第一位姿确定模块410可以被配置为通过定位设备(例如,定位设备140-1)实时确定目标对象的初始位姿。其中,目标对象可以是任何需要定位的对象。目标对象的初始位姿可以指对应于目标对象的目标点的位姿。在一些实施例中,对于不同目标对象,第一定位模块410可以预先确定相同的点(例如,中心)作为这些不同目标对象的目标点。在一些实施例中,对于不同目标对象,第一定位模块410可以预先确定不同点为这些不同目标对象的目标点。仅作为示例,目标点可以包括目标对象的重心、定位设备(例如,定位设备140-1)在目标对象上安装的点、数据获取设备(例如,数据获取设备140-2)在目标对象上安装的点等。
在一些实施例中,第一定位确定模块410可以基于由定位设备确定的第一位姿数据,和与目标点和定位设备在目标对象上安装的第一点相关联的关系来确定初始位姿。在一些实施例中,第一定位确定模块410可以根据与第一点和目标点相关联的关系通过转换第一位姿来确定初始位姿。具体地,第一定位确定模块410可以基于与第一点和目标点相关联的关系来确定转换矩阵。第一定位确定模块410可以基于与第一点和目标点相关联的平移以及与第一点和目标点相关联的旋转来确定转换矩阵。
其中,第一定位数据可以包括对应于第一点的位置和对应于第一点的姿态。位置可以指由经度和纬度信息表示的空间(例如,世界)中的点(例如,第一点)的绝对位置。该绝对位置可以表示空间中的点的地理位置,即经度和纬度。姿态可以指点(例如,第一点)相对于惯性参考系的方向,例如水平面、垂直平面、目标对象的运动平面或诸如附近物体的另一实体。对应于第一点的姿态可以包括第一点的偏航角、第一点的侧滚角、第一点的俯仰角等。因此,目标对象的初始位姿(即,目标点)可以包括目标对象的初始位置(即,目标点)和目标对象的初始姿态(即,目标点)。初始位置可以指空间中的目标对象的绝对位置,即经度和纬度。初始姿态可以指目标对象相对于惯性参考系的方向,例如水平面、垂直平面、目标对象的运动平面或诸如附近物体的另一实体。
第一数据确定模块420可以被配置用于可以通过数据获取设备,确定表明与目标对象的初始位姿相关联的第一环境的第一数据。其中,第一环境可以指从初始位姿处获取的目标对象所处的环境。第一数据可以包括表明从初始位姿处获取的第一环境的数据。在不同的应用场景中,第一环境可以包括不同类型的物体。不同类型的物体可以有不同的形状,例如杆状、面状等。为了说明的目的,具有杆状的物体可以包括路灯、电线杆、树、交通信号灯等。具有面状的物体可以包括交通标志牌、广告牌、墙壁等。
在一些实施例中,数据获取设备可以安装在目标对象的第四点处,由数据获取设备获取的数据可以是从对应于第四点的第四位姿处获取的。如上所述,对应于初始位姿的目标点可以是目标对象的重心、定位设备在目标对象上安装的点、数据获取设备在目标对象处安装的点(即第四点)等。第四点可以与目标点不同或与目标点相同。在一些实施例中,如果目标点与第四点相同,目标对象的初始位姿即为第四点对应的位姿,从第四位姿处获取的第一数据是从初始位姿处获取的第一数据。在一些实施例中,如果目标点与第四点不同,由于目标点和第四点可以固定在目标对象上,对应于目标点的初始位姿与对应于第四点的第四位姿之间的差可以忽略不计,从而从初始位姿处获取的第一数据和从第四位姿处获取的数据可以是相同的,第一数据确定模块420可以将从第四位姿处获取的数据指定为从初始位姿处获取的第一数据。
在一些实施例中,数据获取设备可以是激光雷达。激光雷达可以通过用激光照射第一环境并测量反射激光来确定第一数据。在一些实施例中,第一数据可以表示为对应于第一环境的点云。其中,点云可以指空间中的一组数据点,每个数据点可以对应于第一环境中的点的数据。仅作为示例,每个数据点可以包括该点的位置信息、该点的颜色信息、该点的强度信息、该点的纹理信息等或其任意组合。在一些实施例中,该组数据点可以表示第一环境的特征信息。特征信息可以包括第一环境中物体的轮廓、第一环境中物体的表面、第一环境中物体的大小等或其任何组合。
第一地图确定模块430被配置用于基于表明第一环境的第一数据来确定第一地图。首先,第一地图确定模块430可以确定与点云相关联的特征信息。特征信息可以包括点集的点特征信息、对应于至少一个参考物体(例如,杆状的物体、面状的物体)的至少一个点簇的簇特征信息。其中,点的点特征信息可以表示点和包括该点的区域中的点之间的关系。在一些实施例中,区域可以是以该点为中心的球体。该关系可以与点的线性度、平面度、垂度和散度相关联。
在一些实施例中,第一地图确定模块430可以基于点特征信息确定至少两个点簇。至少两个点簇中的每一个的点满足预设条件。具体地,对于至少两个点簇中每一个中的每两个点,两点的点特征信息之间的差可以小于第一预设阈值,两点的空间信息之间的差可以小于第二预设阈值。第一预设阈值和/或第二预设阈值可以是定位***100的默认设置,或可以基于实时情况来调整。
此外,第一地图确定模块430可以确定至少两个点簇中与至少一个参考物体中的一个相对应的至少一个点簇。在一些实施例中,第一地图确定模块430可以确定至少两个点簇中的每一个的类别。处第一地图确定模块430可以基于至少两个点簇中的每一个的形状来确定类别。例如,类别可包括杆状、面状、除杆状和面状以外的形状。此外,第一地图确定模块430可以基于类别确定至少一个点簇。在一些实施例中,至少一个点簇的形状可以是杆状或面状。
在一些实施例中,第一地图确定模块430可以基于至少一个点簇的点特征信息来确定簇特征信息。为了说明的目的,点簇的簇特征信息可以包括点簇中点的点特征信息、点簇的类别、点簇的平均特征向量、点簇的协方差矩阵等。其中,平均特征向量可以是点簇中点的特征向量的平均值。
此外,第一地图确定模块430可以基于点云和与点云相关联的特征信息来确定第一地图。在一些实施例中,第一地图确定模块430可以将点云转换为第一地图。第一地图可以包括与点云相关联的特征信息。在一些实施例中,第一地图确定模块430可以用与点云相关联的特征信息的至少一部分标记第一地图。具体地,第一地图确定模块430可以使用簇特征信息标记第一地图。在一些实施例中,不同类别的参考物体可以用不同的形式标记,例如颜色、图标、文本、字符、数字等。例如,第一地图确定模块430可以用黄色标记杆状参考物体,用蓝色标记面状参考物体。又例如,第一地图确定模块430可以用至少两个小圆圈标记杆状参考物体,用至少两个小三角形标记面状参考物体。
第二位姿确定模块440被配置用于基于初始位姿、第一地图和第二地图实时确定目标对象的目标位姿。其中,第二地图可以包括表明与包括目标对象的初始位姿的区域相对应的第二环境的第二数据。例如,该区域可以包括城市中的区域、城市的环形道内的区域、城镇、城市等。在一些实施例中,第二地图可以由定位***100或第三方预先确定。第二位姿确定模块440可以从如本申请中其他地方披露的存储设备(例如,存储器150)获取第二地图。
在一些实施例中,第二位姿确定模块440可以通过匹配第一地图和第二地图来确定目标对象的目标位姿。具体地,处理引擎112可以基于初始位姿确定第二地图中与至少一个第一子地图匹配的至少一个第二子地图的集合。其中,至少一个第二子地图中的每一个可以是第二地图的一部分。第二位姿确定模块440可以确定至少一个第一子地图和至少一个第二子地图中的每一集合之间的匹配度。其中,匹配度可以表示至少一个第一子地图和至少一个第二子地图的相似度。在一些实施例中,第二位姿确定模块440可确定最大匹配度,即,对应于最大匹配度的至少一个第二地图最佳匹配至少一个第一子地图。第二位姿确定模块440可以将由该至少一个第二地图确定的位姿指定为第二地图中目标对象的目标位姿。由于第二地图的定位精度比GPS/IMU的定位精度更准确,第二位姿确定模块440可以基于初始位姿通过匹配第一地图和第二地图来确定目标对象的更准确的位姿(也称为“目标位姿”)。
处理引擎112中的模块可以通过有线连接或无线连接实现互相连接或互相通讯。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网路(WAN),蓝牙,ZigBee网络,近场通讯(NFC)等或其任意组合。两个或以上模块可以合并成一个模块,以及任何一个模块可以被拆分成两个或以上单元。例如,第一位姿确定模块410和第二位姿确定模块460可以融合为单个模块,其可以通过定位设备实时地确定目标对象的初始位姿,并且基于初始位姿、第一地图和第二地图实时确定目标对象的目标位姿。又例如,处理引擎112可以包括存储模块(未示出),其可以用于存储由上述模块生成的数据。
图5是根据本申请的一些实施例所示的确定目标对象的目标位姿的示例性流程的流程图。在一些实施例中,流程500可以通过存储在ROM 230或RAM 240中的一组指令(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行该指令,当执行该指令时,处理器220和/或模块可以被配置为执行流程500。以下所示过程的操作仅出于说明的目的。在一些实施例中,流程500可以通过未描述的一个或以上附加操作和/或不通过一个或以上本申请讨论的操作来完成。另外,如图5中所示和下面描述的过程的操作顺序不旨在是限制性的。
在510中,处理引擎112(例如,第一位姿确定模块410或处理器220的接口电路)可以通过定位设备(例如,定位设备140-1)实时确定目标对象的初始位姿。其中,目标对象可以是任何需要定位的任何对象。目标对象可以存在于不同的应用场景中,如,陆地、海洋、航空航天等,或其任何组合。仅作为示例,目标对象可以包括有人驾驶车辆、半自动驾驶车辆、自动驾驶车辆、机器人(如路面机器人)等。车辆可以包括出租车、私家车、顺风车、公共汽车、火车、动车、高铁、地铁、船舶、飞机、宇宙飞船、热气球等。
其中,目标对象的初始位姿可以指对应于目标对象的目标点的位姿。在一些实施例中,对于不同目标对象,定位***100可以预先确定相同的点(例如,中心)作为这些不同目标对象的目标点。在一些实施例中,对于不同目标对象,定位***100可以预先确定不同的点作为这些不同目标对象的目标点。仅作为示例,目标点可以包括目标对象的重心、定位设备(例如,定位设备140-1)在目标对象上安装的点、数据获取设备(例如,数据获取设备140-2)在目标对象上安装的点等。
在一些实施例中,如图1所述,定位设备可以安装和/或固定在目标对象的第一点上,定位设备可以确定第一点的第一位姿数据。此外,处理引擎112可以基于第一定位数据确定目标对象的初始位姿。具体地,由于第一点和目标点是目标对象的两个固定点,处理引擎112可以基于第一位姿和与目标点和第一点相关联的关系确定初始位姿。在一些实施例中,处理引擎112可以根据与第一点和目标点相关联的关系通过转换第一位姿来确定初始位姿。具体地,处理引擎112可以基于与第一点和目标点相关联的关系来确定转换矩阵。处理引擎112可以基于与第一点和目标点相关联的平移以及与第一点和目标点相关联的旋转来确定转换矩阵。
其中,第一定位数据可以包括对应于第一点的位置和对应于第一点的姿态。位置可以指由经度和纬度信息表示的空间(例如,世界)中的点(例如,第一点)的绝对位置。该绝对位置可以表示空间中的点的地理位置,即经度和纬度。姿态可以指相对于惯性参考系的点(例如,第一点)的方向,例如水平平面、垂直平面、目标对象的运动平面或诸如附近对象的另一实体。对应于第一点的姿态可以包括第一点的偏航角、第一点的侧滚角、第一点的俯仰角等。因此,目标对象的初始位姿(即,目标点)可以包括目标对象的初始位置(即,目标点)和目标对象的初始姿态(即,目标点)。初始位置可以指空间中的目标对象的绝对位置,即经度和纬度。初始姿态可以指目标对象相对于惯性参考帧的方向,例如水平面、垂直平面、目标对象的运动平面或诸如附近对象的另一实体。
在一些实施例中,定位设备可以包括不同类型的定位传感器。不同类型的定位传感器可以分别安装和/或固定在目标对象的点上。在一些实施例中,一个或以上定位传感器可以集成到目标对象中。在一些实施例中,定位设备可以包括第一定位传感器和第二定位传感器。第一定位传感器可确定目标对象的绝对位置(例如,对象的点)、第二定位传感器可确定目标对象的姿态。仅作为示例,第一定位传感器可以包括全球定位***(GPS)、全球导航卫星***(GLONASS)、指南针导航***(COMPASS)、伽利略定位***、准天顶卫星***(QZSS)、无线保真(WiFi)定位技术等或其任何组合。第二定位传感器可以包括惯性测量单元(IMU)。在一些实施例中,IMU可以包括至少一个运动传感器和至少一个旋转传感器。至少一个运动传感器可以确定对象的线性加速度,至少一个旋转传感器可以确定目标对象的角速度。IMU可以基于线性加速度和角速度确定对象的姿态。出于说明的目的,IMU可以包括平台式惯性测量单元(PIMU)、联式惯性测量单元(SIMU)等。
出于说明的目的,定位设备可以包括GPS和IMU(也称为“GPS/IMU”)。在一些实施例中,可以将GPS和/或IMU集成到目标对象中。在一些实施例中,可以将GPS安装和/或固定在目标对象的第二点上。可以将IMU安装和/或固定在目标对象的第三点上。因此,GPS可以确定第二点的第二位置,IMU可以确定第三点的第三姿态。由于第三点和第二点是目标对象的两个固定点,处理引擎112可以基于第二点和第三点之间的差异(例如,位置差异)来确定第三点的第三位置。此外,如上所述,处理引擎112可以通过根据与第三点和目标点相关联的关系转换第三点的位姿(即,第三姿态和第三位置)来确定初始位姿。具体地,处理引擎112可以基于与第三点和目标点相关联的关系来确定转换矩阵。处理引擎112可以基于与第三点和目标点相关联的平移以及与第三点和目标点相关联的旋转来确定转换矩阵。
在520中,处理引擎112(例如,第一数据确定模块420或处理器220的接口电路)可以通过数据获取设备,确定表明与目标对象的初始位姿相关联的第一环境的第一数据。其中,第一环境可以指从初始位姿处获取的目标对象所处的环境。第一数据可以包括表明从初始位姿处获取的第一环境的数据。在不同的应用场景中,第一环境可以包括不同类型的物体。不同类型的物体可以有不同的形状,例如杆状、面状等。为了说明的目的,具有杆状的物体可以包括路灯、电线杆、树、交通信号灯等。具有面状的物体可以包括交通标志牌、广告牌、墙壁等。
在一些实施例中,数据获取设备可以安装在目标对象的第四点处,由数据获取设备获取的数据可以是从对应于第四点的第四位姿处获取的。如上所述,对应于初始位姿的目标点可以是目标对象的重心、定位设备在目标对象上安装的点、数据获取设备在目标对象处安装的点(即第四点)等。第四点可以与目标点不同或与目标点相同。在一些实施例中,如果目标点与第四点相同,目标对象的初始位姿即为第四点对应的位姿,从第四位姿处获取的第一数据是从初始位姿处获取的第一数据。在一些实施例中,如果目标点与第四点不同,由于目标点和第四点可以固定在目标对象上,对应于目标点的初始位姿与对应于第四点的第四位姿之间的差可以忽略不计,从而从初始位姿处获取的第一数据和从第四位姿处获取的数据可以是相同的,处理引擎112可以将从第四位姿处获取的数据指定为从初始位姿处获取的第一数据。
在一些实施例中,数据获取设备可以是激光雷达。激光雷达可以通过用激光照射第一环境并测量反射激光来确定第一数据。在一些实施例中,第一数据可以表示为对应于第一环境的点云。其中,点云可以指空间中的一组数据点,每个数据点可以对应于第一环境中的点的数据。仅作为示例,每个数据点可以包括该点的位置信息、该点的颜色信息、该点的强度信息、该点的纹理信息等或其任意组合。在一些实施例中,该组数据点可以表示第一环境的特征信息。特征信息可以包括第一环境中物体的轮廓、第一环境中物体的表面、第一环境中物体的大小等或其任何组合。在一些实施例中,点云可以是PLY、STL、OBJ、X3D、IGS、DXF的形式。确定第一地图的更详细描述可以在本申请的其他地方找到,如图6及其描述。
在530中,处理引擎112(例如,第一地图确定模块430或处理器220的接口电路)可以基于表明第一环境的第一数据来确定第一地图。首先,处理引擎112可以确定与点云相关联的特征信息。特征信息可以包括点集的点特征信息、对应于至少一个参考物体(例如,杆状的物体、面状的物体)的至少一个点簇的簇特征信息。其中,点的点特征信息可以表示点和包括该点的区域中的点之间的关系。在一些实施例中,区域可以是以该点为中心的球体。该关系可以与点的线性度、平面度、垂度和散度相关联。仅作为示例,该点的点特征信息可以包括该点的特征值、该点的特征值对应的特征向量(统称为“第一点特征信息”)、点的线性度、点的平面度、点的垂度、点的散度(统称为“第二点特征信息”)等。处理引擎112可以基于第一点特征信息确定第二点特征信息。确定点特征信息的更详细描述可以在本申请的其他地方找到,如图6及其描述。
在一些实施例中,处理引擎112可以基于点特征信息确定至少两个点簇。至少两个点簇中的每一个的点满足预设条件。具体地,对于至少两个点簇中每一个中的每两个点,两点的点特征信息之间的差可以小于第一预设阈值,两点的空间信息之间的差可以小于第二预设阈值。在一些实施例中,如果两点的特征向量的模之间的差小于第一预设阈值,与这两个点相关联的法向矢量之间的夹角小于第二预设阈值,可以认为至少两个点簇中每一个中的点满足预设条件。其中,处理引擎112可以基于该点的相邻区域(例如,以该点为中心的圆)来确定与点相关联的法向量。第一预设阈值和/或第二预设阈值可以是定位***100的默认设置,或可以基于实时情况来调整。
此外,处理引擎112可以确定至少两个点簇中与至少一个参考物体中的一个相对应的至少一个点簇。在一些实施例中,处理引擎112可以确定至少两个点簇中的每一个的类别。处理引擎112可以基于至少两个点簇中的每一个的形状来确定类别。例如,类别可包括杆状、面状、除杆状和面状以外的形状。此外,处理引擎112可以基于类别确定至少一个点簇。在一些实施例中,至少一个点簇的形状可以是杆状或面状。
在一些实施例中,处理引擎112可以基于至少一个点簇的点特征信息来确定簇特征信息。为了说明的目的,点簇的簇特征信息可以包括点簇中点的点特征信息、点簇的类别、点簇的平均特征向量、点簇的协方差矩阵等。其中,平均特征向量可以是点簇中点的特征向量的平均值。确定簇特征信息的更详细描述可以在本申请的其他地方找到,如图6及其描述。
此外,处理引擎112可以基于点云和与点云相关联的特征信息来确定第一地图。在一些实施例中,处理引擎112可以将点云转换为第一地图。第一地图可以包括与点云相关联的特征信息。在一些实施例中,处理引擎112可以用与点云相关联的特征信息的至少一部分标记第一地图。具体地,处理引擎112可以使用簇特征信息标记第一地图。在一些实施例中,不同类别的参考物体可以用不同的形式标记,例如颜色、图标、文本、字符、数字等。例如,处理引擎112可以用黄色标记杆状参考物体,用蓝色标记面状参考物体。又例如,处理引擎112可以用至少两个小圆圈标记杆状参考物体,用至少两个小三角形标记面状参考物体。
在540中,处理引擎112(例如,第一地图确定模块440或处理器220的接口电路)可以基于初始位姿、第一地图和第二地图实时确定目标对象的目标位姿。其中,第二地图可以包括表明与包括目标对象的初始位姿的区域相对应的第二环境的第二数据。例如,该区域可以包括城市中的区域、城市的环形道内的区域、城镇、城市等。在一些实施例中,第二地图可以由定位***100或第三方预先确定。处理引擎112可以从如本申请中其他地方披露的存储设备(例如,存储器150)获取第二地图。
在一些实施例中,处理引擎112可以通过匹配第一地图和第二地图来确定目标对象的目标位姿。具体地,处理引擎112可以基于初始位姿确定第二地图中与至少一个第一子地图匹配的至少一个第二子地图的集合。其中,至少一个第二子地图中的每一个可以是第二地图的一部分。处理引擎112可以确定至少一个第一子地图和至少一个第二子地图中的每一集合之间的匹配度。其中,匹配度可以表示至少一个第一子地图和至少一个第二子地图的相似度。在一些实施例中,处理引擎112可确定最大匹配度,即,对应于最大匹配度的至少一个第二地图最佳匹配至少一个第一子地图。处理引擎112可以将由该至少一个第二地图确定的位姿指定为第二地图中目标对象的目标位姿。由于第二地图的定位精度比GPS/IMU的定位精度更准确,处理引擎112可以基于初始位姿通过匹配第一地图和第二地图来确定目标对象的更准确的位姿(也称为“目标位姿”)。确定目标对象的目标位姿的更详细描述可以在本申请的其他地方找到,如,图7及其描述。
在一种应用场景中,定位***100可以实时定位自主车辆。此外,可以由定位***100导航该自动车辆。
在一种应用场景中,定位***100可以向终端(例如终端设备130)发送消息,以指示终端,如在终端的用户界面上,实时显示目标对象的目标位姿,从而便于用户知道目标对象的实时位姿。
在一种应用场景中,定位***100可以在GPS信号较弱的一些地方(例如隧道)中确定目标对象的目标位姿。此外,可使用目标对象的该目标位姿对该目标对象进行导航服务。
应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出多种修改和变化。然而,这些修改和变化不会背离本申请的范围。例如,可以在示例性流程500中的其他地方添加一个或以上其他可选步骤(例如,存储步骤)。在存储步骤中,处理引擎112可以在如本申请中其他地方披露的存储设备(例如,存储器150)存储与目标对象相关联的信息(如,初始位姿、第一数据、第一地图、第二地图)。又例如,如果在操作520中确定的第一数据不包括参考物体,例如,杆状物、面状物,则可省略操作530和操作540。
图6是根据本申请的一些实施例所示的基于表明第一环境的第一数据确定第一地图的示例性流程的流程图。在一些实施例中,流程600可以通过存储在ROM 230或RAM 240中的一组指令(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行该组指令,当执行该组指令时,处理器220和/或模块可以被配置为执行流程600。以下所示过程的操作仅出于说明的目的。在一些实施例中,流程600可以通过未描述的一个或以上附加操作和/或不通过一个或以上本申请讨论的操作来完成。另外,如图6中所示和下面描述的过程的操作顺序不旨在是限制性的。在一些实施例中,可以基于流程600来执行流程500的操作530。
在610中,处理引擎112(例如,第一地图确定模块430或处理器220的接口电路)可以确定第一点云中的每个点的点特征信息。在一些实施例中,处理引擎112可以基于点云中的点集的数据来确定点特征信息。如图5所述,点的点特征信息可以表示点和包括该点的区域中的点之间的关系。该关系可以与点的线性度、平面度、垂度和散度相关联。仅作为示例,该点的点特征信息可以包括该点的特征值、该点的特征值对应的特征向量(统称为“第一点特征信息”)、点的线性度、点的平面度、点的垂度、点的散度(统称为“第二点特征信息”)等。
在一些实施例中,处理引擎112可以基于主成分分析(Principal ComponentsAnalysis,PCA)确定该点的第一点特征信息。此外,处理引擎112可以基于该点的第一点特征信息来确定该点的第二点特征信息。在一些实施例中,处理引擎112可以基于下述等式(1)-(5)确定第二点特征信息:
Figure BDA0002898811560000251
Figure BDA0002898811560000252
Figure BDA0002898811560000253
Figure BDA0002898811560000254
Figure BDA0002898811560000255
其中,λ1、λ2、λ3指该点的三个特征值,该三个特征值按从大到小的顺序进行排序。L指点的线性度,P指点的平面度,S指点的散度,以及V指该点的垂度。处理引擎112可以基于等式(4)确定V,其中,U[3]指的是对应于λ3的特征向量。处理引擎112可以基于等式(5)确定U,其中,uj指对应于该点的第i个特征值的点的第i个特征向量。
在620中,处理引擎112(例如,第一地图确定模块430或处理器220的接口电路)可以基于第一点云中每个点的点特征信息和空间信息确定至少两个点簇。如图5所述,至少两个点簇中的每一个可以包括点云中满足预设条件的点的一部分。具体地,对于至少两个点簇中每一个中的每两个点,两点的点特征信息之间的差可以小于第一预设阈值,两点的空间信息之间的差可以小于第二预设阈值。在一些实施例中,如果两点的特征向量的模之间的差小于第一预设阈值,与这两个点相关联的法向矢量之间的夹角小于第二预设阈值,可以认为至少两个点簇中每一个中的点满足预设条件。其中,处理引擎112可以基于该点的相邻区域(例如,以该点为中心的圆)来确定与点相关联的法向量。第一预设阈值和/或第二预设阈值可以是定位***100的默认设置,或可以基于实时情况来调整。
在一些实施例中,在确定至少两个点簇之前,处理引擎112可以基于点特征信息筛选掉第一点云中的至少两个点中的至少一部分。此外,处理引擎112可以基于筛选后点中的每一个的点特征信息和筛选后点中的每一个空间信息来确定至少两个点簇。在一些实施例中,处理引擎112可以基于点特征信息筛选掉第一点云中的至少两个点的至少一部分。例如,处理引擎112可以筛选掉垂度小于预设阈值的点,例如0.2、0.3等。
在630中,处理引擎112(例如,第一地图确定模块430或处理器220的接口电路)可以基于点特征信息和至少两个点簇确定第一地图。首先,处理引擎112可以从至少两个点簇中确定与至少一个参考物体中的一个相对应的至少一个点簇中的每一个的簇特征信息。如本申请中其他地方所述,参考物体可具有预设形状。仅作为示例,预设形状可包括杆状、面状等。簇特征信息可以包括点簇中点的点特征信息、每个点簇的类别、点簇的平均特征向量、每个点簇的协方差矩阵等。
此外,如本申请中其他地方所述,处理引擎112可以基于点云、点特征信息和簇特征信息来确定第一地图。在一些实施例中,第一地图可以包括点特征信息和簇特征信息。在一些实施例中,处理引擎112可以将点云转换为第一地图。第一地图可以包括与点云相关联的特征信息。在一些实施例中,处理引擎112可以用与点云相关联的特征信息的至少一部分标记第一地图。具体地,处理引擎112可以使用簇特征信息标记第一地图。在一些实施例中,不同类别的参考物体可以用不同的形式标记,例如颜色、图标、文本、字符、数字等。例如,处理引擎112可以用黄色标记杆状参考物体,用蓝色标记面状参考物体。又例如,处理引擎112可以用至少两个小圆圈标记杆状参考物体,用至少两个小三角形标记面状参考物体。
应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出多种修改和变化。然而,这些修改和变化不会背离本申请的范围。
图7是根据本申请的一些实施例所示的基于目标对象的初始位姿、第一地图和第二地图确定目标对象的目标位姿的示例性流程的流程图。在一些实施例中,流程700可以通过存储在ROM 230或RAM 240中的一组指令(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行该组指令,当执行该组指令时,处理器220和/或模块可以被配置为执行流程700。以下所示过程的操作仅出于说明的目的。在一些实施例中,流程700可以通过未描述的一个或以上附加操作和/或不通过一个或以上本申请讨论的操作来完成。另外,如图7中所示和下面描述的过程的操作顺序不旨在是限制性的。在一些实施例中,可以基于流程700来执行流程500中的操作540。
在710中,处理引擎112(例如,第二位置确定模块440或处理器220的接口电路)可以假设参考位姿为在所述第二地图中与所述初始位姿相对应的位姿。参考位姿可以是未知的,处理引擎112可以基于流程700确定参考位姿的至少两个解。
在720中,处理引擎112(例如,第二位置确定模块440或处理器220的接口电路)可以基于所述初始位姿和所述参考位姿,在所述至少两个第二子地图中确定与所述至少一个第一子地图匹配的至少一个第二子地图。如本申请中其他地方所述,至少一个第二子地图中的每一个可以是第二地图的一部分。首先,处理引擎112可以基于第一地图、第二地图、初始位姿和参考位姿确定至少一个转换后的第一子地图。处理引擎112可以基于参考位姿和初始位姿将第一子地图转换到第二地图上来生成至少一个转换后的第一子地图。在一些实施例中,处理引擎112可以基于如下等式(6)-(8)确定至少一个转换后的第一子地图:
X=xi(i=0…N-1) (6)
X′=Rxi+t′ (7)
t′=[x,y,z]T (8)
其中,X指的是至少一个第一子地图中点的位姿,xi指的是至少一个第一子地图中的一个的点的第i个位姿,X′指的是至少一个转换后的第一子地图中点的位姿,R指的是与第一地图和第二地图相关联的旋转矩阵。t′指的是与第一地图和第二地图相关联的平移矩阵,处理引擎112可以基于等式(8)确定t′。
在一些实施例中,处理引擎112可以确定对应于每个转换后的第一子地图的转换后的平均特征向量。对于至少一个第一子地图的一个第一子地图和与该第一子地图匹配的第二子地图,对应于该第二子地图的参考物体的类别可以与对应于该第一子地图的参考物体的类别相同,以及对应于第一子地图的转换后的第一子地图与第二子地图之间的距离可以小于预设距离阈值(例如,3米)。
在730中,处理引擎112(例如,第二位姿确定模块440或处理器220的接口电路)可以确定参考位姿的函数。参考位姿的函数可以表示至少一个第一子地图和至少一个第二子地图之间的匹配度。函数的值越高,至少一个第一子地图与至少一个第二子地图之间的匹配度越高。在一些实施例中,处理引擎112可以基于以下等式(9)-(11)确定参考位姿的函数:
Figure BDA0002898811560000281
Figure BDA0002898811560000282
sem′=[x′]T,v,s,p,l]T (11)
如本申请其他地方所述,处理引擎112可以确定(对应于至少一个第一子地图的)至少一个簇的至少一个协方差矩阵。在一些实施例中,处理引擎112可以基于等式(9)确定协方差矩阵,其中,εj指与第j个第一子地图相关联的协方差矩阵,N指第j个第一子地图中点的数量,semji指与在第j个第一子地图中第i个点的位姿相关联的向量,pj指第j个第一子地图的平均特征向量。此外,处理引擎112可以基于等式(10)确定参考位姿的函数,其中,E(X,t)指参考位姿的函数,N指的是第j个第一子地图中点的数量,即第j个第一转换后的子地图中点的数量,M指的是至少一个第一子地图的数量。
在一些实施例中,处理引擎112可以基于牛顿迭代算法确定函数的值。在每次迭代中,处理引擎112可以确定函数的值。在确定函数的值之后,可以确定对应于函数值的参考位置的解。当函数的最大值确定后,迭代可以结束。在一些实施例中,处理引擎112可以基于以下等式(12)-(13)确定函数的值:
f(t)=-E(X,t) (12)
tnew=t-H-1g (13)
其中,f(t)指函数的负函数,t指的是一次迭代中参考位姿的解,tnew指下一次迭代中参考位姿的解,H指海森矩阵,g指梯度矩阵。
在740中,处理引擎112(例如,第二位姿确定模块440或处理器220的接口电路)可以指定具有最大函数值的参考位姿的解作为目标位姿。如果函数的值最大,处理引擎112可以认为目标对象可以位于第二地图上与函数的值相对应的参考位姿。
应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出多种修改和变化。然而,这些修改和变化不会背离本申请的范围。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明公开仅作为示例,并不构成对本申请的限制。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定系指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特性可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“***”。此外,本申请公开的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行***、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质等或其任意组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或以上程序语言编写,包括面向主体编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的***组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的***。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。

Claims (51)

1.一种确定目标对象的目标位姿的***,包括:
至少一个包括指令集的存储介质;以及
至少一个与所述至少一个存储介质通信的处理器,其中,当执行所述指令集时,所述至少一个处理器用于:
通过定位设备,实时确定目标对象的初始位姿;
通过数据获取设备确定表明与所述目标对象的所述初始位姿相关联的第一环境的第一数据;
基于表明所述第一环境的所述第一数据确定第一地图,其中,所述第一地图包括关于所述第一环境的至少一个参考物体的参考特征信息;以及
基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿,其中,所述第二地图包括表明与包括所述目标对象的所述初始位姿的区域相对应的第二环境的第二数据。
2.根据权利要求1所述的***,其中,所述参考物体包括具有预设形状的物体。
3.根据权利要求2所述的***,其中,所述预设形状包括杆状或面状。
4.根据权利要求1所述的***,其中,所述第一数据包括表明所述第一环境的第一点云,所述第一点云包括至少两个点的数据,以及
为了基于表明所述第一环境的所述第一数据确定第一地图,所述至少一个处理器进一步用于:
确定所述第一点云中每个点的点特征信息;
基于所述第一点云中每个点的所述点特征信息和空间信息确定至少两个点簇;以及
基于所述点特征信息和所述至少两个点簇确定所述第一地图。
5.根据权利要求4所述的***,其中,所述至少一个处理器进一步用于:
基于主成分分析确定所述点特征信息。
6.根据权利要求4所述的***,其中,为了基于所述第一点云中每个点的所述点特征信息和空间信息确定至少两个点簇,所述至少一个处理器进一步用于:
基于所述点特征信息筛选掉所述第一点云中所述至少两个点的至少一部分;以及
基于所述筛选后的点中的每一个的点特征信息和所述筛选后的点中的每一个的空间信息来确定所述至少两个点簇。
7.根据权利要求4或5所述的***,其中,所述第一点云中每个点的所述点特征信息包括所述点的特征值、对应于所述点的所述特征值的特征向量、所述点的线性度、所述点的平面度、所述点的垂度,或所述点的散度中的至少一个。
8.根据权利要求4-7任一项所述的***,其中,对于所述至少两个点簇中的每一个中的每两个点:
所述两个点的点特征信息之间的差小于第一预设阈值;以及
所述两个点的空间信息之间的差小于第二预设阈值。
9.根据权利要求4-8任一项所述的***,其中,为了基于所述点特征信息和所述至少两个点簇确定所述第一地图,所述至少一个处理器进一步用于:
确定所述至少两个点簇中对应于所述至少一个参考物体中的一个的至少一个点簇中的每一个的簇特征信息;以及
基于所述点特征信息、所述簇特征信息和所述至少一个点簇确定所述第一地图。
10.根据权利要求9所述的***,其中,为了确定所述至少两个点簇中对应于所述至少一个参考物体中的一个的至少一个点簇中的每一个的簇特征信息,所述至少一个处理器进一步用于:
基于分类器确定所述至少两个点簇中每一个的类别;
如果所述至少两个点簇中的一个点簇的类别与所述至少一个参考物体中的一个的类别相同,指定所述点簇为所述至少一个点簇中的一个;以及
确定所述至少一个点簇的所述簇特征信息。
11.根据权利要求9或10所述的***,其中,至少一个点簇中的每一个的所述簇特征信息包括所述点簇的类别、所述点簇的平均特征向量,或所述点簇的协方差矩阵中的至少一个。
12.根据权利要求10所述的***,其中,所述分类器包括随机森林分类器。
13.根据权利要求11所述的***,其中,关于所述第一环境的所述至少一个参考物体的所述参考特征信息包括所述参考物体的参考类别、对应于所述参考物体的参考特征向量、或所述参考物体的参考协方差矩阵、或者基于所述簇特征信息确定所述参考特征信息中的至少一个。
14.根据权利要求9或10所述的***,其中,所述至少一个处理器进一步用于:
用所述至少一个簇中每一个的所述簇特征信息标记所述第一地图。
15.根据权利要求1所述的***,其中,所述第二地图包括对应于所述至少一个参考物体的至少两个第二子地图,以及
为了基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿,所述至少一个处理器进一步用于:
假设参考位姿为在所述第二地图中与所述初始位姿相对应的位姿;
基于所述初始位姿和所述参考位姿,在所述至少两个第二子地图中确定与所述至少一个第一子地图匹配的至少一个第二子地图;
确定所述参考位姿的函数,其中,所述参考位姿的所述函数表示所述至少一个第一子地图和所述至少一个第二子地图之间的匹配度;以及
指定具有所述函数的最大值的参考位姿为所述目标位姿。
16.根据权利要求15所述的***,其中,对于所述至少一个第一子地图中的一个第一子地图和与所述第一子地图匹配的第二子地图:
对应于所述第二子地图的参考物体的类别与对应于所述第一子地图的参考物体的类别相同,以及
转换后的第一子地图与所述第二子地图之间的距离小于预设距离阈值,其中,所述转换后的第一子地图是基于所述参考位姿和所述初始位姿通过将所述第一子地图转换到所述第二地图上而生成的。
17.根据权利要求15所述的***,其中,所述至少一个处理器进一步用于:
基于牛顿迭代算法确定具有所述最大值的所述参考位姿。
18.根据权利要求1所述的***,其中,所述定位设备包括全球定位***和惯性测量单元。
19.根据权利要求18所述的***,其中,所述全球定位***和所述惯性测量单元分别安装在所述目标对象上。
20.根据权利要求18或19所述的***,其中,所述初始位姿包括所述目标对象的位置和所述目标对象的姿态。
21.根据权利要求1所述的***,其中,所述数据获取设备包括激光雷达。
22.根据权利要求21所述的***,其中,所述激光雷达安装在所述目标对象上。
23.根据权利要求1所述的***,其中,所述目标对象包括自主车辆或机器人。
24.根据权利要求1-23任一项所述的***,其中,所述至少一个处理器进一步用于:
向终端发送消息,指示所述终端实时地在所述终端的用户界面上显示所述目标对象的所述目标位姿。
25.根据权利要求1-23任一项所述的***,其中,所述至少一个处理器进一步用于:
基于所述目标对象的所述目标位姿实时为所述目标对象提供导航服务。
26.一种在计算设备上实现的方法,所述计算设备有至少一个处理器、至少一个存储介质和连接到网络的通信平台,所述方法包括:
通过定位设备,实时确定目标对象的初始位姿;
通过数据获取设备确定表明与所述目标对象的所述初始位姿相关联的第一环境的第一数据;
基于表明所述第一环境的所述第一数据确定第一地图,其中,所述第一地图包括关于所述第一环境的至少一个参考物体的参考特征信息;以及
基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿,其中,所述第二地图包括表明与包括所述目标对象的所述初始位姿的区域相对应的第二环境的第二数据。
27.根据权利要求26所述的方法,其中,所述参考物体包括具有预设形状的物体。
28.根据权利要求26所述的方法,其中,所述预设形状包括杆状或面状。
29.根据权利要求26所述的方法,其中,其特征在于,所述第一数据包括表明所述第一环境的第一点云,所述第一点云包括至少两个点的数据,以及
基于表明所述第一环境的所述第一数据确定第一地图,所述第一地图确定模块包括:
确定所述第一点云中每个点的点特征信息;
基于所述第一点云中每个点的所述点特征信息和空间信息确定至少两个点簇;以及
基于所述点特征信息和所述至少两个点簇确定所述第一地图。
30.根据权利要求29所述的方法,其中,所述方法进一步包括:
基于主成分分析确定所述点特征信息。
31.根据权利要求29所述的方法,其中,基于所述第一点云中每个点的所述点特征信息和空间信息确定至少两个点簇包括:
基于所述点特征信息筛选掉所述第一点云中所述至少两个点的至少一部分;以及
基于所述筛选后的点中的每一个的点特征信息和所述筛选后的点中的每一个的空间信息来确定所述至少两个点簇。
32.根据权利要求29或30所述的方法,其中,所述第一点云中每个点的所述点特征信息包括所述点的特征值、对应于所述点的所述特征值的特征向量、所述点的线性度、所述点的平面度、所述点的垂度,或所述点的散度中的至少一个。
33.根据权利要求29-32任一项所述所述的方法,其中,对于所述至少两个点簇中的每一个中的每两个点:
所述两个点的点特征信息之间的差小于第一预设阈值;以及
所述两个点的空间信息之间的差小于第二预设阈值。
34.根据权利要求29-33任一项所述的方法,其中,基于所述点特征信息和所述至少两个点簇确定所述第一地图包括:
确定所述至少两个点簇中对应于所述至少一个参考物体中的一个的至少一个点簇中的每一个的簇特征信息;以及
基于所述点特征信息、所述簇特征信息和所述至少一个点簇确定所述第一地图。
35.根据权利要求34所述的方法,其中,确定所述至少两个点簇中对应于所述至少一个参考物体中的一个的至少一个点簇中的每一个的簇特征信息包括:
基于分类器确定所述至少两个点簇中每一个的类别;
如果所述至少两个点簇中的一个点簇的类别与所述至少一个参考物体中的一个的类别相同,指定所述点簇为所述至少一个点簇中的一个;以及
确定所述至少一个点簇的所述簇特征信息。
36.根据权利要求34或35所述的方法,其中,至少一个点簇中的每一个的所述簇特征信息包括所述点簇的类别、所述点簇的平均特征向量,或所述点簇的协方差矩阵中的至少一个。
37.根据权利要求35所述的方法,其中,所述分类器包括随机森林分类器。
38.根据权利要求36所述的方法,其中,关于所述第一环境的所述至少一个参考物体的所述参考特征信息包括所述参考物体的参考类别、对应于所述参考物体的参考特征向量、或所述参考物体的参考协方差矩阵中的至少一个或者基于所述簇特征信息确定所述参考特征信息。
39.根据权利要求34或35所述的方法,其中,所述方法进一步包括:
用所述至少一个簇中每一个的所述簇特征信息标记所述第一地图。
40.根据权利要求26所述的方法,其特征在于,所述第二地图包括对应于所述至少一个参考物体的至少两个第二子地图,以及
基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿包括:
假设参考位姿为在所述第二地图中与所述初始位姿相对应的位姿;
基于所述初始位姿和所述参考位姿,在所述至少两个第二子地图中确定与所述至少一个第一子地图匹配的至少一个第二子地图;
确定所述参考位姿的函数,其中,所述参考位姿的所述函数表示所述至少一个第一子地图和所述至少一个第二子地图之间的匹配度;以及
指定具有所述函数的最大值的参考位姿为所述目标位姿。
41.根据权利要求40所述的方法,其中,对于所述至少一个第一子地图中的一个第一子地图和与所述第一子地图匹配的第二子地图:
对应于所述第二子地图的参考物体的类别与对应于所述第一子地图的参考物体的类别相同,以及
转换后的第一子地图与所述第二子地图之间的距离小于预设距离阈值,其中,所述转换后的第一子地图是基于所述参考位姿和所述初始位姿通过将所述第一子地图转换到所述第二地图上而生成的。
42.根据权利要求40所述的方法,其中,所述方法包括:
基于牛顿迭代算法确定具有所述最大值的所述参考位姿。
43.根据权利要求26所述的方法,其中,所述定位设备包括全球定位***和惯性测量单元。
44.根据权利要求43所述的方法,其中,所述全球定位***和所述惯性测量单元分别安装在所述目标对象上。
45.根据权利要求43或44所述的方法,其中,所述初始位姿包括所述目标对象的位置和所述目标对象的姿态。
46.根据权利要求26所述的方法,其中,所述数据获取设备包括激光雷达。
47.根据权利要求46所述的方法,其中,所述激光雷达安装在所述目标对象上。
48.根据权利要求26所述的方法,其中,所述目标对象包括自主车辆或机器人。
49.根据权利要求26-48任一项所述的方法,其中,所述方法包括:
向终端发送消息,指示所述终端实时地在所述终端的用户界面上显示所述目标对象的所述目标位姿。
50.根据权利要求26-48任一项所述的方法,其中,所述方法包括:
基于所述目标对象的所述目标位姿实时为所述目标对象提供导航服务。
51.一种非暂时性计算机可读存储介质,包括可执行指令,当由至少一个处理器执行时,所述可执行指令指示所述至少一个处理器执行方法,所述方法包括:通过定位设备,实时确定目标对象的初始位姿;
通过数据获取设备确定表明与所述目标对象的所述初始位姿相关联的第一环境的第一数据;
基于表明所述第一环境的所述第一数据确定第一地图,其中,所述第一地图包括关于所述第一环境的至少一个参考物体的参考特征信息;以及
基于所述初始位姿、所述第一地图和第二地图实时确定所述目标对象的目标位姿,其中,所述第二地图包括表明与包括所述目标对象的所述初始位姿的区域相对应的第二环境的第二数据。
CN201980047360.8A 2019-08-27 2019-08-27 定位目标对象的***和方法 Active CN112805534B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/102831 WO2021035532A1 (en) 2019-08-27 2019-08-27 Systems and methods for positioning target subject

Publications (2)

Publication Number Publication Date
CN112805534A true CN112805534A (zh) 2021-05-14
CN112805534B CN112805534B (zh) 2024-05-17

Family

ID=74684104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980047360.8A Active CN112805534B (zh) 2019-08-27 2019-08-27 定位目标对象的***和方法

Country Status (3)

Country Link
US (1) US20220178719A1 (zh)
CN (1) CN112805534B (zh)
WO (1) WO2021035532A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106842226A (zh) * 2017-01-19 2017-06-13 谢建平 基于激光雷达的定位***及方法
US20170307746A1 (en) * 2016-04-22 2017-10-26 Mohsen Rohani Systems and methods for radar-based localization
CN108228798A (zh) * 2017-12-29 2018-06-29 百度在线网络技术(北京)有限公司 确定点云数据之间的匹配关系的方法和装置
CN108303721A (zh) * 2018-02-12 2018-07-20 北京经纬恒润科技有限公司 一种车辆定位方法及***
CN109540142A (zh) * 2018-11-27 2019-03-29 达闼科技(北京)有限公司 一种机器人定位导航的方法、装置、计算设备
CN110069593A (zh) * 2019-04-24 2019-07-30 百度在线网络技术(北京)有限公司 图像处理方法及***、服务器、计算机可读介质
CN110095752A (zh) * 2019-05-07 2019-08-06 百度在线网络技术(北京)有限公司 定位方法、装置、设备和介质
CN112455502A (zh) * 2019-09-09 2021-03-09 中车株洲电力机车研究所有限公司 基于激光雷达的列车定位方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107390681B (zh) * 2017-06-21 2019-08-20 华南理工大学 一种基于激光雷达与地图匹配的移动机器人实时定位方法
CN109214248B (zh) * 2017-07-04 2022-04-29 阿波罗智能技术(北京)有限公司 用于识别无人驾驶车辆的激光点云数据的方法和装置
CN108638062B (zh) * 2018-05-09 2021-08-13 科沃斯商用机器人有限公司 机器人定位方法、装置、定位设备及存储介质
CN109540412A (zh) * 2018-11-30 2019-03-29 牡丹江鑫北方石油钻具有限责任公司 内防喷工具压力检测设备
US10846511B2 (en) * 2018-12-20 2020-11-24 Here Global B.V. Automatic detection and positioning of pole-like objects in 3D
US11468690B2 (en) * 2019-01-30 2022-10-11 Baidu Usa Llc Map partition system for autonomous vehicles
CN109900298B (zh) * 2019-03-01 2023-06-30 武汉光庭科技有限公司 一种车辆定位校准方法及***

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170307746A1 (en) * 2016-04-22 2017-10-26 Mohsen Rohani Systems and methods for radar-based localization
CN106842226A (zh) * 2017-01-19 2017-06-13 谢建平 基于激光雷达的定位***及方法
CN108228798A (zh) * 2017-12-29 2018-06-29 百度在线网络技术(北京)有限公司 确定点云数据之间的匹配关系的方法和装置
CN108303721A (zh) * 2018-02-12 2018-07-20 北京经纬恒润科技有限公司 一种车辆定位方法及***
CN109540142A (zh) * 2018-11-27 2019-03-29 达闼科技(北京)有限公司 一种机器人定位导航的方法、装置、计算设备
CN110069593A (zh) * 2019-04-24 2019-07-30 百度在线网络技术(北京)有限公司 图像处理方法及***、服务器、计算机可读介质
CN110095752A (zh) * 2019-05-07 2019-08-06 百度在线网络技术(北京)有限公司 定位方法、装置、设备和介质
CN112455502A (zh) * 2019-09-09 2021-03-09 中车株洲电力机车研究所有限公司 基于激光雷达的列车定位方法及装置

Also Published As

Publication number Publication date
CN112805534B (zh) 2024-05-17
US20220178719A1 (en) 2022-06-09
WO2021035532A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
CN109074370B (zh) 确定兴趣点的***和方法
CN110686686B (zh) 用于地图匹配的***和方法
US10904724B2 (en) Methods and systems for naming a pick up location
AU2017411198B2 (en) Systems and methods for route planning
US11003730B2 (en) Systems and methods for parent-child relationship determination for points of interest
WO2019227292A1 (en) Systems and methods for recommending pick-up locations
CN111465936B (zh) 确定地图上新道路的***和方法
WO2019232670A1 (en) Systems and methods for on-demand services
EP3642821A1 (en) Systems and methods for determining a new route in a map
US20220214185A1 (en) Systems and methods for recommendation and display of point of interest
CN110689719B (zh) 用于识别封闭路段的***和方法
WO2021087663A1 (en) Systems and methods for determining name for boarding point
US20230266137A1 (en) Systems and methods for recommending points of interest
US20220178701A1 (en) Systems and methods for positioning a target subject
WO2020107440A1 (en) Systems and methods for analyzing traffic congestion
WO2019232702A1 (en) System and method for determining location identifier
CN112805534B (zh) 定位目标对象的***和方法
WO2022126354A1 (en) Systems and methods for obtaining estimated time of arrival in online to offline services
CN112384756B (zh) 定位***和方法
US20200151197A1 (en) Systems and methods for joining data sets
WO2021212297A1 (en) Systems and methods for distance measurement
CN113557548A (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