CN115727857A - 定位方法、定位装置、车辆、存储介质和程序产品 - Google Patents
定位方法、定位装置、车辆、存储介质和程序产品 Download PDFInfo
- Publication number
- CN115727857A CN115727857A CN202111013558.XA CN202111013558A CN115727857A CN 115727857 A CN115727857 A CN 115727857A CN 202111013558 A CN202111013558 A CN 202111013558A CN 115727857 A CN115727857 A CN 115727857A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- pose
- descriptor
- cloud data
- positioning
- 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.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
本公开实施例涉及一种定位方法、定位装置、车辆、存储介质和程序产品。其中,定位方法,包括:获得车辆当前位姿下的点云数据,从点云数据中提取当前点云特征和全局描述子分量,全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量;根据第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿;根据第二描述子分量在匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿;使用第二位姿确定六自由度的第三位姿;使用六自由度的第三位姿作为初始位姿,进行当前点云特征与预先确定的定位点云地图的匹配,获得当前位姿的定位结果。本公开能够降低定位复杂度,并提高定位效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种定位方法、定位装置、车辆、计算机存储介质和计算机程序产品。
背景技术
高精度定位技术对于自动驾驶技术的实现至关重要,而全局重定位指的是在自动驾驶设备,例如自动驾驶车辆或机器人,在启动阶段在全局地图范围内确定初始位姿的过程,而后基于该初始位姿,可以进行连续的高精度定位。
全局重定位的一种方式是基于激光雷达、相机等传感设备采集当前的点云数据,并到事先建立的点云地图中的各个地图位姿上去进行位姿匹配,当找到特征一致的地图位姿,即可确定为当前位姿。该类重定位方法不需要依赖外部定位源,但在自动驾驶等应用场景中,通常需要确定6个自由度的地图位姿,即包括水平方向X\Y,垂直方向Z,以及滚转角roll、俯仰角pitch和偏航角yaw,共6个自由度,在该6个自由度的空间中求解位姿,是一个高复杂度问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种定位方法、定位装置、车辆、计算机存储介质和计算机程序产品,以降低位姿求解复杂度。
本公开实施例提供了一种定位方法,包括:
获得车辆当前位姿下的点云数据,从所述点云数据中提取当前点云特征和全局描述子分量,所述全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量;
根据所述第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿;
根据所述第二描述子分量在所述匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿;
使用所述第二位姿确定六自由度的第三位姿;
使用所述六自由度的第三位姿作为初始位姿,进行所述当前点云特征与预先确定的定位点云地图的匹配,获得所述当前位姿的定位结果。
本公开实施例还提供了一种定位装置,包括:
数据获取模块,用于获得车辆当前位姿下的点云数据,从所述点云数据中提取当前点云特征和全局描述子分量,所述全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量;
第一位姿模块,用于根据所述第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿;
第二位姿模块,用于根据所述第二描述子分量在所述匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿;
第三位姿模块,用于使用所述第二位姿确定六自由度的第三位姿;
匹配模块,用于用所述六自由度的第三位姿作为初始位姿,进行所述当前点云特征与预先确定的定位点云地图的匹配,获得所述当前位姿的定位结果。
本公开实施例还提供了一种车辆,包括上述的定位装置。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述的定位方法。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品用于执行上述的定位方法。
本公开提供的一种定位方法、定位装置、车辆、计算机存储介质和计算机程序产品。在获取到预先建立和保存的全局字典后,可以应用到定位流程中,即可以通过获得车辆当前位姿下的点云数据,从点云数据中提取当前点云特征和全局描述子分量,全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量,然后可以根据第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿,进而根据第二描述子分量在匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿,进一步使用第二位姿确定六自由度的第三位姿,并使用六自由度的第三位姿作为初始位姿,进行当前点云特征与预先确定的定位点云地图的匹配,获得当前位姿的定位结果。上述的定位过程中,对车辆当前位姿下的点云数据进行处理的过程,以及位姿匹配过程都相对于现有技术进行了简化,不需要进行高复杂度的运算,能够降低定位复杂度,并提高定位效率。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的一种定位点云地图的全局字典建立方法的流程示意图;
图2为本公开实施例提供的另一种定位点云地图的全局字典建立方法的流程示意图;
图3为本公开实施例提供的一种第一描述子分量获取方法的流程示意图;
图4为本公开实施例提供的一种第二描述子分量获取方法的流程示意图;
图5为本公开实施例提供的一种定位方法的流程示意图;
图6为本公开实施例提供另一种定位方法的流程示意图;
图7为本公开实施例提供的另一种第一描述子分量获取方法的流程示意图;
图8为本公开实施例提供的另一种第二描述子分量获取方法的流程示意图;
图9为本公开实施例提供的一种定位装置的结构示意图;
图10为本公开实施例提供的车辆的结构示意图;
图11为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
如背景技术中所记载的,现有技术中可以在利用定位点云地图进行全局重定位,其中的定位点云地图记载了各个地图位姿,以及与该地图位姿对应的点云数据。在进行全局重定位的过程中,需要利用传感设备采集当前位姿下的点云数据,然后去定位点云地图中进行位姿匹配,以匹配到点云数据一致的地图位姿,作为当前位姿;而在自动驾驶等重定位场景中,其中需要六个自由度位姿,即包括X、Y、Z、roll、yaw和pitch,在六个自由度的空间中求解位姿,是一个高复杂度的问题。例如在一个200m×200m的园区中进行自动驾驶车辆的全局重定位时,假设地图位姿在X、Y和Z方向上的采样率为0.2m,在roll、yaw和pitch方向上的采样率为1度,则进行全局重定位时需要进行大于1013次的位姿匹配过程,以确定点云数据一致的地图位姿,作为当前位姿。由此可见,现有技术中利用定位点云地图进行全局重定位时存在计算复杂的缺陷。
针对上述缺陷,本公开实施例提供了一种定位方案,其可以应用到上述全局重定位的过程中,该技术方案中,其不是直接利用上述的定位点云地图进行位姿匹配,而是通过将上述定位点云地图进行简化的方式,建立定位点云地图的全局字典,然后在重定位过程中利用了上述的全局字典,从而实现降低全局重定位过程中的计算复杂度问题。
本公开实施例将分别从全局字典的建立,以及利用全局字典进行定位的角度进行技术方案说明,且由于全局字典是基于定位点云地图进行简化处理而建立,上述的简化处理过程可以包括维度分解、精度降低处理等方式,因此在全局字典过程中,也会对定位点云地图的建立过程进行说明。在一些可选的实施例中,上述定位点云地图和全局字典的建立过程,可以线下进行,而利用全局字典进行定位的过程,则可以是在线上进行。
在建立高精度的定位点云地图的过程中,首先是利用装配有高精度定位设备和雷达、摄像头等传感器设备的采集车辆或者采集机器人,扫描目标区域,获得相关的数据,即雷达坐标系下的点云数据,以及对应的位姿,该位姿包括位置和姿态两个部分的信息;其次,是将各个位姿对应的点云数据进行坐标系转换,由雷达坐标系下转换为全局坐标系,然后进行拼接得到稠密点云数据;再次,经过集束优化、动态物体滤除和下采样等处理步骤,得到最终的定位点云地图,其记录了各地图位姿所对应的点云特征。上述定位点云地图提供了全局一致的场景描述,且可以应用于高精度定位,提供高精度地图位姿,例如可以精确到cm级别。
在利用上述方法得到高精度的定位点云地图后,即可以利用上述的定位点云地图来建立全局字典。本公开实施例所建立的全局词典,其基本构成还是与定位点云地图一致,需要包括采样位姿和点云数据的对应关系,区别在于可以对点云数据进行维度分解,得到由点云数据简化而来的全局描述子分量。上述采样位姿为定位点云地图上的采样点在全局坐标系下的位姿。而采样位姿可以是从定位点云地图所包括的地图位姿中采样得到,采样位姿集合可以是地图位姿集合的全部,即二者是相同的位姿集合,或者,采样位姿集合可以是定位点云地图对应的地图位姿集合的子集,即可以按照一定的规则,从地图位姿集合中抽取出来部分地图位姿作为采样位姿,也就是采样位姿是一种粗位姿,其精度低于地图位姿的精度。在进行定位的过程中,可以基于全局字典中的采样位姿进行粗定位,然后再基于粗定位结果进行细定位,得到其在定位点云地图中的地图位姿。
当然,根据自动驾驶车辆类型的不同,这些算法模块也会有所不同。例如,对于物流车辆、公共服务车辆、医疗服务车辆、终端服务车辆会涉及不同的算法模块。下面分别针对这四种自动驾驶车辆对算法模块进行举例说明:
其中,物流车辆是指物流场景中使用的车辆,例如可以是带自动分拣功能的物流车辆、带冷藏保温功能的物流车辆、带测量功能的物流车辆。这些物流车辆会涉及不同算法模块。
例如,对于物流车辆,可以带有自动化的分拣装置,该分拣装置可以在物流车辆到达目的地后自动把货物取出并搬送、分拣、存放。这就涉及用于货物分拣的算法模块,该算法模块主要实现货物取出、搬运、分拣以及存放等逻辑控制。
又例如,针对冷链物流场景,物流车辆还可以带有冷藏保温装置,该冷藏保温装置可以实现运输的水果、蔬菜、水产品、冷冻食品以及其它易腐烂的食品进行冷藏或保温,使之处于合适的温度环境,解决易腐烂食品的长途运输问题。这就涉及用于冷藏保温控制的算法模块,该算法模块主要用于根据食品(或物品)性质、易腐性、运输时间、当前季节、气候等信息动态、自适应计算冷餐或保温的合适温度,根据该合适温度对冷藏保温装置进行自动调节,这样在车辆运输不同食品或物品时运输人员无需手动调整温度,将运输人员从繁琐的温度调控中解放出来,提高冷藏保温运输的效率。
又例如,在大多物流场景中,是根据包裹体积和/或重量进行收费的,而物流包裹的数量非常庞大,单纯依靠快递员对包裹体积和/或重量进行测量,效率非常低,人工成本较高。因此,在一些物流车辆中,增设了测量装置,可自动测量物流包裹的体积和/或重量,并计算物流包裹的费用。这就涉及用于物流包裹测量的算法模块,该算法模块主要用于识别物流包裹的类型,确定物流包裹的测量方式,如进行体积测量还是重量测量或者是同时进行体积和重量的组合测量,并可根据确定的测量方式完成体积和/或重量的测量,以及根据测量结果完成费用计算。
其中,公共服务车辆是指提供某种公共服务的车辆,例如可以是消防车、除冰车、洒水车、铲雪车、垃圾处理车辆、交通指挥车辆等。这些公共服务车辆会涉及不同算法模块。
例如,对于自动驾驶的消防车,其主要任务是针对火灾现场进行合理的灭火任务,这就涉及用于灭火任务的算法模块,该算法模块至少需要实现火灾状况的识别、灭火方案的规划以及对灭火装置的自动控制等逻辑。
又例如,对于除冰车,其主要任务是清除路面上结的冰雪,这就涉及除冰的算法模块,该算法模块至少需要实现路面上冰雪状况的识别、根据冰雪状况制定除冰方案,如哪些路段需要采取除冰,哪些路段无需除冰,是否采用撒盐方式、撒盐克数等,以及在确定除冰方案的情况下对除冰装置的自动控制等逻辑。
其中,医疗服务车辆是指能够提供一种或多种医疗服务的自动驾驶车辆,该种车辆可提供消毒、测温、配药、隔离等医疗服务,这就涉及提供各种自助医疗服务的算法模块,这些算法模块主要实现消毒需求的识别以及对消毒装置的控制,以使消毒装置为病人进行消毒,或者对病人位置的识别,控制测温装置自动贴近病人额头等位置为病人进行测温,或者,用于实现对病症的判断,根据判断结果给出药方并需要实现对药品/药品容器的识别,以及对取药机械手的控制,使之按药方为病人抓取药品,等等。
其中,终端服务车辆是指可代替一些终端设备面向用户提供某种便利服务的自助型的自动驾驶车辆,例如这些车辆可以为用户提供打印、考勤、扫描、开锁、支付、零售等服务。
例如,在一些应用场景中,用户经常需要到特定位置去打印或扫描文档,费时费力。于是,出现一种可以为用户提供打印/扫描服务的终端服务车辆,这些服务车辆可以与用户终端设备互联,用户通过终端设备发出打印指令,服务车辆响应打印指令,自动打印用户所需的文档并可自动将打印出的文档送至用户位置,用户无需去打印机处排队,可极大地提高打印效率。或者,可以响应用户通过终端设备发出的扫描指令,移动至用户位置,用户将待扫描的文档放置的服务车辆的扫描工具上完成扫描,无需到打印/扫描机处排队,省时省力。这就涉及提供打印/扫描服务的算法模块,该算法模块至少需要识别与用户终端设备的互联、打印/扫描指令的响应、用户位置的定位以及行进控制等。
又例如,随着新零售业务的开展,越来越多的电商借助于自助售货机将商品销售送到了各大办公楼、公共区,但这些自助售货机被放置在固定位置,不可移动,用户需要到该自助售货机跟前才能购买所需商品,便利性还是较差。于是出现了可提供零售服务的自助驾驶车辆,这些服务车辆可以承载商品自动移动,并可提供对应的自助购物类APP或购物入口,用户借助于手机等终端通过APP或购物入口可以向提供零售服务的自动驾驶车辆进行下单,该订单中包括待购买的商品名称、数量以及用户位置,该车辆收到下单请求之后,可以确定当前剩余商品是否具有用户购买的商品以及数量是否足够,在确定具有用户购买的商品且数量足够的情况下,可携带这些商品自动移动至用户位置,将这些商品提供给用户,进一步提高用户购物的便利性,节约用户时间,让用户将时间用于更为重要的事情上。这就涉及提供零售服务的算法模块,这些算法模块主要实现响应用户下单请求、订单处理、商品信息维护、用户位置定位、支付管理等逻辑。
本公开实施例中,对于建立全局字典的技术方案,具体可以参照图1所示。图1为本公开实施例提供的一种定位点云地图的全局字典建立方法的流程示意图,该方法可以在电子设备上执行,该电子设备包括但不限于服务器、本地计算机等,如图1所示,该方法包括如下步骤:
步骤101、在定位点云地图的采样点上,获取全局坐标系下的局域点云;
其中,局域点云可以是基于定位点云地图获取的,与采样点在全局坐标系下的位姿对应的点云数据。采样点在全局坐标系下的位姿可以称为采样位姿,采样点的数量可以为多个,多个采样点在全局坐标下的位姿集合可以为采样位姿集合。
具体的,先确定采样位姿集合,该采样位姿集合包括多个采样位姿。如上所述的,采样位姿集合可以与定位点云地图对应的地图位姿集合一致,也可以是地图位姿集合的子集。例如在采样位姿集合是地图位姿集合的子集时,采样位姿集合中的采样位姿具有第一位置精度和第一角度精度,定位点云地图对应的地图位姿具有第二位置精度和第二角度精度,第一位置精度大于第二位置精度,和/或,第一角度精度大于第二角度精度。一个具体的示例中,可以设置地图位姿在X、Y和Z方向上的采样率为0.2m,在roll、yaw和pitch方向上的采样率为1度,而采样位姿在X、Y和Z方向上的采样率为1m,在roll、yaw和pitch方向上的采样率为5度。
在确定多个采样点的采样位姿之后,可以基于定位点云地图获取与采样位姿对应的点云数据,也即在定位地图点的采样点上获取全局坐标系下的局域点云。如上所述的,在定位点云地图中记录了与各地图位姿对应的点云数据,因此,该获取过程可以直接从定位点云地图中提取。上述局域点云可以是定位点云地图中提取的全部点云数据,或者是,在一些实施例中,考虑到自动驾驶车辆或者机器人装配的传感器设备的观测范围有限,因此上述从定位点云地图中提取的局域点云可以不是定位点云地图中所能够得到的全部点云数据,而仅是全部点云数据的部分数据,如获取与采样位姿对应的点云数据中距离采样位姿的位置点小于第一距离阈值的部分,作为局域点云。上述的第一距离阈值可以根据常用的传感器设备的采集范围来确定,可以选择50m,取与采样位姿所在的位置点50m内的局部点云数据,作为局域点云使用。
通过上述方式,一方面可以减少数据量,加快全局字典的建立速度;二方面在进行后续定位步骤时,由于传感器设备的采集范围有限,因此利用上述的局部点云数据即可以满足需求。
步骤102、对局域点云进行平面拟合得到第一点云数据;
本步骤中的平面拟合处理,是将局域点云中对应地面的点云数据,做平面拟合,将地面旋转至水平面方向,以使得旋转后的点云数据,作为平面拟合处理后的第一点云数据,该第一点云数据对应的采样位姿,在roll和pitch方向上的分量被设置为0。
步骤103、对第一点云数据进行垂直方向的平移得到第二点云数据;
本步骤中可以基于采样位姿的高度值对第一点云数据进行垂直方向平移,以获得垂直方向平移后的第二点云数据,具体是对上述第一点云数据进行高度值校正,基于采样位姿的高度值Zg,以-Zg在Z方向上平移上述第一点云数据,得到第二点云数据。该第二点云数据对应的位姿在z、roll和pitch方向上的分量被设置为0,另外,由于该第二点云数据是从定位点云地图中提取而得到,其并未在yaw分量上进行旋转,因此其yaw分量也可以设置为0,此时的第二点云数据对应的六自由度位姿可以记作(Xi,Yj,0,0,0,0)。
步骤104、根据第二点云数据获得与采样点对应的位姿相关的全局描述子分量。
其中,全局描述子分量为采集点云的传感器在自身坐标系下的位姿对应的处理后的点云数据,也即简化处理之后的点云数据。全局字典可以包括全局描述子分量与全局坐标系下的采样点的位姿之间的对应关系。
在进行上述处理的基础上,本步骤中基于第二点云数据进行维度分解,得到对应的全局描述子分量,该全局描述子分量可以包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量,也即全局描述子分量包括的一部分是和X和Y相关的分量,可以称之为与水平方向相关的第一描述子分量;二部分是和yaw相关的分量,可以称之为与偏航角相关的第二描述子分量。对于上述第一描述子分量和第二描述子分量的具体获取方式,在下述实施例中进行详细描述。
本公开实施例中,通过上述技术方案在步骤101中获取到局域点云,并进一步的通过步骤102-步骤104的处理过程,获取每个采样点对应的位姿相关的全局描述子分量,即包括与水平方向相关的第一描述子分量和与偏航角相关的第二描述子分量,从而可以建立全局字典,每一个采样点对应的位姿及其对应的全局描述子分量可以称为一个字典条目,全局字典D可以表示如下:
其中,M表示多个采样点对应的采样位姿集合,i表示采样位姿集合中第i个采样点对应的位姿,key表示与水平方向相关的第一描述子分量,pose表示与偏航角相关的第二描述子分量。
在获取到上述的全局字典后,可以应用到定位流程中,即可以通过获得车辆当前位姿下的点云数据,然后采用与图1所示实施例相同的方式,从点云数据中提取当前点云特征和全局描述子分量,全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量,然后可以根据第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿,进而根据第二描述子分量在匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿,进一步使用第二位姿确定六自由度的第三位姿,并使用六自由度的第三位姿作为初始位姿,进行当前点云特征与预先确定的定位点云地图的匹配,获得当前位姿的定位结果。上述的定位过程中,对车辆当前位姿下的点云数据进行处理的过程,以及位姿匹配过程都相对于现有技术进行了简化,不需要进行高复杂度的运算,能够降低定位复杂度,并提高定位效率。
在一些实施例中,如上所述的,其中定位点云地图中所包括的点云数据可以是全局坐标系下的点云数据,而在后续定位步骤中,可以利用传感器设备实施采集的雷达坐标系下的定位点云数据进行定位,因此,本公开实施例中建立全局字典的过程中,可以将获取的采样点对应的位姿对应的全局坐标系下的局部点云转换为雷达坐标系下的局部点云。即如图2所示,其中还可以包括步骤105,其在步骤101之后执行,包括如下:
步骤105、将全局坐标系下的局部点云转换为雷达坐标系下的局部点云;
步骤102中的对局部点云进行平面拟合得到第一点云数据,可以包括:对雷达坐标系下的局部点云进行平面拟合处理,得到第一点云数据。
以下针对与水平方向相关的第一描述子分量和与偏航角相关的第二描述子分量的具体获取方法进行说明,该获取方法仅是一种示例性方法,本领域内技术人员还可以对该示例性方法进行变形得到其他的实现方法。
图3为本公开实施例提供的一种第一描述子分量获取方法的流程示意图,如图3所示,包括如下步骤:
步骤301、以采样点对应的位姿的水平坐标点为圆心,将局域点云划分为N个采样环,N为大于或等于2的正整数;
具体的,其中的采样环可以为采样圆环,且上述N个采样圆环的半径依次增加,N个采样圆环在沿着半径方向上依次排布。示例性的,以5m为间隔,在100m范围内可以划分出20个采样圆环。
步骤302、基于第二点云数据获取N个采样环的点云特征值;
本步骤中,其中的点云特征值可以是用于表示第二点云数据在该采样环内的特点,其中可以基于第二点云数据,统计每个采样环内点云高度值的直方图,以作为各个采样环的点云特征值。
步骤303、基于N个采样环的点云特征值生成与水平方向相关的第一描述子分量。
在以每个采样环内点云高度值的直方图,作为各个采样环的点云特征值时,可以基于N个采样环内点云高度值的直方图生成与水平方向相关的第一描述子分量。假设该直方图可以包括L个高度区间,则若直方图可以是在0-30m的区间内,以3m为间隔,共取10个高度区间,然后可以基于N个采样环内点云高度值的直方图构建N×L个二维矩阵,以该N×L个二维矩阵作为与水平方向相关的第一描述子分量。
另外,图4为本公开实施例提供的一种第二描述子分量获取方法的流程示意图,如图4所示,包括如下步骤:
步骤401、在偏航角方向上将局域点云划分为M个圆弧区,M为大于或等于2的正整数;
具体的,可以按照预设的度数间隔进行划分,例如以5度为间隔,共可以得到72个圆弧区。
步骤402、基于第二点云数据获取M个圆弧区的点云特征值;
本步骤中是基于第二点云数据获取每个圆弧区的点云特征值,其中的点云特征值可以是用于表示第二点云数据在该圆弧区的特点,可以通过各种方式获得,在一些实施例中,可以基于第二点云数据获取每个圆弧区的点云数据的的最大高度值,依次作为点云特征值;
步骤403、基于M个圆弧区的点云特征值生成与偏航角相关的第二描述子分量。
在上述步骤的基础上,可以基于上述M个圆弧区的第二点云数据的最大高度值生成与偏航角相关的第二描述子分量。例如,可以基于M个圆弧区的第二点云数据的最大高度值创建M×1的特征向量,依次作为与偏航角相关的第二描述子分量。
本公开实施例中,对于基于图1-图4任一所示的实施例进行定位的技术方案,具体可以参照图5所示。图5为本公开实施例提供的一种定位方法的流程示意图,该方法可以在电子设备上执行,该电子设备包括但不限于服务器、本地计算机等,如图5所示,该方法包括如下步骤:
步骤501、获得车辆当前位姿下的点云数据,从点云数据中提取当前点云特征和全局描述子分量;
全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量。
本公开实施例提供的定位方法可以为线上运行的定位方法,因此,上述的车辆当前位姿下的点云数据可以为传感器设备实时采集的点云数据。该点云数据的形式可以是与定位点云地图中所记录的点云数据相同,区别仅在于本步骤中的当前位姿下的点云数据用作进行定位。其中的传感设备包括但不限于摄像头、雷达等设备。
在获得车辆当前位姿下的点云数据之后,从点云数据中提取当前点云特征和全局描述子分量。提取当前点云特征的处理过程可以为将当前位姿对应的点云数据进行坐标系转换,由传感器自身坐标系下转换为全局坐标系,然后进行拼接得到稠密点云数据,再次,经过集束优化、动态物体滤除和下采样等处理步骤,得到最终的当前位姿所对应的当前点云特征。提取全局描述子分量的具体处理步骤可以参考图1所示实施例中的步骤102-步骤104。
具体的,对当前位姿下的点云数据进行平面拟合处理,具体的平面拟合处理步骤可以参考图1所示实施例中的步骤102,是将当前位姿下的点云数据中对应地面的点云数据,做平面拟合,将地面旋转至水平面方向,以使得旋转后的点云数据,作为平面拟合处理后的点云数据,该平面拟合处理之后的当前位姿下的点云数据对应的位姿,在roll和pitch方向上的分量被设置为0。
然后,基于传感设备的高度值对平面拟合处理之后的当前位姿下的点云数据进行垂直方向平移,以获得垂直方向平移后的目标点云数据;具体的处理方式,可以参考图1所示实施例中的步骤103,其是对上述平面拟合处理之后的当前位姿下的点云数据进行高度值校正,基于传感设备所在的高度值Zg,以-Zg在Z方向上平移上述平面拟合处理之后的当前位姿下的点云数据,得到目标点云数据。该目标点云数据对应的位姿在z、roll和pitch方向上的分量被设置为0。
之后,基于目标点云数据分别获取全局描述子分量中的与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量。
具体的处理方式,可以参考图1所示实施例中的步骤104,在进行上述处理的基础上,本步骤中基于目标点云数据进行维度分解,得到对应的全局描述子分量,该全局描述子分量包括的一部分是和X和Y相关的分量,可以称之为与水平方向相关的第一描述子分量;二部分是和yaw相关的分量,可以称之为与偏航角相关的第二描述子分量。对于上述当前位姿下的点云数据对应的全局描述子分量的具体获取方式,在下述实施例中进行详细描述。
步骤502、根据第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿。
在本步骤中,基于与水平方向相关的第一描述子分量,在全局字典中与采样点的位姿中与水平方向相关的第一描述子分量进行位姿匹配,确定对应的第一候选位姿集合为匹配结果,该第一候选位姿集合中各位姿具有设定的水平方向分量,即X和Y的值;
具体的,可以是基于与水平方向相关的第一描述子分量在全局字典中进行检索,以确定对应的水平方向的第一位姿以及第一候选位姿集合。
步骤503、根据第二描述子分量在匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿。
本步骤中,基于与偏航角相关的第二描述子分量与第一候选位姿集合中各位姿对应的第二描述子分量进行位姿匹配,以从第一候选位姿集合中确定对应的第二候选位姿集合,该第二候选采样位姿集合中各位姿具有设定的水平方向分量和偏航角分量。
具体的,如上述实施例的,其中采样点的位姿中与偏航角相关的第二描述子分量可以M×1的特征向量,而本实施例中获取到的当前位姿下与偏航角相关的第二描述子分量也可以为M×1的特征向量。因此,本步骤中的具体匹配过程,可以为在同一个X和Y确定的位置,当前位姿下的与偏航角相关的第二描述子分量的值与yaw角相关,yaw角的变化对应着上述M×1的特征向量的向量值依次循环移动。因此,依次循环移动全局字典中与偏航角相关的第二描述子分量对应的M×1的特征向量的向量值,并与当前位姿下的与偏航角相关的第二描述子分量的对应的特征向量进行匹配,获取两个向量的欧式距离,距离最小时即为匹配成功,此时对应的yaw角即为偏航角分量。
步骤504、使用第二位姿确定六自由度的第三位姿。
本步骤中,在上述所示实施例中确定了当前位姿的X、Y和yaw分量的基础上,也即确定水平方向加偏航角的第二位姿之后,可以进一步确定Z、roll和pitch分量,进而确定六自由度的第三位姿,具体参见图8进行说明。
本步骤的处理过程具体参见图6。图6为本公开实施例提供另一种定位方法的流程示意图,如图6所示,步骤504可以包括如下步骤:
步骤601、基于传感设备的高度值,确定当前位姿下的点云数据对应的位姿的垂直方向分量;
在自动驾驶车辆或者机器人的运行过程中,一般都是贴在地面上运行的,因此可以将传感设备到地面的高度值,作为垂直方向分量Z。
步骤602、基于传感设备所在的坡面倾角,以及垂直方向分量,确定当前位姿下的点云数据对应的位姿的滚转角分量,以及当前位姿下的点云数据对应的位姿的俯仰角分量;
具体的,本步骤中传感设备所在的坡面倾角,即为装配有传感设备的自动驾驶车辆或者机器人所在的坡面倾角,可以用θ表示,此时对于滚转角roll,其可以通过如下公式确定:roll=θ×cos(yaw);而对于俯仰角pitch,其可以通过如下公式确定:pitch=θ×sin(yaw)。
步骤603、基于水平方向分量、垂直方向分量、滚转角分量、俯仰角分量和偏航角分量,确定当前位姿下的点云数据对应的六自由度的第三位姿。
步骤505、使用六自由度的第三位姿作为初始位姿,进行当前点云特征与预先确定的定位点云地图的匹配,获得当前位姿的定位结果。
在确定了上述六个自由度的分量后,即可以确定当前位姿下的点云数据对应的位姿,从而初始实现定位,该位姿为一个采样点的位姿。而如上述实施例中所记载的,该采样点的位姿为定位点云地图中地图位姿的子集,因此还可以基于本步骤中获得的位姿进一步进行位姿匹配,以确定当前位姿的定位结果,也即确定具有更高精度的地图位姿。
具体可以包括如下的步骤:以当前位姿下的点云数据对应的位姿为初始位姿,根据该初始位姿和当前点云特征在预先确定的定位点云地图中进行地图位姿的匹配,得到当前位姿。
即上述当前位姿所对应的更高精度的地图位姿,也是在初始位姿的周边,可以基于初始位姿获取周边各位姿对应的点云特征,然后进行当前点云特征的匹配,即可以得到该更高精度的地图位姿,也即上述当前位姿。这是一种先基于全局字典进行粗定位,获取精度较低的初始位姿,然后在进行更高精度的地图位姿的获取的技术方式,实现了一种分层次的定位方法,能够避免一开始就进行高精度定位时,需要从大量的点云数据中进行位姿匹配所带来的计算量大,定位效率低的问题。
以下针对当前位姿下的点云数据对应的全局描述子分量的具体获取方法进行说明,该获取方法仅是一种示例性方法,本领域内技术人员还可以对该示例性方法进行变形得到其他的实现方法。全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量。
图7为本公开实施例提供的另一种第一描述子分量获取方法的流程示意图,如图7所示,包括如下步骤:
步骤701、以当前位姿的水平坐标点为圆心,将当前位姿的点云数据划分为N个采样环,N为大于或等于2的正整数;
具体的,其中的采样环可以为采样圆环,且上述N个采样圆环的半径依次增加,N个采样圆环在沿着半径方向上依次排布。示例性的,以5m为间隔,在100m范围内可以划分出20个采样圆环。
步骤702、基于目标点云数据获取N个采样环的点云特征值;
本步骤中,其中的点云特征值可以是用于表示目标点云数据在该采样环内的特点,其中可以基于目标点云数据,统计每个采样环内点云高度值的直方图,以作为各个采样环的点云特征值。
步骤703、基于N个采样环的点云特征值生成与水平方向相关的第一描述子分量。
在以每个采样环内点云高度值的直方图,以作为各个采样环的点云特征值时,可以基于N个采样环内点云高度值的直方图生成与水平方向相关的第一描述子分量。假设该直方图可以包括L个高度区间,则若直方图可以是在0-30m的区间内,以3m为间隔,共取10个高度区间,然后可以基于N个采样环内点云高度值的直方图构建N×L个二维矩阵,以该N×L个二维矩阵作为与水平方向相关的第一描述子分量。
另外,图8为本公开实施例提供的另一种第二描述子分量获取方法的流程示意图,如图8所示,包括如下步骤:
步骤801、在偏航角方向上将当前位姿的点云数据划分为M个圆弧区,M为大于或等于2的正整数;
具体的,可以按照预设的度数间隔进行划分,例如以5度为间隔,共可以得到72个圆弧区。
步骤802、基于目标点云数据获取M个圆弧区的点云特征值;
本步骤中是基于目标点云数据获取每个圆弧区的点云特征值,其中的点云特征值可以是用于表示第三定位点云数据在该圆弧区的特点,可以通过各种方式获得,在一些实施例中,可以基于目标点云数据获取每个圆弧区的点云数据的最大高度值,依次作为点云特征值;
步骤803、基于M个圆弧区的点云特征值生成当前位姿下的与偏航角相关的第二描述子分量。
在上述步骤的基础上,可以基于上述M个圆弧区的目标点云数据的最大高度值生成当前位姿下的与偏航角相关的第二描述子分量。例如,可以基于M个圆弧区的目标点云数据的最大高度值创建M×1的特征向量,依次作为当前位姿下的与偏航角相关的第二描述子分量。
本公开实施例中,获得车辆当前位姿下的点云数据,提取当前位姿下的点云数据对应的全局描述子分量之后,可以基于全局描述子分量在定位点云地图的全局字典中进行位姿匹配,以获取水平方向加偏航角的位姿,即能够确定其X、Y和yaw的值,从而初步实现定位过程;然后在确定了当前位姿的X、Y和yaw分量的基础上,可以进一步确定Z、roll和pitch分量,在确定了上述六个自由度的分量后,即可以确定当前位姿下的点云数据对应的位姿,进而以当前位姿下的点云数据对应的位姿为初始位姿,进行当前点云特征与预先确定的定位点云地图的匹配,获得当前位姿的定位结果。
具体的,基于上述对图1-图4所示实施例中的记载,其中在全局字典中记录了采样点的位姿及其对应的全局描述子分量,即记录有与各采样点的位姿对应的与水平方向相关的第一描述子分量和与偏航角相关的第二描述子分量,通过全局字典与当前位姿下的点云数据对应的全局描述子分量,即可以确定水平方向加偏航角的位姿,即能够确定其X、Y和yaw的值,从而初步实现定位过程。上述的定位过程中,对当前位姿下的点云数据进行处理的过程,以及位姿匹配过程都相对于现有技术定位方法进行了简化,不需要进行高复杂度的运算,能够降低定位复杂度,并提高定位效率。
图9为本公开实施例提供的一种定位装置的结构示意图,如图9所示,该装置包括:数据获取模块11、第一位姿模块12、第二位姿模块13、第三位姿模块14和匹配模块15,其中的获取模块11用于获得车辆当前位姿下的点云数据,从所述点云数据中提取当前点云特征和全局描述子分量,所述全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量;第一位姿模块12用于根据所述第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿;第二位姿模块13用于根据所述第二描述子分量在所述匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿;第三位姿模块14用于使用所述第二位姿确定六自由度的第三位姿;匹配模块15用于用所述六自由度的第三位姿作为初始位姿,进行所述当前点云特征与预先确定的定位点云地图的匹配,获得所述当前位姿的定位结果。
本公开实施例提供的定位装置是与图5-图8所示的定位方法对应的装置实施例,具体的技术方案和达到的技术效果可以参照图5-图8所示的方法实施例,本实施例中不再进行详细描述。
在一些实施例中,所述全局字典包括全局描述子分量与全局坐标系下的采样点的位姿之间的对应关系,所述全局描述子分量为采集点云的传感器在自身坐标系下的位姿对应的处理后的点云数据;
所述装置还包括全局字典建立模块,全局字典建立模块包括:
局域点云单元,用于在所述定位点云地图的采样点上,获取全局坐标系下的局域点云;
处理单元,用于对所述局域点云进行平面拟合得到第一点云数据;对所述第一点云数据进行垂直方向的平移得到第二点云数据;
全局描述子分量单元,用于根据所述第二点云数据获得与所述采样点对应的位姿相关的全局描述子分量。
本公开实施例提供的全局字典建立模块,其与上述图1所示的方法相对应,能够执行方法并取得相应的技术效果,本公开实施例不在进行详细描述,具体方式和达到的技术效果可以参考上述实施例。
在一些实施例中,全局描述子分量单元可以包括第一描述子分量单元,第一描述子分量单元具体用于通过如下方式获取与水平方向相关的第一描述子分量,包括:
以所述采样点对应的位姿的水平坐标点为圆心,将所述局域点云划分为N个采样环,N为大于或等于2的正整数;
基于所述第二点云数据获取所述N个采样环的点云特征值;
基于所述N个采样环的点云特征值生成所述与水平方向相关的第一描述子分量。
在一些实施例中,上述基于第二点云数据获取所述N个采样环的点云特征值,包括:
基于所述第二点云数据,统计每个采样环内点云高度值的直方图,作为每个采样环的点云特征值;
所述基于N个采样环的点云特征值生成所述与水平方向相关的第一描述子分量,包括:
基于所述N个采样环内点云高度值的直方图生成所述与水平方向相关的第一描述子分量。
在一些实施例中,所述直方图包括L个高度区间,所述基于N个采样环内点云高度值的直方图生成所述与水平方向相关的第一描述子分量,包括:
基于所述N个采样环内点云高度值的直方图构建N×L的二维矩阵,作为所述与水平方向相关的第一描述子分量。
在一些实施例中,全局描述子分量单元可以包括第二描述子分量单元,第二描述子分量单元具体用于通过如下方式获取与偏航角相关的第二描述子分量,包括:
在偏航角方向上将所述局域点云划分为M个圆弧区,M为大于或等于2的正整数;
基于所述第二点云数据获取所述M个圆弧区的点云特征值;
基于所述M个圆弧区的点云特征值生成所述与偏航角相关的第二描述子分量。
在一些实施例中,所述基于第二点云数据获取所述M个圆弧区的点云特征值,包括:
基于所述第二点云数据获取每个圆弧区的点云数据的最大高度值;
所述基于所述M个圆弧区的点云特征值生成所述偏航角相关的第二描述子分量,包括:
基于所述M个圆弧区的第二点云数据的最大高度值生成所述偏航角相关的第二描述子分量。
在一些实施例中,所述基于所述M个圆弧区的点云数据的最大高度值创建M×1的特征向量,作为所述偏航角相关的第二描述子分量。
本公开实施例还提供了一种车辆,图10为本公开实施例提供的车辆的结构示意图,如图10所示,其包括上述图9所示的定位装置21,以及传感设备22。其中的车辆可以是一种自动移动设备上,该自主移动设备包括但不限于自动驾驶车辆、无人售卖车、无人送餐车或机器人等设备,其具有利用本公开上述实施例提供的技术方案进行定位的能力。而定位装置能够基于上述实施例提供的方法进行定位,尤其是在自动驾驶车辆、无人售卖车、无人送餐车或机器人在重新启动的时候进行全局重定位的功能,利用本公开实施例提供的技术方案能够降低重定位过程中的计算复杂度,提高重定位效率。
具体的,上述的传感设备和定位装置可以均设置于同一车辆上,即由车辆本身实现定位的功能。或者是在一些实施例中,上述定位系统还包括定位服务器,由定位服务器实现定位功能,而传感设备设置于车辆上,而定位装置设置于定位服务器中,以简化各个车辆的设置,通过定位服务器实现具体的定位流程和步骤。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述的定位方法。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品用于执行上述的定位方法。
图11为本公开实施例提供的一种电子设备的结构示意图,其可以安装在图10中车辆上的本地主机或者是服务器,例如定位服务器。
下面具体参考,其示出了适于用来实现本公开实施例中的电子设备1100的结构示意图。本公开实施例中的电子设备1100可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和占用范围带来任何限制。
如图所示,电子设备1100可以包括处理装置(例如中央处理器、图形处理器等)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储装置1108加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM1103中,还存储有电子设备1100操作所需的各种程序和数据。处理装置1101、ROM 1102以及RAM1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
通常,以下装置可以连接至I/O接口1105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1106;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1107;包括例如磁带、硬盘等的存储装置1108;以及通信装置1109。通信装置1109可以允许电子设备1100与其他设备进行无线或有线通信以交换数据。虽然示出了具有各种装置的电子设备1100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1109从网络上被下载和安装,或者从存储装置1108被安装,或者从ROM1102被安装。在该计算机程序被处理装置1101执行时,执行本公开实施例的定位方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务端可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
获得车辆当前位姿下的点云数据,从所述点云数据中提取当前点云特征和全局描述子分量,所述全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量;
根据所述第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿;
根据所述第二描述子分量在所述匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿;
使用所述第二位姿确定六自由度的第三位姿;
使用所述六自由度的第三位姿作为初始位姿,进行所述当前点云特征与预先确定的定位点云地图的匹配,获得所述当前位姿的定位结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,本公开提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开提供的任一所述的定位方法。
仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (12)
1.一种定位方法,包括:
获得车辆当前位姿下的点云数据,从所述点云数据中提取当前点云特征和全局描述子分量,所述全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量;
根据所述第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿;
根据所述第二描述子分量在所述匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿;
使用所述第二位姿确定六自由度的第三位姿;
使用所述六自由度的第三位姿作为初始位姿,进行所述当前点云特征与预先确定的定位点云地图的匹配,获得所述当前位姿的定位结果。
2.根据权利要求1所述的方法,其中,所述全局字典包括全局描述子分量与全局坐标系下的采样点的位姿之间的对应关系,所述全局描述子分量为采集点云的传感器在自身坐标系下的位姿对应的处理后的点云数据;
所述全局字典通过如下方式进行建立:
在所述定位点云地图的采样点上,获取全局坐标系下的局域点云;
对所述局域点云进行平面拟合得到第一点云数据;对所述第一点云数据进行垂直方向的平移得到第二点云数据;
根据所述第二点云数据获得与所述采样点对应的位姿相关的全局描述子分量。
3.根据权利要求2所述的方法,其中,所述根据所述第二点云数据获得与所述采样点对应的位姿相关的全局描述子分量,包括:
以所述采样点对应的位姿的水平坐标点为圆心,将所述局域点云划分为N个采样环,N为大于或等于2的正整数;
基于所述第二点云数据获取所述N个采样环的点云特征值;
基于所述N个采样环的点云特征值生成所述与水平方向相关的第一描述子分量。
4.根据权利要求3所述的方法,其中,所述基于第二点云数据获取所述N个采样环的点云特征值,包括:
基于所述第二点云数据,统计每个采样环内点云高度值的直方图,作为每个采样环的点云特征值;
所述基于N个采样环的点云特征值生成所述与水平方向相关的第一描述子分量,包括:
基于所述N个采样环内点云高度值的直方图生成所述与水平方向相关的第一描述子分量。
5.根据权利要求4所述的方法,其中,所述直方图包括L个高度区间,所述基于N个采样环内点云高度值的直方图生成所述与水平方向相关的第一描述子分量,包括:
基于所述N个采样环内点云高度值的直方图构建N×L的二维矩阵,作为所述与水平方向相关的第一描述子分量。
6.根据权利要求2所述的方法,其中,所述根据所述第二点云数据获得与所述采样点对应的位姿相关的全局描述子分量,包括:
在偏航角方向上将所述局域点云划分为M个圆弧区,M为大于或等于2的正整数;
基于所述第二点云数据获取所述M个圆弧区的点云特征值;
基于所述M个圆弧区的点云特征值生成所述与偏航角相关的第二描述子分量。
7.根据权利要求6所述的方法,其中,所述基于第二点云数据获取所述M个圆弧区的点云特征值,包括:
基于所述第二点云数据获取每个圆弧区的点云数据的最大高度值;
所述基于所述M个圆弧区的点云特征值生成所述偏航角相关的第二描述子分量,包括:
基于所述M个圆弧区的第二点云数据的最大高度值生成所述偏航角相关的第二描述子分量。
8.根据权利要求7所述的方法,其中,所述基于所述M个圆弧区的点云数据的最大高度值创建M×1的特征向量,作为所述偏航角相关的第二描述子分量。
9.一种定位装置,包括:
数据获取模块,用于获得车辆当前位姿下的点云数据,从所述点云数据中提取当前点云特征和全局描述子分量,所述全局描述子分量包括与水平方向相关的第一描述子分量,以及与偏航角相关的第二描述子分量;
第一位姿模块,用于根据所述第一描述子分量在预先保存的全局字典中进行匹配,根据匹配结果确定水平方向的第一位姿;
第二位姿模块,用于根据所述第二描述子分量在所述匹配结果中进行二次匹配,确定水平方向加偏航角的第二位姿;
第三位姿模块,用于使用所述第二位姿确定六自由度的第三位姿;
匹配模块,用于用所述六自由度的第三位姿作为初始位姿,进行所述当前点云特征与预先确定的定位点云地图的匹配,获得所述当前位姿的定位结果。
10.一种车辆,包括权利要求9所示的定位装置。
11.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行权利要求1-8任一所述的定位方法。
12.一种计算机程序产品,所述计算机程序产品用于执行权利要求1-8任一所述的定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111013558.XA CN115727857A (zh) | 2021-08-31 | 2021-08-31 | 定位方法、定位装置、车辆、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111013558.XA CN115727857A (zh) | 2021-08-31 | 2021-08-31 | 定位方法、定位装置、车辆、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115727857A true CN115727857A (zh) | 2023-03-03 |
Family
ID=85291593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111013558.XA Pending CN115727857A (zh) | 2021-08-31 | 2021-08-31 | 定位方法、定位装置、车辆、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115727857A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116295354A (zh) * | 2023-03-24 | 2023-06-23 | 之江实验室 | 一种无人车主动全局定位方法和系统 |
-
2021
- 2021-08-31 CN CN202111013558.XA patent/CN115727857A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116295354A (zh) * | 2023-03-24 | 2023-06-23 | 之江实验室 | 一种无人车主动全局定位方法和系统 |
CN116295354B (zh) * | 2023-03-24 | 2023-09-29 | 之江实验室 | 一种无人车主动全局定位方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11315262B1 (en) | Tracking objects in three-dimensional space using calibrated visual cameras and depth cameras | |
CN109844807B (zh) | 用于对物体进行分割和确定尺寸的方法、系统和装置 | |
US11358511B1 (en) | Storage compartment vehicle apparatus | |
CN109059906B (zh) | 车辆定位方法、装置、电子设备、存储介质 | |
US8532402B2 (en) | Image registration | |
US9483839B1 (en) | Occlusion-robust visual object fingerprinting using fusion of multiple sub-region signatures | |
US11538239B2 (en) | Joint modeling of object population estimation using sensor data and distributed device data | |
JP7033859B2 (ja) | ジオアーク(geoarc)を使用したビークルの二次元位置の特定 | |
JP6997057B2 (ja) | 不動物体情報から端末位置を推定する装置、プログラム及び方法 | |
CN110998352B (zh) | 用于确定静止物体的位置的方法和装置 | |
JP7057632B2 (ja) | ジオアーク(geoarc)を使用したビークルの二次元位置の特定 | |
US11533583B2 (en) | Automated and dynamic location identification and geofencing based on GPS data | |
CN111123340A (zh) | 物流配送导航方法及系统、近场定位导航装置、存储介质 | |
CN115205610A (zh) | 感知模型的训练方法、训练装置及电子设备 | |
KR20180127567A (ko) | 무인항공기 영상 자동 기하보정을 위한 처리시스템 | |
Tang et al. | Surveying, geomatics, and 3D reconstruction | |
CN115727857A (zh) | 定位方法、定位装置、车辆、存储介质和程序产品 | |
CN115170652A (zh) | 全局重定位方法、装置、电子设备及计算机存储介质 | |
CN110502601B (zh) | 查找仓库的方法和装置 | |
CN112308915A (zh) | 用于定位快递包裹的方法和装置 | |
JP6894395B2 (ja) | 情報取得装置及び情報集計システム並びに情報集計装置 | |
CN113515978B (zh) | 数据处理方法、设备及存储介质 | |
CN113720325B (zh) | 环境变化检测方法、装置、电子设备及计算机存储介质 | |
CN115704684A (zh) | 环境变化检测方法、装置、服务器、存储介质及程序产品 | |
US20200109939A1 (en) | Method, system and apparatus for support structure depth determination |
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 |