自动驾驶车辆的定位方法、装置及电子设备、存储介质转让专利

申请号 : CN202310120961.5

文献号 : CN115856979B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李岩万如费再慧张海强

申请人 : 智道网联科技(北京)有限公司

摘要 :

本申请公开了一种自动驾驶车辆的定位方法、装置及电子设备、存储介质,该方法包括:在卫星定位信号未失效时,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据;根据卫星定位数据和激光雷达定位数据确定卫星定位数据与激光雷达定位数据之间的定位误差;根据卫星定位数据与激光雷达定位数据之间的定位误差确定误差变化模式;根据误差变化模式确定自动驾驶车辆的定位策略,并根据定位策略进行定位,得到自动驾驶车辆的定位结果。本申请通过卫星定位数据与激光雷达定位数据之间的定位误差识别误差变化模式,根据误差变化模式识别卫星定位是否存在欺骗,避免采取存在渐变误差的卫星定位数据进行融合定位,提高自动驾驶车辆的定位稳定性。

权利要求 :

1.一种自动驾驶车辆的定位方法,其中,所述方法包括:在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据;

根据所述卫星定位数据和所述激光雷达定位数据确定所述卫星定位数据与所述激光雷达定位数据之间的定位误差;

根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式;

根据所述误差变化模式确定自动驾驶车辆的定位策略,并根据所述自动驾驶车辆的定位策略进行定位,得到自动驾驶车辆的定位结果;

所述误差变化模式包括随机变化模式和递增变化模式,所述根据所述误差变化模式确定自动驾驶车辆的定位策略包括:若所述误差变化模式为随机变化模式,则确定所述激光雷达定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于卫星定位实现的定位策略;

若所述误差变化模式为递增变化模式,则确定所述卫星定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于激光雷达实现的定位策略。

2.如权利要求1所述方法,其中,所述根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式包括:根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定卫星定位状态和激光雷达定位状态是否均为稳定状态;

在所述卫星定位状态和所述激光雷达定位状态不均为稳定状态的情况下,根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式。

3.如权利要求2所述方法,其中,所述卫星定位数据与所述激光雷达定位数据之间的定位误差为预设时间窗口内的多个定位误差,所述根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定卫星定位状态和激光雷达定位状态是否均为稳定状态包括:将多个定位误差分别与预设误差阈值进行比较;

若多个所述定位误差均小于所述预设误差阈值,或者多个所述定位误差中的不超过预设数量的定位误差大于所述预设误差阈值,则确定所述卫星定位状态和所述激光雷达定位状态均为稳定状态;

否则,则确定所述卫星定位状态和所述激光雷达定位状态不均为稳定状态。

4.如权利要求1所述方法,其中,所述卫星定位数据与所述激光雷达定位数据之间的定位误差为预设时间窗口内的多个定位误差,所述根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式包括:按照所述预设时间窗口的时间序列,对多个定位误差进行直线拟合;

根据直线拟合结果确定所述误差变化模式。

5.如权利要求4所述方法,其中,所述根据直线拟合结果确定所述误差变化模式包括:若所述直线拟合结果为无法拟合出一条使得总残差小于预设总残差最大值的直线,则确定所述误差变化模式为随机变化模式;

若所述直线拟合结果为能够拟合出一条使得总残差小于预设总残差最大值的直线,则确定所述误差变化模式为递增变化模式。

6.如权利要求1所述方法,其中,所述若所述误差变化模式为递增变化模式,则确定卫星定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于激光雷达实现的定位策略包括:获取所述激光雷达定位数据对应的轮速数据;

根据所述轮速数据确定第一车辆行驶轨迹,并根据所述激光雷达定位数据确定第二车辆行驶轨迹;

根据所述第一车辆行驶轨迹和所述第二车辆行驶轨迹对所述卫星定位状态进行验证,并根据验证结果确定所述自动驾驶车辆的定位策略。

7.一种自动驾驶车辆的定位装置,其中,所述装置包括:获取单元,用于在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据;

第一确定单元,用于根据所述卫星定位数据和所述激光雷达定位数据确定所述卫星定位数据与所述激光雷达定位数据之间的定位误差;

第二确定单元,用于根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式;

定位单元,用于根据所述误差变化模式确定自动驾驶车辆的定位策略,并根据所述自动驾驶车辆的定位策略进行定位,得到自动驾驶车辆的定位结果;

所述误差变化模式包括随机变化模式和递增变化模式,所述定位单元具体用于:若所述误差变化模式为随机变化模式,则确定所述激光雷达定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于卫星定位实现的定位策略;

若所述误差变化模式为递增变化模式,则确定所述卫星定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于激光雷达实现的定位策略。

8.一种电子设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1 6之任一所述方法。

~

9.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1 6之任一所述方法。

~

说明书 :

自动驾驶车辆的定位方法、装置及电子设备、存储介质

技术领域

[0001] 本申请涉及自动驾驶技术领域,尤其涉及一种自动驾驶车辆的定位方法、装置及电子设备、存储介质。

背景技术

[0002] 目前,ROBOTAXI(自动驾驶出租车)、ROBOBUS(自动驾驶巴士)、自动清扫车等全自动驾驶车辆已经在多个城市的特定场景落地、运营。而随着自动驾驶技术的不断发展,落地场景已经不再局限于简单的园区场地、车少人少的开阔路段,越来越多的公司已经将落地场景扩大到繁华的市区、路况复杂的非城市道路,因此对于自动驾驶车辆定位的要求也越来越高。
[0003] 传统的组合导航定位设备已经无法满足自动驾驶车辆的定位需求,以多传感器融合为基础的定位方案已经成为自动驾驶车辆定位的主流技术。目前通用的算法是使用EKF(Extended Kalman Filter,扩展卡尔曼滤波器)将基于IMU(Inertial Measurement Unit,惯性测量单元)得到的预测值以及基于GNSS(Global Navigation Satellite System,全球卫星导航系统)/RTK(Real‑time Kinematic,实时动态差分)、激光定位和视觉定位得到的观测值融合起来,在卡方检测剔除GNSS/RTK突变异常值的情况下,各观测值的融合置信度由子定位模块的定位置信度提供。
[0004] 然而,在GNSS/RTK误差缓变增大的路段,时间越长、定位误差越大,在短时间(如1分钟内)就会偏离出车道,引起接管,这主要是因为GNSS误差缓变增大时,置信度仍然很高,在和其它观测加权时,误差增大速度会变慢,但增大趋势仍然不变,也即存在GNSS“欺骗”的情况,如果不及时识别和处理,将大大影响自动驾驶车辆的定位稳定性。

发明内容

[0005] 本申请实施例提供了一种自动驾驶车辆的定位方法、装置及电子设备、存储介质,以提高自动驾驶车辆的定位稳定性。
[0006] 本申请实施例采用下述技术方案:
[0007] 第一方面,本申请实施例提供一种自动驾驶车辆的定位方法,其中,所述方法包括:
[0008] 在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据;
[0009] 根据所述卫星定位数据和所述激光雷达定位数据确定所述卫星定位数据与所述激光雷达定位数据之间的定位误差;
[0010] 根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式;
[0011] 根据所述误差变化模式确定自动驾驶车辆的定位策略,并根据所述自动驾驶车辆的定位策略进行定位,得到自动驾驶车辆的定位结果。
[0012] 可选地,所述根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式包括:
[0013] 根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定卫星定位状态和激光雷达定位状态是否均为稳定状态;
[0014] 在所述卫星定位状态和所述激光雷达定位状态不均为稳定状态的情况下,根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式。
[0015] 可选地,所述卫星定位数据与所述激光雷达定位数据之间的定位误差为预设时间窗口内的多个定位误差,所述根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定卫星定位状态和激光雷达定位状态是否均为稳定状态包括:
[0016] 将多个定位误差分别与预设误差阈值进行比较;
[0017] 若多个所述定位误差均小于所述预设误差阈值,或者多个所述定位误差中的不超过预设数量的定位误差大于所述预设误差阈值,则确定所述卫星定位状态和所述激光雷达定位状态均为稳定状态;
[0018] 否则,则确定所述卫星定位状态和所述激光雷达定位状态不均为稳定状态。
[0019] 可选地,所述卫星定位数据与所述激光雷达定位数据之间的定位误差为预设时间窗口内的多个定位误差,所述根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式包括:
[0020] 按照所述预设时间窗口的时间序列,对多个定位误差进行直线拟合;
[0021] 根据直线拟合结果确定所述误差变化模式。
[0022] 可选地,所述根据直线拟合结果确定所述误差变化模式包括:
[0023] 若所述直线拟合结果为无法拟合出一条使得总残差小于预设总残差最大值的直线,则确定所述误差变化模式为随机变化模式;
[0024] 若所述直线拟合结果为能够拟合出一条使得总残差小于预设总残差最大值的直线,则确定所述误差变化模式为递增变化模式。
[0025] 可选地,所述误差变化模式包括随机变化模式和递增变化模式,所述根据所述误差变化模式确定自动驾驶车辆的定位策略包括:
[0026] 若所述误差变化模式为随机变化模式,则确定所述激光雷达定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于卫星定位实现的定位策略;
[0027] 若所述误差变化模式为递增变化模式,则确定所述卫星定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于激光雷达实现的定位策略。
[0028] 可选地,所述若所述误差变化模式为递增变化模式,则确定卫星定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于激光雷达实现的定位策略包括:
[0029] 获取所述激光雷达定位数据对应的轮速数据;
[0030] 根据所述轮速数据确定第一车辆行驶轨迹,并根据所述激光雷达定位数据确定第二车辆行驶轨迹;
[0031] 根据所述第一车辆行驶轨迹和所述第二车辆行驶轨迹对所述卫星定位状态进行验证,并根据验证结果确定所述自动驾驶车辆的定位策略。
[0032] 第二方面,本申请实施例还提供一种自动驾驶车辆的定位装置,其中,所述装置包括:
[0033] 获取单元,用于在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据;
[0034] 第一确定单元,用于根据所述卫星定位数据和所述激光雷达定位数据确定所述卫星定位数据与所述激光雷达定位数据之间的定位误差;
[0035] 第二确定单元,用于根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式;
[0036] 定位单元,用于根据所述误差变化模式确定自动驾驶车辆的定位策略,并根据所述自动驾驶车辆的定位策略进行定位,得到自动驾驶车辆的定位结果。
[0037] 第三方面,本申请实施例还提供一种电子设备,包括:
[0038] 处理器;以及
[0039] 被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行前述之任一所述方法。
[0040] 第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行前述之任一所述方法。
[0041] 本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例的自动驾驶车辆的定位方法,先在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据;然后根据卫星定位数据和激光雷达定位数据确定卫星定位数据与激光雷达定位数据之间的定位误差;之后根据卫星定位数据与激光雷达定位数据之间的定位误差确定误差变化模式;最后根据误差变化模式确定自动驾驶车辆的定位策略,并根据自动驾驶车辆的定位策略进行定位,得到自动驾驶车辆的定位结果。本申请实施例的自动驾驶车辆的定位方法通过卫星定位数据与激光雷达定位数据之间的定位误差识别误差变化模式,根据误差变化模式识别卫星定位是否存在欺骗,避免采取存在渐变误差的卫星定位数据进行融合定位,提高自动驾驶车辆的定位稳定性。

附图说明

[0042] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0043] 图1为本申请实施例中一种自动驾驶车辆的定位方法的流程示意图;
[0044] 图2为本申请实施例中一种定位误差修正前后的对比效果示意图;
[0045] 图3为本申请实施例中一种自动驾驶车辆的定位装置的结构示意图;
[0046] 图4为本申请实施例中一种电子设备的结构示意图。

具体实施方式

[0047] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0048] 以下结合附图,详细说明本申请各实施例提供的技术方案。
[0049] 本申请实施例提供了一种自动驾驶车辆的定位方法,如图1所示,提供了本申请实施例中一种自动驾驶车辆的定位方法的流程示意图,所述方法至少包括如下的步骤S110至步骤S140:
[0050] 步骤S110,在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据。
[0051] 在进行自动驾驶车辆的定位时,需要先确定当前卫星定位信号是否失效,例如,如果当前卫星定位信号为差分状态,说明卫星定位信号未失效,也即能够输出卫星定位所认为的正常定位结果,但并不一定代表该定位结果不存在误差,需要进一步进行识别和判断,因此这里需要先在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据,卫星定位数据和激光雷达定位数据是指时间同步后的数据。
[0052] 步骤S120,根据所述卫星定位数据和所述激光雷达定位数据确定所述卫星定位数据与所述激光雷达定位数据之间的定位误差。
[0053] 卫星定位数据包含了卫星定位的位置,激光雷达定位数据包含了激光雷达定位的位置,因此将卫星定位的位置和激光雷达定位的位置进行比较,可以计算出卫星定位数据与激光雷达定位数据之间的定位误差。
[0054] 步骤S130,根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式。
[0055] 当GNSS/RTK定位存在“欺骗”的情况时,GNSS/RTK定位产生的定位误差通常是渐变误差,也即误差缓变增大,而当激光雷达定位存在异常的情况时,激光雷达定位产生的定位误差通常是随机变化的误差,因此,基于GNSS/RTK的定位误差和激光雷达的定位误差的变化特点,可以进一步根据卫星定位数据与激光雷达定位数据之间的定位误差确定误差变化模式。
[0056] 步骤S140,根据所述误差变化模式确定自动驾驶车辆的定位策略,并根据所述自动驾驶车辆的定位策略进行定位,得到自动驾驶车辆的定位结果。
[0057] 在确定出当前自动驾驶车辆的卫星定位数据与激光雷达定位数据之间的定位误差的误差变化模式之后,即可识别出当前自动驾驶车辆的GNSS/RTK定位是否存在“欺骗”的情况以及激光雷达定位是否异常,进而可以根据GNSS/RTK和激光雷达的定位状态确定当前能够采取的定位策略,以此进行自动驾驶车辆的融合定位。
[0058] 本申请实施例的自动驾驶车辆的定位方法通过卫星定位数据与激光雷达定位数据之间的定位误差识别误差变化模式,根据误差变化模式识别卫星定位是否存在欺骗,避免采取存在渐变误差的卫星定位数据进行融合定位,提高自动驾驶车辆的定位稳定性。
[0059] 在本申请的一个实施例中,所述根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式包括:根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定卫星定位状态和激光雷达定位状态是否均为稳定状态;在所述卫星定位状态和所述激光雷达定位状态不均为稳定状态的情况下,根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式。
[0060] 在根据卫星定位数据与激光雷达定位数据之间的定位误差确定误差变化模式,可以先根据卫星定位数据与激光雷达定位数据之间的定位误差确定卫星定位状态和激光雷达定位状态是否均为稳定状态,如果均为稳定状态,则无需进行误差变化模式的识别,而如果不是均稳定的状态,则需要进一步识别误差变化模式,从而判断出是GNSS/RTK定位状态异常,还是激光雷达定位状态异常。
[0061] 在本申请的一个实施例中,所述卫星定位数据与所述激光雷达定位数据之间的定位误差为预设时间窗口内的多个定位误差,所述根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定卫星定位状态和激光雷达定位状态是否均为稳定状态包括:将多个定位误差分别与预设误差阈值进行比较;若多个所述定位误差均小于所述预设误差阈值,或者多个所述定位误差中的不超过预设数量的定位误差大于所述预设误差阈值,则确定所述卫星定位状态和所述激光雷达定位状态均为稳定状态;否则,则确定所述卫星定位状态和所述激光雷达定位状态不均为稳定状态。
[0062] 为了提高识别判断准确性,本申请预设时间窗口的方式记录多个卫星定位数据和对应的激光雷达数据,基于多个卫星定位数据和对应的激光雷达数据可以分别计算得到多个卫星定位数据与激光雷达定位数据之间的定位误差,预设时间窗口的大小可以根据实际需求灵活设定,如设置为3s。
[0063] 在根据预设时间窗口对应的多个定位误差确定卫星定位状态和激光雷达定位状态时,可以先确定一个用于衡量卫星定位数据与激光雷达定位数据之间的定位误差的合理性的阈值,例如,通过离线数据统计激光雷达定位误差分布,在已经做好标定和时间同步后,此误差为水平距离误差(通过欧氏距离计算得到),应完全取决于激光点云的匹配好坏,设此误差分布均值为μ_LIDAR,标准差为σ。在实际运行阶段,滤波器初始化后,GNSS/RTK可以输出GNSS/RTK的定位误差μ_GNSS,根据GNSS/RTK的定位误差μ_GNSS与激光雷达的定位误差μ_LIDAR即可确定出一个误差合理性判断阈值Thre ,Thre 可以表示为如下形式:
[0064] Thre = μ_LIDAR + μ_GNSS + th
[0065] 其中,th为用户根据车型自行设定的一个缓冲值,例如车型尺寸越大,对应的缓冲值可以越小。
[0066] 基于上述事先确定好的预设误差阈值Thre,可以将预设时间窗口对应的多个定位误差分别与该预设误差阈值Thre进行比较,如果所有的定位误差均小于该预设误差阈值Thre,或者只有少数数量如1个定位误差大于该预设误差阈值Thre,那么说明当前预设时间窗口内的卫星定位数据与激光雷达定位数据之间的定位误差的大小均在合理范围内,因此可以认为当前的卫星定位状态和激光雷达定位状态均为稳定状态。而如果不满足上述判断条件,则说明卫星定位或者激光雷达定位可能存在异常,需要进一步识别判断。
[0067] 在本申请的一个实施例中,所述卫星定位数据与所述激光雷达定位数据之间的定位误差为预设时间窗口内的多个定位误差,所述根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式包括:按照所述预设时间窗口的时间序列,对多个定位误差进行直线拟合;根据直线拟合结果确定所述误差变化模式。
[0068] 在根据卫星定位数据与激光雷达定位数据之间的定位误差确定误差变化模式时,可以按照预设时间窗口中的时间序列,对预设时间窗口内的多个定位误差进行直线拟合,直线拟合的X变量为预设时间窗口内的时间序列,如1,2,3...HZ,Y变量为预设时间窗口内的多个定位误差,进而根据直线拟合的结果可以进一步确定出定位误差的变化模式,例如定位误差是随机变化模式还是递增变化模式。
[0069] 在本申请的一个实施例中,所述根据直线拟合结果确定所述误差变化模式包括:若所述直线拟合结果为无法拟合出一条使得总残差小于预设总残差最大值的直线,则确定所述误差变化模式为随机变化模式;若所述直线拟合结果为能够拟合出一条使得总残差小于预设总残差最大值的直线,则确定所述误差变化模式为递增变化模式。
[0070] 前述实施例得到的直线拟合结果主要有两种情况,一种是根据时间和定位误差无法拟合出一条直线使得总残差小于预设总残差最大值,说明定位误差的变化模式是随机变化模式,因此可以判断激光雷达的定位状态不稳定,当然也可以在后续的预设时间窗口中使用同样的方式判断多次,以进一步确认。如果确认激光雷达的定位状态不稳定,则可以反馈激光雷达定位存在问题,比如激光松动,地图精度不够等。
[0071] 本申请实施例的残差可以设定为二维点(时间,误差)距离拟合直线的距离,总残差即为预设时间窗口中所有二维点距离拟合直线的距离之和,预设总残差最大值即为Thre*预设时间窗口中的二维点的数量。
[0072] 另一种直线拟合结果是根据时间和定位误差能够拟合出一条直线使得总残差小于预设总残差最大值,说明定位误差的变化模式是递增变化模式,因此可以判断GNSS/RTK存在渐变误差,也即GNSS/RTK定位存在“欺骗”的情况。那么从下一时刻开始即可使用基于激光雷达的定位策略替代基于GNSS/RTK的定位策略,将激光雷达的定位结果作为观测值更新滤波器,同时反馈给下游其他模块,此时的定位误差即为激光雷达的定位误差。
[0073] 在本申请的一个实施例中,所述误差变化模式包括随机变化模式和递增变化模式,所述根据所述误差变化模式确定自动驾驶车辆的定位策略包括:若所述误差变化模式为随机变化模式,则确定所述激光雷达定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于卫星定位实现的定位策略;若所述误差变化模式为递增变化模式,则确定所述卫星定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于激光雷达实现的定位策略。
[0074] 如果识别出误差变化模式为随机变化模式,说明当前的激光雷达定位状态为不稳定状态,那么采取的定位策略就可以是基于GNSS/RTK实现的融合定位策略,如果识别出误差变化模式为递增变化模式,说明当前的GNSS/RTK存在“欺骗”,那么采取的定位策略就可以是基于激光雷达实现的定位策略。
[0075] 也即,本申请实施例基于对定位误差的误差变化模式的识别,可以实时调整不同的定位策略,保证滤波器始终能够利用较为准确的观测值进行融合定位,进而提高了融合定位结果的稳定性。
[0076] 在本申请的一个实施例中,所述若所述误差变化模式为递增变化模式,则确定卫星定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于激光雷达实现的定位策略包括:获取所述激光雷达定位数据对应的轮速数据;根据所述轮速数据确定第一车辆行驶轨迹,并根据所述激光雷达定位数据确定第二车辆行驶轨迹;根据所述第一车辆行驶轨迹和所述第二车辆行驶轨迹对所述卫星定位状态进行验证,并根据验证结果确定所述自动驾驶车辆的定位策略。
[0077] 在根据直线拟合结果识别出定位误差的误差变化模式为递增变化模式的情况下,还可以进一步验证GNSS是否真的出现“欺骗”情况,例如可以获取经过时间同步后的轮速数据,然后利用四轮轮速模型推算出第一车辆行驶轨迹,并且根据激光雷达定位数据确定出第二车辆行驶轨迹,将二者进行匹配,如果轨迹重合度更高,说明激光雷达定位状态是稳定的,进而也侧面印证了GNSS存在“欺骗”。
[0078] 在本申请的一些实施例中,在使用基于激光雷达的定位策略替代基于GNSS/RTK的定位策略的同时,可以使用前述实施例中同样的定位状态判断方法判断GNSS/RTK定位信号是否恢复,如果恢复,则同步恢复GNSS/RTK观测值的更新。
[0079] 在本申请的一些实施例中,在有车道线的道路区域,还可以使用基于视觉识别的车道线定位结果作为激光雷达定位结果好坏的另一个辅助判断方式,例如可以将激光雷达定位数据中的横向距离与车道线定位结果中的横向偏差进行比较,如果二者一致或者相差小于一定范围,可以确认激光雷达的定位状态是稳定状态。
[0080] 为了验证本申请各实施例的自动驾驶车辆的定位方法的定位效果,如图2所示,提供了本申请实施例中一种定位误差修正前后的对比效果示意图。图2中“原始的误差变化趋势”结果中的100秒到200秒之间的斜线为误差直线拟合后的结果,其他时间段为原始误差,“修正后的误差变化趋势”结果为使用本申请实施例的自动驾驶车辆的定位方法后得到的误差。其中横轴为时间戳,单位是0.01秒,纵轴是误差,单位是米,可以看出,在GNSS/RTK的渐变误差趋势在125秒左右被判断出来后,切换到激光雷达定位,使得整体的融合定位误差的最大值被限制在一个可接受的范围内,并且最大误差缓慢变小,并没有跳变产生。
[0081] 本申请实施例还提供了一种自动驾驶车辆的定位装置300,如图3所示,提供了本申请实施例中一种自动驾驶车辆的定位装置的结构示意图,所述装置300包括:获取单元310、第一确定单元320、第二确定单元330以及定位单元340,其中:
[0082] 获取单元310,用于在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据;
[0083] 第一确定单元320,用于根据所述卫星定位数据和所述激光雷达定位数据确定所述卫星定位数据与所述激光雷达定位数据之间的定位误差;
[0084] 第二确定单元330,用于根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式;
[0085] 定位单元340,用于根据所述误差变化模式确定自动驾驶车辆的定位策略,并根据所述自动驾驶车辆的定位策略进行定位,得到自动驾驶车辆的定位结果。
[0086] 在本申请的一个实施例中,所述第二确定单元330具体用于:根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定卫星定位状态和激光雷达定位状态是否均为稳定状态;在所述卫星定位状态和所述激光雷达定位状态不均为稳定状态的情况下,根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式。
[0087] 在本申请的一个实施例中,所述卫星定位数据与所述激光雷达定位数据之间的定位误差为预设时间窗口内的多个定位误差,所述第二确定单元330具体用于:将多个定位误差分别与预设误差阈值进行比较;若多个所述定位误差均小于所述预设误差阈值,或者多个所述定位误差中的不超过预设数量的定位误差大于所述预设误差阈值,则确定所述卫星定位状态和所述激光雷达定位状态均为稳定状态;否则,则确定所述卫星定位状态和所述激光雷达定位状态不均为稳定状态。
[0088] 在本申请的一个实施例中,所述卫星定位数据与所述激光雷达定位数据之间的定位误差为预设时间窗口内的多个定位误差,所述第二确定单元330具体用于:按照所述预设时间窗口的时间序列,对多个定位误差进行直线拟合;根据直线拟合结果确定所述误差变化模式。
[0089] 在本申请的一个实施例中,所述第二确定单元330具体用于:若所述直线拟合结果为无法拟合出一条使得总残差小于预设总残差最大值的直线,则确定所述误差变化模式为随机变化模式;若所述直线拟合结果为能够拟合出一条使得总残差小于预设总残差最大值的直线,则确定所述误差变化模式为递增变化模式。
[0090] 在本申请的一个实施例中,所述误差变化模式包括随机变化模式和递增变化模式,所述定位单元340具体用于:若所述误差变化模式为随机变化模式,则确定所述激光雷达定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于卫星定位实现的定位策略;若所述误差变化模式为递增变化模式,则确定所述卫星定位状态为不稳定状态,并确定所述自动驾驶车辆的定位策略为基于激光雷达实现的定位策略。
[0091] 在本申请的一个实施例中,所述定位单元340具体用于:获取所述激光雷达定位数据对应的轮速数据;根据所述轮速数据确定第一车辆行驶轨迹,并根据所述激光雷达定位数据确定第二车辆行驶轨迹;根据所述第一车辆行驶轨迹和所述第二车辆行驶轨迹对所述卫星定位状态进行验证,并根据验证结果确定所述自动驾驶车辆的定位策略。
[0092] 能够理解,上述自动驾驶车辆的定位装置,能够实现前述实施例中提供的自动驾驶车辆的定位方法的各个步骤,关于自动驾驶车辆的定位方法的相关阐释均适用于自动驾驶车辆的定位装置,此处不再赘述。
[0093] 图4是本申请的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random‑Access Memory,RAM),也可能还包括非易失性存储器(non‑volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
[0094] 处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0095] 存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0096] 处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成自动驾驶车辆的定位装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
[0097] 在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据;
[0098] 根据所述卫星定位数据和所述激光雷达定位数据确定所述卫星定位数据与所述激光雷达定位数据之间的定位误差;
[0099] 根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式;
[0100] 根据所述误差变化模式确定自动驾驶车辆的定位策略,并根据所述自动驾驶车辆的定位策略进行定位,得到自动驾驶车辆的定位结果。
[0101] 上述如本申请图1所示实施例揭示的自动驾驶车辆的定位装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0102] 该电子设备还可执行图1中自动驾驶车辆的定位装置执行的方法,并实现自动驾驶车辆的定位装置在图1所示实施例的功能,本申请实施例在此不再赘述。
[0103] 本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中自动驾驶车辆的定位装置执行的方法,并具体用于执行:
[0104] 在卫星定位信号未失效的情况下,获取自动驾驶车辆的卫星定位数据和激光雷达定位数据;
[0105] 根据所述卫星定位数据和所述激光雷达定位数据确定所述卫星定位数据与所述激光雷达定位数据之间的定位误差;
[0106] 根据所述卫星定位数据与所述激光雷达定位数据之间的定位误差确定误差变化模式;
[0107] 根据所述误差变化模式确定自动驾驶车辆的定位策略,并根据所述自动驾驶车辆的定位策略进行定位,得到自动驾驶车辆的定位结果。
[0108] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0109] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0110] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0111] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0112] 在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
[0113] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
[0114] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD‑ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
[0115] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0116] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0117] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。