汽车多地协同远程标定系统及其标定方法
文献发布时间:2024-04-18 19:58:26
技术领域
本发明属于信号标定技术领域,具体涉及一种汽车多地协同远程标定系统及其标定方法。
背景技术
在相关技术中,根据发明人所知标定系统的自动化功能仅仅限定在一台计算机上,用户对本地的ECU进行自动化标定,需要编写自有程序,而如果在多车标定场景中,即需要访问远程系统连接的ECU,将本地的标定数据部署至远程,或是获取远程观测标定数据时,则当前自有程序无法实现,需要编写另一个程序以访问远程ECU,而且这两个程序无法实现数据融合。
发明内容
本发明的目的是提供一种汽车多地协同远程标定系统及其标定方法。
为了解决上述技术问题,本发明提供了一种汽车多地协同远程标定系统,包括:
服务器,被配置为存储标定数据库且接收并存储来自应答端发送的标定信号;
请求端,被配置为从服务器调用标定信号以读取标定信号值;和/或向服务器发送标定信号写入命令,并向服务器发送读取写入后标定信号的命令;
应答端,被配置为向服务器发送标定信号;以及还被配置为用于接收服务器发送的写入的目标值,并对车辆完成在线标定。
又一方面,本发明还提供了一种汽车多地协同远程标定方法,包括:
通过请求端从服务器调用标定信号以读取标定信号值,和/或向服务器发送标定信号写入命令与向服务器发送读取写入后标定信号的命令;
通过应答端为向服务器发送标定信号;以及还用于接收服务器发送的写入的目标值,并对车辆完成在线标定。
本发明的有益效果是,本发明的汽车多地协同远程标定系统能够实现在多车标定场景中同时对本地计算机的ECU和远程计算机连接的ECU进行同时监控和互操作,有效提高了多车标定的便捷性和精准性。
本发明内容旨在提供在本文档中所描述的主题中的一些的简要概述。因此,应当理解,上述特征仅为示例,并且不应当解释为以任何方式缩窄本文所描述的主题的范围或实质。
本文所描述的主题的其他特征、方面和优点将通过以下具体实施方式、附图和权利要求书而变得显而易见。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一些实施方式所涉及的汽车多地协同远程标定方法的步骤图;
图2示出了一些实施方式所涉及的汽车多地协同远程标定方法的步骤图;
图3示出了一些实施方式所涉及的服务器的原理框图;
图4示出了一些实施方式所涉及的请求端的原理框图;
图5示出了一些实施方式所涉及的应答端的原理框图;
图6示出了一些实施方式所涉及的汽车多地协同远程标定系统的原理框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人已知的,在多车标定场景中,车辆一般分布在不同的省市。在相关技术条件下,无法实现将多地车辆中同名标定信号拖入同一个曲线窗口中进行观测,也无法在本地开发者的计算机上,通过直接运行算法程序重现其他省市车辆中该算法程序的执行,只能将该算法程序同时拷贝到其他省市的开发者计算机上,并由其他省市的开发者代为执行。即同类软件产品只能实现对ECU的本地监控,无法同时对本地计算机的ECU和远程计算机连接的ECU进行同时监控和互操作。
本文一些实施例提供了一种汽车多地协同远程标定方法。下面结合附图,详细说明本公开的实施例的各种非限制性实施方式。
如图1所示,至少一个实施例提供了一种汽车多地协同远程标定方法,包括:
服务器、请求端和应答端;其中
步骤S101,通过服务器存储标定数据库且接收并存储来自应答端发送的标定信号;以及
步骤S102,所述请求端从服务器调用标定信号以读取标定信号值;和/或在所述请求端对标定信号写入后,通过服务器将写入目标值发送至应答端,由应答端完成车辆的在线标定,以及由请求端向服务器申请读取写入后的标定信号。
在一些应用实施例中,应答端是指分布在不同省市连接汽车ECU的计算机,请求端是指本地连接汽车ECU的计算机;各应答端适于将标定信号发送至所述服务器。所述请求端对服务器的各标定信号分别创建对应的映射系统变量;并对映射系统变量赋初值,随后开发者只要在请求端读取或修改写入相应标定信号即能实现对分布在不同省市的车辆标定信号进行监控或同步修改不同省市的车辆标定信号值,有效提高了多车标定的便捷性和精准性。
其中,所述标定数据库被配置为至少存储各应答端相应ECU的所有标定信号,包括观测量标定信号、可写观测量标定信号和标定量标定信号。
如图2所示,在一些实施例中,汽车多地协同远程标定方法,包括:
步骤S201,通过请求端从服务器调用标定信号以读取标定信号值;和/或向服务器发送标定信号写入命令,并向服务器发送读取写入后标定信号的命令;
步骤S202,通过应答端为向服务器发送标定信号;以及还用于接收服务器发送的写入的目标值,并对车辆完成在线标定。
下面结合一些应用案例详细说明汽车多地协同远程标定方法:
假设在三辆汽车标定场景中,汽车分布在三个不同的省市。A市标定用的计算机被定义为请求端,其他两个省市汽车的ECU1和ECU2所连接的计算机被定义为应答端。
A市的开发者首先进行本地标定,创建本地汽车ECU中与Factor1、Factor2标定信号相关联的同名映射系统变量“ECU_Factor1”和“ECU_Factor2”,再通过编写图形程序,先后修改“Factor1”和“Factor2”,直至算法的执行结果达到预期。比如最终“Factor1=1.2”,“Factor2=2.3”。其中Factor1表示轮速传感器的标定信号,Factor2表示加速度传感器的标定信号,每个ECU中都有Factor1和Factor2这两个标定信号。
A市的开发者希望在其他省市的车辆ECU中运行相同的图形程序,以重现算法的执行。若未采用本实施例,则无法在A市开发者的计算机上通过直接运行该图形程序,以重现其他省市车辆中算法的执行过程。一般需要将该图形程序同时拷贝到其他省市的开发者计算机上,并由其他省市的开发者代为执行。而本汽车多地协同远程标定方法中通过请求端对服务器的各标定信号分别创建对应的映射系统变量,即直接解决这个问题。
具体方法步骤如下:
(1)A市标定用的计算机作为请求端,即A市的开发者通过本地计算机中的标定模块,经服务器同时连接其他省市的应答端,以连接其他省市汽车的ECU1和ECU2,实现一个请求端同时连接多个应答端,其他省市的应答端会将ECU1和ECU2的标定信号发送至服务器。
(2)A市的本地计算机在经服务器成功连接了其他省市汽车的ECU1和ECU2后,本地计算机中的标定模块对存储在服务器的ECU1、ECU2的相应标定信号在本地自动创建映射系统变量“ECU1_Factor1”、“ECU1_Factor2”和“ECU2_Factor1”、“ECU2_Factor2”。
(3)A市开发者在本地计算机(请求端)的图形程序中使用通配符更新代码,即“ECU*_Factor1=1.2”,“ECU*_Factor2=2.3”。随后运行该图形程序,服务器将图形程序的运行结果分别通过相应应答端发送至其他省市汽车的ECU1和ECU2上,即ECU1和ECU2中的相应标定信号Factor1均被修改为1.2,相应信号Factor2均被修改为2.3。从而实现了A市开发者的需求;即在请求端的图形程序中使用通配符更新代码,并通过服务器将图形程序的运行结果分别发送至至少一个应答端。
需要说明的是,在一些实施例中所述的通配符是指一种特殊字符,可以用来匹配预先设置好模式的字符串。在批量修改映射系统变量值时,通配符可以快速地匹配一批映射系统变量,从而进行批量修改。以ECU*_Factor为例,其中的*就是通配符,它可以匹配任意字符或字符串。因此,ECU*_Factor可以匹配映射系统变量ECU1_Factor、映射系统变量ECU2_Factor、映射系统变量ECU3_Factor等等,只要它们的前缀是ECU,后缀是_Factor,即满足预先设置好的映射系统变量命名规则即可。
批量修改数据的方法包括:将通配符替换为具体的字符串即可。例如,如果要将ECU1_Factor、ECU2_Factor、ECU3_Factor等映射系统变量的值都修改为1.5,只需要将ECU*_Factor替换为1.5即可,这样可以批量修改这些映射系统变量的值。
假设在四辆汽车标定场景中,汽车分布在四个不同的省市。A市标定用的计算机被定义为请求端,其他三个省市汽车的ECU1、ECU2和ECU3所连接的计算机被定义为应答端。
A市的开发者首先进行本地标定,创建本地汽车ECU中Result1测量信号相关联的同名映射系统变量ECU_Result1,将其拖入曲线窗口中对其进行监控。通过标定模块调整相关参数值,对所监控的Result1信号进行评价以确认所调整的参数的有效性。
在完成本地标定后,A市的开发者将当前版本的ECU算法发布,通过服务器更新其他省市的ECU算法至当前版本。
随后A市的开发者同样希望通过监控其他省市中每辆汽车的ECU中的Result1信号以评价该算法在其他省市不同环境下的运行情况。若没有采用本实施例,无法实现将多地车辆中同名信号Result1拖入同一个曲线窗口中进行观测。
而一些实施例的汽车多地协同远程标定方法中通过请求端对服务器的各标定信号分别创建对应的映射系统变量,可以实现不同ECU的同名信号Result1拖入同一个曲线窗口中进行观测,具体方法步骤如下:
(1)A市标定用的计算机作为请求端,即A市的开发者通过本地计算机(相当于请求端)中的标定模块,经服务器同时连接其他省市的应答端,以连接其他省市汽车的ECU1、ECU2和ECU3,实现一个请求端同时连接多个应答端,其他省市的应答端会将对应ECU1、ECU2和ECU3的标定信号发送至服务器。
(2)A市的本地计算机在经服务器成功连接了其他省市的ECU1、ECU2和ECU3后,本地计算机中的标定模块对存储在服务器的ECU1、ECU2和ECU3的相应标定信号在本地自动创建映射系统变量“ECU1_Result1”、
“ECU2_Result1”和“ECU3_Result1”。其中Result1表示汽车传感器监控得到的车辆的外部环境温度。那么“ECU1_Result1”、“ECU2_Result1”和“ECU3_Result1”分别表示ECU1、ECU2和ECU3监控到的各自车辆的外部环境温度。
(2)A市开发者只要在本地将“ECU1_Result1”、“ECU2_Result1”和“ECU3_Result1”这三个映射系统变量拖入同一个曲线窗口中,就可以同时对他们进行监控,从而通过监控结果以评价当前算法在其他省市运行的适应性。
在一些实施例中,对于自动创建的映射系统变量,其命名规则为:
使用ECU名称作为前缀,标定信号名称与ECU名称之间通过下划线隔开,例如标定信号名称是“abc”,ECU名称是“ABS”,则映射系统变量名称为“ABS_abc”。
在一些实施例中,其中所述请求端从服务器调用标定信号,以进行标定信号值读取的方法包括:
对于定义为观测量的标定信号,标定模块获取服务器存储的标定信号值,并存入相应的映射系统变量;
在读取该映射系统变量时,即读出映射系统变量的最后存入值。
各映射系统变量创建完成后,请求端的标定模块首先经服务器连接本地ECU,从本地ECU读取各标定信号当前值(连接ECU成功时的值),并将各当前值赋值给相应的映射系统变量,从而完成对各映射系统变量赋初值。
由于标定模块实时读取服务器存储的标定信号值并存入相应的映射系统变量,这就确保了映射系统变量中的值始终是最新值,用户若想读取标定信号最新值,只需读取映射系统变量最新值,这个最新值就是最后存入值。最后存入时间节点就是标定模块在最后读取到标定信号值的那一刻的时间戳。
下面结合案例详细描述定义为观测量的标定信号的读取方法:
假设需要在应答端所连接的汽车ECU功能测试中,使用请求端的图形程序判断该汽车ECU的供电电压信号KL30是否大于9V。
首先,应答端预先将ECU的供电电压信号KL30发送至服务器存储,然后请求端的标定模块调用服务器的标定数据库,并对标定数据库中的供电电压信号自动创建映射系统变量,名为“ECU_KL30”。
用户在请求端编写对供电电压信号进行判断的图形程序,该判断对应的执行单元表达式为“ECU_KL30>9”。
然后,用户启动测试,请求端标定模块经服务器连接应答端的ECU,以读取ECU中KL30信号的当前值,并赋值给映射系统变量“ECU_KL30”,即对映射系统变量“ECU_KL30”赋初值。
随后标定模块通过查询或是DAQ方式,周期读取KL30信号值,并存入映射系统变量“ECU_KL30”。
最后,在执行用户的图形程序的执行单元“ECU_KL30>9”时,直接读取映射系统变量“ECU_KL30”的值,并与9进行比较。
作为其中一种实施方式,所述对标定信号进行写入的方法包括:
对于定义为标定量的标定信号,由所述请求端将赋值函数关联至一个异步函数中,其中赋值函数为待写入目标值的映射系统变量写入函数;
在写入标定量时,所述异步函数向服务器发送写入命令和读取命令后立即返回,该异步函数调用完毕。
下面结合案例详细描述定义为标定量的标定信号的写入方法:
假设需要在应答端所连接的汽车ECU功能测试中,需要通过请求端的图形程序写入该汽车ECU中标定信号EV_Current的值为2.1,以控制对应的电磁阀EV的电流为2.1安培。
首先,应答端预先将ECU的电磁阀电流信号EV_Current发送至服务器存储,然后请求端的标定模块调用服务器的标定数据库,并对标定数据库中的电磁阀电流信号自动创建映射系统变量,名为“ECU_EV_Current”。
用户在请求端编写写入标定信号EV_Current的值为2.1的图形程序,该写入动作对应的执行单元表达式为“ECU_EV_Current=2.1”。
然后,用户启动测试,请求端标定模块经服务器连接应答端的ECU,并将映射系统变量“ECU_EV_Current”的赋值函数关联至一个异步函数“set_sys_var_async”,该异步函数的功能是调用请求端标定模块的API函数,以执行对电磁阀电流信号的写入和读取操作。
当执行请求端图形程序的执行单元“ECU_EV_Current=2.1”时,请求端标定模块会调用这个异步函数“set_sys_var_async”,将目标值“2.1”作为参数传入。在该异步函数中,通过异步的方式,先后向服务器发起如下请求:
(1)写入标定信号“ECU_EV_Current”的请求,请求携带参数为写入值2.1;
(2)读取标定信号“ECU_EV_Current”的请求;
执行单元发起请求后,无需等待请求结果,即可立即从异步函数“set_sys_var_async”中返回。请求端标定模块将在后台按顺序写入标定信号“ECU_EV_Current”,并经服务器将写入目标值发送至应答端,由应答端将目标值写入,即ECU中的EV_Current值变为2.1,以及由请求端标定模块向服务器申请读取标定信号“ECU_EV_Current”。
作为另一种实施方式,所述对标定信号进行写入的方法包括:
对于定义为可写观测量的标定信号,由所述请求端将赋值函数关联至一个异步函数中,其中赋值函数为待写入目标值的映射系统变量写入函数;
在写入可写观测量时,所述异步函数向服务器发送写入命令和读取命令后立即返回,该异步函数调用完毕。
下面结合案例详细描述定义为可写观测量的标定信号的写入方法:
假设需要在应答端所连接的汽车ECU功能测试中,需要通过请求端的图形程序写入该汽车ECU中标定信号EV_MAX_Current的值为1.0,以设置对应的电磁阀EV的最大采样电流为1.0安培。
首先,应答端预先将ECU的电磁阀最大采样电流信号EV_MAX_Current发送至服务器存储,然后请求端的标定模块调用服务器的标定数据库,并对标定数据库中的电磁阀最大采样电流信号自动创建映射系统变量,名为“ECU_EV_MAX_Current”。
用户在请求端编写写入电磁阀最大采样电流信号的值为1.0的图形程序,该写入动作对应的执行单元表达式为“ECU_EV_MAX_Current=1.0”。
然后,用户启动测试,请求端标定模块经服务器连接应答端的ECU,以读取ECU中EV_MAX_Current信号的当前值,并赋值给映射系统变量“ECU_EV_MAX_Current”。
随后请求端标定模块通过查询或是DAQ方式,周期读取EV_MAX_Current信号值,并存入映射系统变量“ECU_EV_MAX_Current”。
假定在测试过程中,ECU检测到电磁阀EV的最大采样电流为3.0安培,则映射系统变量“ECU_EV_MAX_Current”的值将会被改写为3.0。
请求端标定模块同时将映射系统变量“ECU_EV_MAX_Current”的赋值函数关联至一个异步函数“set_sys_var_async”,该异步函数的功能是调用标定模块的API函数,以执行对电磁阀EV的最大采样电流信号的写入和读取操作。
当执行请求端图形程序的执行单元“ECU_EV_MAX_Current=1.0”时,请求端标定模块会调用这个异步函数“set_sys_var_async”,将目标值“1.0”作为参数传入。在该异步函数中,通过异步的方式,先后向服务器发起如下请求:
(1)写入标定信号“ECU_EV_MAX_Current”的请求,请求携带参数为写入值1.0;
(2)读取标定信号“ECU_EV_MAX_Current”的请求;
执行单元发起请求后,无需等待请求结果,即可立即从异步函数“set_sys_var_async”中返回。请求端标定模块将在后台按顺序写入标定信号“ECU_EV_MAX_Current”,并经服务器将写入目标值发送至应答端,由应答端将目标值写入,即ECU中EV_MAX_Current的值变为1.0,以及由请求端标定模块向服务器申请读取标定信号“ECU_EV_MAX_Current”。
在随后的测试过程中,ECU内部信号EV_MAX_Current的值就被复位为1.0,直到ECU监控到EV阀的最大电流超过该值时,信号EV_MAX_Current和映射系统变量“ECU_EV_MAX_Current”的值才会被改写。
需要补充说明的是,标定信号EV_MAX_Current指的是ECU内部采样并计算得到的电磁阀EV的最大采样电流值,例如“EV_MAX_Current”初始值为1.0,当前采样电流如果一直是0.5安培,那么“EV_MAX_Current”的值就保持1.0不变,一旦当前采样电流大于1.0安培,例如采集到当前电流值为1.2,那么“EV_MAX_Current”的值就会立即变成1.2,此时即使当前电流下降到0.2安培,表征历史采样电流最大值的“EV_MAX_Current”依然会保持在1.2,不会跟随下降。所以这个标定信号就变成一个双向读写的信号,ECU可以根据采样得到的实际电流值升高它,用户也可以在使用端复位这个标定信号到一个相对低的值,这样的好处是,用户可以在不同的时间段读取这个标定信号的最大值,而不会遇到这个标定信号一开始就升高到3.0后,由于没有复位措施,后续对这个标定信号的观测进入盲区,只能永远读到3.0。因此,在本案例中ECU内部信号EV_MAX_Current的值就被复位为1.0,直到ECU监控到EV阀的最大电流超过该值时,标定信号EV_MAX_Current和映射系统变量“EV_MAX_Current”的值才会被改写。
在一些实施例中,当所述服务器执行写入命令和读取命令同时成功后,所述请求端将所述映射系统变量的最后存入值刷新成待写入目标值。
在一些实施例中,观测量的标定信号指的是:纯粹用来观测的标定信号,例如发动机转速、车速等信号,这些信号都是基于对物理世界相关信息的测量决定的,反映的是客观事实,不需要修改。
在一些实施例中,标定量的标定信号指的是:用来设定的参数,例如PID算法的P、I和D参数,更改后决定算法的运行状态。
在一些实施例中,可写观测量的标定信号指的是:可以用来观测,也可以对观测值进行干预的信号,比如电磁阀的电流最大值这类信号,会随着观测的进行不断地增大直至最大值。比如想观测从当前时刻开始2小时内的最大值,则需要复位该观测值,并在2小时范围内去读取它。
在一些实施例中,在所述请求端未接收到所述服务器的标定信号的情况下,所述请求端若还写入标定信号对应的映射系统变量时,所述请求端将报错。
写入映射系统变量的行为是请求端用户产生的,请求端标定模块经服务器成功连接应答端的ECU后,请求端用户的程序就可以写入任何映射系统变量,如果有一个映射系统变量不存在,写入这个映射系统变量就会报错。因此如果请求端未收到服务器的标定信号,说明该标定信号不存在或是该标定信号传输过程失败,则该标定信号在请求端对应的映射系统变量无法被初始化,即对应的映射系统变量也不存在,此时写入一个不存在的映射系统变量,所述请求端就会报错。
下面结合案例详细描述标定模块未启动时写入标定信号的情况:
假设需要在定义为应答端的汽车ECU功能测试中,需要通过请求端的图形程序写入ECU中标定信号EV_Current的值为2.1,以控制对应的电磁阀EV的电流为2.1安培。
首先,应答端预先将ECU的电磁阀电流信号EV_Current发送至服务器存储,然后请求端的标定模块调用服务器的标定数据库,并对标定数据库中的电磁阀电流信号自动创建映射系统变量,名为“ECU_EV_Current”。
用户在请求端编写写入标定信号EV_Current的值为2.1的图形程序,该写入动作对应的执行单元表达式为“ECU_EV_Current=2.1”。
然后用户启动测试,请求端标定模块经服务器连接应答端的ECU,但是连接失败,则请求端标定模块将映射系统变量“ECU_EV_Current”标记为无效。
当执行请求端图形程序的执行单元“ECU_EV_Current=2.1”时,请求端标定模块检测到该映射系统变量的标记为无效,放弃执行赋值操作,并在请求端标定模块消息中打印报错信息“无效映射系统变量:ECU_EV_Current”。
如图3所示,一些实施例还提供了一种服务器,执行如前所述的汽车多地协同远程标定方法;所述服务器被配置为存储标定数据库且接收并存储应答端发送的标定信号,并且还将请求端写入的目标值发送至应答端。
具体的,所述服务器包括:处理器、可读存储介质、通讯总线和通信接口;其中所述处理器、所述可读存储介质和所述通信接口通过所述通讯总线实现相互间的通信;所述可读存储介质用于存储标定数据库和应答端发送的标定信号以及执行如前所述的汽车多地协同远程标定方法的程序,所述程序使处理器执行所述的汽车多地协同远程标定方法对应的操作,以及所述处理器还用于接收应答端发送的标定信号和将请求端写入的目标值发送至应答端。
在一些实施例中,通信接口可以是RS232、RS485、USB口和TYPE口等,可以与外部总线适配器连接的通信接口。还可以包括有线或无线网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该服务器与其他计算机装置之间建立通信连接。
其中,可读存储介质或者计算机可读存储介质至少包括一种类型的存储器,存储器包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。在一些实施例中可以是计算机装置的内部存储单元,例如该计算机装置的硬盘。存储器在另一些实施例中也可以是计算机装置的外部存储设备,例如计算机装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括计算机装置的内部存储单元也包括外部存储设备。存储器不仅可以用于存储安装于计算机装置的应用软件及各类数据,例如计算机程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器中存储的程序代码或处理数据,例如执行计算机程序等。
在一些实施例中,通讯总线也可以是输入输出总线,其可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
一些实施例还提供了一种汽车多地协同远程标定过程中请求端的工作方法,包括:所述请求端从服务器调用标定信号以读取标定信号值;和/或所述请求端向服务器发送标定信号写入命令,并向服务器发送读取写入后标定信号的命令。
所述请求端对服务器的各标定信号分别创建对应的映射系统变量;对映射系统变量赋初值;以及所述请求端从服务器调用标定信号以读取标定值的方法包括:对于定义为观测量的标定信号,所述请求端中的标定模块获取服务器存储的标定信号值,并存入相应的映射系统变量;在读取该映射系统变量时,即读出映射系统变量的最后存入值。
所述请求端对服务器的各标定信号分别创建对应的映射系统变量;对映射系统变量赋初值;以及所述请求端向服务器发送标定信号写入命令并向服务器发送读取写入后标定信号的命令,包括:对于定义为标定量的标定信号,由所述请求端将赋值函数关联至一个异步函数中,其中赋值函数为待写入目标值的映射系统变量写入函数;在写入标定量时,所述异步函数向服务器发送写入命令和读取命令后立即返回,该异步函数调用完毕。
所述请求端对服务器的各标定信号分别创建对应的映射系统变量;对映射系统变量赋初值;以及所述请求端向服务器发送标定信号写入命令并向服务器发送读取写入后标定信号的命令,包括:对于定义为可写观测量的标定信号,由所述请求端将赋值函数关联至一个异步函数中,其中赋值函数为待写入目标值的映射系统变量写入函数;在写入可写观测量时,所述异步函数向服务器发送写入命令和读取命令后立即返回,该异步函数调用完毕。
所述请求端与服务器相连,即当所述服务器执行写入命令和读取命令同时成功后,所述请求端将所述映射系统变量的最后存入值刷新成待写入目标值,并将写入目标值发送至所述服务器。
在一些实施例中,所述请求端在未接收到所述服务器的标定信号的情况下,所述请求端若还写入标定信号对应的映射系统变量时,所述请求端将报错。
具体的,汽车多地协同远程标定过程中请求端的工作方法参考前述汽车多地协同远程标定方法的内容,此处不在赘述。
如图4所示,一些实施例还提供了一种请求端,所述请求端被配置为执行如前所述的汽车多地协同远程标定过程中请求端的工作方法的程序。
具体的,所述请求端包括:请求处理器、请求可读存储介质、请求通讯总线和请求通信接口;其中所述请求处理器、所述请求可读存储介质和所述请求通信接口通过所述请求通讯总线实现相互间的通信;所述请求可读存储介质用于存储执行如前所述的汽车多地协同远程标定过程中请求端的工作方法的程序,所述程序使请求处理器执行所述的汽车多地协同远程标定过程中请求端的工作方法对应的操作。
如图5所示,一些实施例还提供了一种应答端,包括:计算机装置和总线适配器;其中所述计算机装置被配置为向服务器发送标定信号;以及用于接收服务器发送的写入的目标值;所述总线适配器被配置为从ECU中读取标定信号,以及还配置为将所述目标值下发至ECU,以完成对相应车辆的在线标定。
其中,所述计算机装置包括:应答处理器、应答可读存储介质、应答通讯总线和应答通信接口;其中
所述应答可读存储介质被配置为存储执行如前所述的汽车多地协同远程标定方法的程序,所述应答处理器被配置为执行如前所述的汽车多地协同远程标定方法的程序;
所述应答处理器、所述应答可读存储介质和所述应答通信接口通过所述应答通讯总线实现与总线适配器相互间的通信;
所述总线适配器被配置从ECU中读取标定信号,以及还配置为将处理器执行所述汽车多地协同远程标定方法后生成的写入值下发至ECU。
在一些实施例中,计算机装置对应上述服务器,此处不再赘述。
在一些实施例中,总线适配器可以是CAN总线适配器、CANFD总线适配器、FastLIN总线适配器、LIN总线适配器、Ethernet总线适配器、FlexRay总线适配器,也可以是一路对多路,也可以是多路对多路,在一些实施例中不对总线适配器的具体实现做出限定。
如图6所示,一些实施例还提供了一种汽车多地协同远程标定系统,包括:
服务器,被配置为存储标定数据库且接收并存储来自应答端发送的标定信号;
请求端,被配置为执行如前所述汽车多地协同远程标定过程中请求端的工作方法的程序;
应答端,被配置为向服务器发送标定信号;以及用于接收服务器发送的写入的目标值,并对车辆完成在线标定。
其中,关于请求端、应答端、服务器的具体结构和工作方法参考前述汽车多地协同远程标定方法和汽车多地协同远程标定过程中请求端的工作方法的内容,此处不在赘述。
一些实施例还提供了一种计算机程序产品,包括计算机程序或指令,其中在计算机上执行所述计算机程序或指令时,使得计算机能够执行上述任一种可能的汽车多地协同远程标定方法或者汽车多地协同远程标定系统中请求端的工作方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
- 集群无人机协同目标定位方法、系统、协同目标定位终端
- 汽车车载毫米波雷达外部标定的标定装置、标定系统及标定方法