1.本公开实施例涉及一种组合导航模型的性能验证方法和装置。
背景技术:2.组合导航技术是自动驾驶、地图、两轮车电子围栏管控等应用场景必须的技术。
3.在组合导航模型投入使用之前,如何低成本实现组合导航模型的性能验证尤为重要。
技术实现要素:4.有鉴于此,本技术提供一种组合导航模型的性能验证方法和装置,能够在低成本条件下简单实现组合导航模型的性能验证。
5.为解决上述技术问题,本技术的技术方案是这样实现的:在一个实施例中,提供了一种组合导航模型的性能验证方法,所述方法包括:接收到通过验证页面上传的组合导航模型的可执行代码时,进行存储;接收到通过所述验证页面发送的验证请求时,获取验证数据和参考数据;所述验证数据和参考数据为采集的实车数据;基于所述验证数据执行所述可执行代码获取执行结果;根据所述执行结果和所述参考数据确定所述组合导航模型是否通过性能验证;将性能验证结果通过所述验证页面输出。
6.在另一个实施例中,提供了一种组合导航模型的性能验证装置,所述装置包括:接收单元、存储单元、获取单元、执行单元、确定单元和输出单元;所述接收单元,用于接收通过验证页面上传的组合导航模型的可执行代码;接收通过所述验证页面发送的验证请求;所述存储单元,用于存储所述接收单元接收到的可执行代码;所述获取单元,用于所述接收单元接收到验证请求时,获取验证数据和参考数据;所述验证数据和参考数据为采集的实车数据;所述执行单元,用于所述接收单元接收通过所述验证页面发送的验证请求时,基于所述获取单元获取的验证数据执行所述存储单元存储的可执行代码获取执行结果;所述确定单元,用于根据所述执行单元获取的执行结果和所述获取单元获取的参考数据确定所述组合导航模型是否通过性能验证;所述输出单元,用于将所述确定单元确定的性能验证结果通过所述验证页面输出。
7.在另一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述组合导航模型的性能验证方法的步骤。
8.在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该
程序被处理器执行时实现所述组合导航模型的性能验证方法的步骤。
9.在另一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现所述组合导航模型的性能验证方法的步骤。
10.由上面的技术方案可见,上述实施例中获取通过验证页面上传的组合导航模型的可执行代码,在接收到通过验证页面发起的验证请求时,基于验证数据执行验证代码获取执行结果,根据执行结果和参考数据确定组合导航模型是否通过性能验证;并通过验证页面输出验证结果。该方案能够在低成本条件下简单实现组合导航模型的性能验证。
附图说明
11.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1为本技术实施例中组合导航模型的性能验证流程示意图;图2为本技术实施例中确定性能验证是否通过的流程示意图;图3为本技术实施例中一种确定是否通过精度验证流程示意图;图4为本技术实施例中另一种确定是否通过精度验证流程示意图;图5为本技术实施例中组合导航模型的性能验证装置结构示意图;图6为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
13.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
14.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
15.下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
16.本技术实施例提供一种组合导航模型的性能验证方法,应用于验证平台上,对组合导航模型的性能进行验证包括精度验证和稳定性验证,当精度验证和稳定性验证均通过时,确定组合导航模型通过性能验证;否则,确定组合导航模型未通过性能验证。
17.在具体验证时,通过验证页面提供验证操作过程。具体为:可以通过验证页面上传组合导航模型的可执行代码,通过验证页面输入验证请求,并从验证页面上查看验证结果。
18.在整个验证过程中,验证人员只需要在页面上进行操作即可,不需要进行验证(仿真)操作,对验证人员要求较低,进而能够在低成本前提下,简单实现组合导航模型的性能验证;也不需要对仿真结果进行分析,避免出错,能够准确确定验证结果,并且将验证结果输出到验证页面上,这种可视化实现方式能够使验证结果更直观,便于更好的分析和发现问题。
19.组合导航模型是一种用于定位的组合导航算法,如imu与gnss组合导航算法,本技术实施例中对于实现组合导航模型的具体算法不进行限制,性能验证通过的组合导航模型可以应用于需要定位的场景中,如自动驾驶、两轮车电子围栏管控等。
20.在组合导航模型投入使用之前需要对其进行性能验证,本技术实施例中的具体验证方式如下:参见图1,图1为本技术实施例中组合导航模型的性能验证流程示意图。具体步骤为:步骤101,接收到通过验证页面上传的组合导航模型的可执行代码时,进行存储。
21.在具体实现时,验证平台会提供验证接口,可以上传待验证的组合导航模型的可执行代码,以及验证的启动。
22.当需要验证组合导航模型时,通过验证页面上传待验证的组合导航模型的可执行代码;当然也可以通过其他方式将待验证的组合导航模型的可执行代码发送给验证平台。
23.验证平台将接收到的可执行代码先存储,以便性能验证时使用。
24.这里的组合导航模型的可执行代码即对组合导航模型对应的代码进行过编译,可以直接执行。
25.步骤102,接收到通过验证页面发送的验证请求时,获取验证数据和参考数据;验证数据和参考数据为采集的实车数据。
26.具体实现时,验证数据和参考数据为采集的实车数据,可以是当前采集的实车数据,也可以是验证平台存储的实车数据,还可以是两者的结合。
27.验证数据为sensor采集的原始数据,包括:imu、gnss、轮速等;参考数据为通过高精度参考设备采集并提供的真实数据,包括位置信息和位姿信息,参考数据和验证数据是关联的,在同一时间、位置采集的相关数据。
28.步骤103,基于验证数据执行可执行代码获取执行结果。
29.为了验证的准确性、全面性可以使用全量数据进行验证,即能够获得的多组实车数据。
30.若使用全量数据验证,则基于全量数据进行可执行代码的执行,即单进程运行,速度会很慢,为了解决此问题,在具体实现时可采用多进程的方式进行代码的执行。
31.步骤104,根据执行结果和参考数据确定组合导航模型是否通过性能验证。
32.步骤103和步骤104的执行可以封装为验证功能模块,不需要人为干预,人工操作,在验证平台的后台实现。
33.本步骤中根据执行结果和参考数据确定组合导航模型是否通过性能验证的具体实现可以为:参见图2,图2为本技术实施例中确定性能验证是否通过的流程示意图。具体步骤为:
步骤201,根据执行结果、参考数据,以及预设性能验证条件确定组合导航模型是否通过精度验证。执行步骤203。
34.根据预设性能验证条件的不同,本技术实施例中给出如下,但不限于如下两种实现方式:第一种:预设性能验证条件包括:预设位置误差阈值和预设姿态误差阈值。
35.其中,预设位置误差阈值和预设姿态误差阈值可以根据实际需要设置,本技术实施例中对此不进行限制。
36.参见图3,图3为本技术实施例中一种确定是否通过精度验证流程示意图。具体步骤为:步骤301,根据执行结果与参考数据计算位置误差和姿态误差。
37.执行结果中包括通过组合导航模型计算的位置信息和姿态信息;参考数据包括通过高精度参考设备获取的位置信息和姿态信息;将执行结果中的位置信息与参考数据中对应的位置信息进行差值计算获取位置误差,将执行结果中的姿态信息与参考数据中对应的姿态信息进行差值计算获取姿态误差。
38.步骤302,若计算的位置误差小于预设位置误差阈值,且计算的姿态误差小于预设姿态误差阈值,则确定组合导航模型通过精度验证;否则,确定组合导航模型未通过精度验证。
39.本技术实施例中与预设位置误差阈值比较的位置误差为本次进行性能验证获取的所有位置误差的均值,与预设位姿误差阈值比较的位姿误差为本次进行性能验证获取的所有位姿误差的均值。
40.第二种、预设性能验证条件包括指定版本。
41.其中的指定版本,用于指定与当前版本进行比较的组合导航模型。
42.参见图4,图4为本技术实施例中另一种确定是否通过精度验证流程示意图。具体步骤为:步骤401,根据执行结果与参考数据计算位置误差和姿态误差。
43.步骤402,获取验证指定版本的组合导航模型时获取的位置误差和姿态误差。
44.步骤403,比较获取的位置误差与计算的位置误差,获取的姿态误差与计算的姿态误差。
45.步骤404,若确定计算的位置误差小于获取的位置误差,且计算的姿态误差小于获取的姿态误差,则确定组合导航模型通过精度验证;否则,确定组合导航模型未通过精度验证。
46.本技术实施例中计算的位置误差为当前验证获取的位置误差的均值,获取的位置误差为验证指定的组合导航模型时获取的位置误差的均值;计算的位姿误差为当前性能验证获取的位姿误差的均值,获取的位姿误差为验证指定的组合导航模型时获取的位姿误差的均值。
47.本技术实施例中验证过程中获取位置误差,以及位置误差的具体过程为:如使用n组实车数据进行性能验证,针对每组数据,在代码执行结束后,每个时刻的位置误差、姿态误差都会进行计算;在进行误差统计时,会对每一个时刻的误差进行统
计;该次性能验证的位置误差,以及位姿误差的确定可以但不限于如下实现方式:分别针对每组实车数据计算位置误差的cep68/cep95,和位姿误差的cep68/cep95作为该组数据的位置误差和位姿误差,其中,cep为圆周概率误差;然后,分别计算n组cep的平均值,作为该次性能验证的位置误差和位姿误差。
48.步骤202,根据执行结果确定组合导航模型是否通过稳定性验证。
49.本技术实施例中,在执行结果中还包括执行日志,若执行结果中的执行日志记录了错误信息,其中的错误信息为错误码;则确定组合导航模型未通过稳定性验证;否则,确定组合导航模型通过稳定性验证。
50.步骤203,若确定组合导航模型通过精度验证,且通过稳定性验证,则确定组合导航模型通过性能验证;否则,确定组合导航模型未通过性能验证。
51.步骤105,将性能验证结果通过验证页面输出。
52.性能验证结果为是否通过性能验证。
53.本技术实施例中还可以输出下述任一或任意信息组合:位置误差曲线、姿态误差曲线和误差统计结果;其中,误差统计结果为验证过程中所产生的所有位置误差和所有姿态误差,将统计的多个位置误差以位置误差曲线的方式输出,将统计的多个姿态误差以姿态误差曲线的方式输出,还可以将误差统计结果以数据的方式输出。
54.其中,位置误差曲线和姿态误差曲线可以通过图片的方式输出;在具体实现时,还可以在验证过程中计算速度误差,并将速度误差曲线以图片的方式输出;误差统计结果以数据的方式输出时,可以通过表格的方式输出。
55.在验证页面上输出的位置误差曲线、姿态误差曲线,以及速度误差曲线可以被放大、缩小、移动、旋转等。
56.是否通过性能验证,可以通过文字显示,若未通过性能验证,还可以显示是否通过精度验证,是否通过稳定性验证。
57.若性能验证结果为未通过性能验证,则输出执行日志中记录的错误信息。
58.输出执行日志中记录的错误信息时,可以以文字的形式输出。
59.本技术实施例中验证人员可以通过验证页面上传待验证的组合导航模型的可执行代码,发起验证请求,查看验证结果,以及验证过程中产生的相关数据信息。因此,本技术实施例中验证人员可以简单快捷进行组合导航模型的性能验证,并查看验证过程产生的相关数据,以及验证结果。
60.整个执行过程不要验证人员执行验证操作,不需要懂得代码,这样能够降低性能验证的成本。
61.基于同样的发明构思,本技术实施例中还提供一种组合导航模型的性能验证装置。参见图5,图5为本技术实施例中组合导航模型的性能验证装置结构示意图。组合导航模型的性能验证装置包括:接收单元501、存储单元502、获取单元503、执行单元504、确定单元505和输出单元506;接收单元501,用于接收通过验证页面上传的组合导航模型的可执行代码;接收通过所述验证页面发送的验证请求;
存储单元502,用于存储接收单元501接收到的可执行代码;获取单元503,用于接收单元501接收到验证请求时,获取验证数据和参考数据;所述验证数据和参考数据为采集的实车数据;执行单元504,用于接收单元501接收通过验证页面发送的验证请求时,基于获取单元503获取的验证数据执行存储单元501存储的可执行代码获取执行结果;确定单元505,用于根据执行单元504获取的执行结果和获取单元503获取的参考数据确定所述组合导航模型是否通过性能验证;输出单元506,用于将确定单元505确定的性能验证结果通过验证页面输出。
62.在另一个实施例中,确定单元505,具体用于根据所述执行结果和所述参考数据确定所述组合导航模型是否通过性能验证时,包括:根据所述执行结果、所述参考数据,以及预设性能验证条件确定所述组合导航模型是否通过精度验证;根据所述执行结果确定所述组合导航模型是否通过稳定性验证;若确定所述组合导航模型通过精度验证,且通过稳定性验证,则确定所述组合导航模型通过性能验证;否则,确定所述组合导航模型未通过性能验证。
63.在另一个实施例中,确定单元505,具体用于若所述预设性能验证条件包括预设位置误差阈值和预设姿态误差阈值,则所述根据所述执行结果、所述参考数据,以及预设性能验证条件确定所述组合导航模型是否通过精度验证,包括:根据所述执行结果与所述参考数据计算位置误差和姿态误差;若计算的位置误差小于所述预设位置误差阈值,且计算的姿态误差小于所述预设姿态误差阈值,则确定所述组合导航模型通过精度验证;否则,确定所述组合导航模型未通过精度验证。
64.在另一个实施例中,确定单元505,具体用于若所述预设性能验证条件包括指定版本,则所述根据所述执行结果、所述参考数据,以及预设性能验证条件确定所述组合导航模型是否通过精度验证,包括:根据所述执行结果与所述参考数据计算位置误差和姿态误差;获取验证所述指定版本的组合导航模型时获取的位置误差和姿态误差;比较获取的位置误差与计算的位置误差,获取的姿态误差与计算的姿态误差;若确定计算的位置误差小于获取的位置误差,且计算的姿态误差小于获取的姿态误差,则确定所述组合导航模型通过精度验证;否则,确定所述组合导航模型未通过精度验证。
65.在另一个实施例中,确定单元505,具体用于根据所述执行结果确定所述组合导航模型是否通过稳定性验证,包括:若所述执行结果中的执行日志记录了错误信息,则确定所述组合导航模型未通过稳定性验证;否则,确定所述组合导航模型通过稳定性验证。
66.在另一实施例中,输出单元506,进一步用于通过验证页面输出下述任一或任意信息组合:位置误差曲线、姿态误差曲线和误差统计结果;若性能验证结果为未通过验证,则输出执行日志中记录的错误信息。
67.上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
68.在另一个实施例中,还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现组合导航模型的性能验证方法的步骤。
69.在另一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机指令,指令被处理器执行时可实现组合导航模型的性能验证方法中的步骤。
70.图6为本发明实施例提供的电子设备的实体结构示意图。如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下方法:接收到通过验证页面上传的组合导航模型的可执行代码时,进行存储;接收到通过所述验证页面发送的验证请求时,获取验证数据和参考数据;所述验证数据和参考数据为采集的实车数据;基于所述验证数据执行所述可执行代码获取执行结果;根据所述执行结果和所述参考数据确定所述组合导航模型是否通过性能验证;将性能验证结果通过所述验证页面输出。
71.此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
72.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
73.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
74.在另一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现所述驱蚊虫控制方法的步骤。
75.本技术附图中的流程图和框图,示出了按照本技术公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分
包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
76.本领域技术人员可以理解,本技术公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本技术中。特别地,在不脱离本技术精神和教导的情况下,本技术的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本技术公开的范围。
77.本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本技术。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。