本申请涉及车辆控制技术领域,具体涉及一种车辆控制指令的生成方法和装置。
背景技术:
为提高车辆安全性和车辆使用体验,当前车辆中设置有大量的传感器;在车辆中的至少部分设备运行时,安装在前述设备中的传感器生成检测数据,并将检测数据发送给电子控制单元(electroniccontrolunit,ecu);电子控制单元在接收到传感器信号后,基于检测数据确定对应的控制策略;传统车辆中针对各种系统功能分别设置对应电子控制单元,电子控制单元多为处理能力相对较弱的专用芯片。
随着各种系统级应用芯片在车辆中的应用,以及软件定义车辆(softwaredefinedvehicles,sdv)概念的逐步被系统供应商和主机厂接受,基于域控制器实现车身传感器信号的集中控制和控制策略的集中制定是未来的发展趋势。
目前,在采用域控制器基于传感器生成的检测数据制定控制策略时,现有的域控制器的处理过程是:在域控制器中开设用于制定对应功能的应用程序。在域控制器接收到传感器生成的检测数据后,将检测数据分发给对应应用程序的实例(也就是应用程序进程),再由应用程序进程基于检测数据进行逻辑判断,确定用于控制执行机构动作的控制指令。
现有技术中,域控制器的数据获取模块获取检测数据后,将检测数据分发给对应的应用程序进程,由相应的应用程序进程进行逻辑判断,确定是否触发相应的执行机构动作。为了使得各个应用程序进程能够获取检测数据,数据获取模块需要与各个应用程序进程之间通过内存拷贝的方式传递检测数据;为了保证各个应用程序获取能够满足逻辑判断的检测数据,各种检测数据均拷贝给各个应用程序。每个应用程序进程在获取到检测数据后,均需要申请和占用cpu资源进行相应的逻辑判断。另外,因为各个应用程序中分别设置对应的逻辑判断代码,在外界传感器类型或者逻辑判断策略需要进行修改时,需要分别修改各个应用程度代码。
技术实现要素:
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种车辆控制指令的生成方法和装置。
本申请提供一种车辆控制指令的生成方法,包括:
获取用于表示车辆状态的检测数据;
根据所述检测数据构建逻辑判断条目;所述逻辑判断条目的构建规则,以及所述逻辑判断条目对应的处理程序预先设定;
触发与成立的所述逻辑判断条目对应的所述处理程序,以使所述处理程序生成控制执行机构的控制指令。
可选地,触发与成立的所述逻辑判断条目对应的所述处理程序,包括:
调用与成立的所述逻辑判断条目对应的回调函数,通过所述回调函数触发与成立的所述逻辑判断条目对应的所述处理程序;所述逻辑判断条目和所述回调函数的对应关系预先设定。
可选地,调用与成立的所述逻辑判断条目对应的回调函数,触发与成立的所述逻辑判断条目对应的所述处理程序包括:
判断与成立的所述逻辑判断条目对应的所述回调参数是否包括传递参数;
若包括,根据所述传递参数的类型选择对应的所述检测数据作为所述传递参数;所述传递参数的类型与所述检测数据的对应关系预先地设定;
调用与成立的所述逻辑判断条目对应的所述回调函数,触发与成立的所述逻辑判断条目对应的所述处理程序。
可选的,调用与成立的所述逻辑判断条目对应的回调函数,包括:
判断成立的所述逻辑判断条目是否具有对应的回调函数;
若是,调用与所述成立的所述逻辑判断条目对应的所述回调函数;
若否,生成与成立的所述逻辑判断条目对应的标识符,以及将所述标识符存储至共享缓存区;所述标识符和所述逻辑判断条目的对应关系预先设定。
可选地,根据所述检测数据构建逻辑判断条目,包括:
根据所述检测数据类型,查找合法数据范围;
判断所述检测数据是否落入所述合法数据范围内;
若是,根据所述检测数据构建所述逻辑判断条目。
可选地,获取用于表示车辆状态的检测数据,包括:
获取所述检测数据,并存储至检测数据缓存区;
根据所述检测数据构建逻辑判断条目,包括:
待存储至所述检测数据缓存区中的检测数据达到预设数量,和/或,经过预设时间周期后,提取所述检测数据缓存区中的检测数据,构建所述逻辑判断条目。
可选地,获取用于表示车辆状态的检测数据,包括:
获取车身传感器生成的传感器信号;
采用对应的滤波器对所述传感器信号进行滤波处理,得到所述检测数据;或者,
获取外部传感器生成的,并发送给所述车辆的所述检测数据。
另一方面,本申请提供一种车辆控制指令的生成装置,包括:
检测数据获取单元,用于获取用于表示车辆状态的检测数据;
逻辑判断条目构建单元,根据所述检测数据构建逻辑判断条目;所述逻辑判断条目的构建规则,以及所述逻辑判断条目对应的处理程序预先设定;
触发单元,用于在所述判断单元判定所述逻辑判断条目成立时,触发与成立的所述逻辑判断条目对应的所述处理程序,以使所述处理程序生成控制执行机构的控制指令。
可选地,所述触发单元通过调用与成立的所述逻辑判断条目对应的回调函数,触发与成立的所述逻辑判断条目对应的所述处理程序;
所述逻辑判断条目和所述回调函数的对应关系预先设定。
可选地,所述触发单元包括:
第一判断子单元,用于判断与成立的所述逻辑判断条目对应的所述回调参数是否包括传递参数;
传递参数确定单元,用于在所述判断子单元判定所述回调函数包括所述传递参数的情况下,根据所述传递参数的类型选择对应的所述检测数据作为所述传递参数;所述传递参数的类型与所述检测数据的对应关系预先地设定;
触发子单元,用于调用与成立的所述逻辑判断条目对应的所述回调函数,触发与成立的所述逻辑判断条目对应的所述处理程序。
可选地,所述触发单元包括:
第二判断子单元,用于判断成立的所述逻辑判断条目是否具有对应的回调函数;
所述触发子单元在所述第二判断子单元判定成立的所述逻辑判断条目有对应的回调函数的情况下,调用与所述成立的所述逻辑判断条目对应的所述回调函数,以及,
在所述第二判断子单元判定成立的所述逻辑判断条目没有对应的回调函数的情况下,生成成立的所述逻辑判断条目对应的标识符,以及将所述标识符存储至共享缓存区;所述标识符与所述逻辑判断条目对应关系预先设定。
可选地,所述检测数据获取单元将获取所述检测数据后,将所述检测数据存储值检测数据缓存区;
在存储在所述检测数据缓存区中的检测数据达到预设数量,和/或,经过预设时间周期后,所述逻辑判断条目构建单元提取所述检测数据缓存区中的检测数据,构建所述逻辑判断条目。
可选地,所述检测数据获取单元包括:
信号获取子单元,用于获取车身传感器生成的传感器信号;
滤波子单元,用于采用对应的滤波器对所述传感器信号进行滤波处理,得到所述检测数据。
本申请提供的车辆控制指令的生成方法和装置,将逻辑判断条目判断步骤从应用程序解耦,设置在专门的逻辑判断程序中,利用逻辑判断程序统一处理原本由应用程序的判断步骤、在逻辑判断程序判定某一逻辑判断条目并不成立时,其并不会触发相应的应用程序,因此相应的应用程序不会请求内存资源和/或cpu资源,使得cpu的负载和内存复制时的通信开销降低。将逻辑判断条目与应用程序解耦后,在后续需要对逻辑判断的策略或者车身传感器进行升级时,并不需要对应用程序进行升级;而在具体的应用程序升级时,也无需考虑逻辑判断的适配性问题。如此,可以实现域控制器中程序的模块化级别更高,域控制器中相应程序算法的迭代更新更为方便。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例实现车辆控制指令生成方法的车辆控制架构示意图;
图2是本申请实施例提供的车辆控制指令的生成方法流程图;
图3是本申请实施例提供的车辆控制指令的生成装置结构示意图;
图4是本申请实施例提供的车用电子设备的结构示意图;
其中:01-车身传感器,02-域控制器,03-执行机构,04-信号转发器,11-数据获取单元,12-逻辑判断条目构建单元,13-触发单元;21-处理器,22-存储器,23-通信接口,24-总线系统。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面将对本申请的方案进行进一步描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但本申请还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本申请的一部分实施例,而不是全部的实施例。
本申请实施例提供一种车辆控制指令的生成方法,用于域控制器02等采用操作系统加应用程序架构的控制器中,以减小域控制器执行过程中的资源开销。
图1是本申请实施例实现车辆控制指令生成方法的车辆控制架构示意图。如图1所示,车辆中包括车身传感器01、域控制器02和执行机构03,域控制器02根据车身传感器01生成的检测数据,制定控制对应执行机构03的控制指令,以实现车辆的控制。
本申请实施例中,车身传感器01可以是各种类型的传感器;例如车身可以是用于测量车辆动力系统状态数据的传感器,包括挡位传感器、轮速传感器、差速状态传感器、刹车制动状态传感器、扭矩输出传感器;还如,车身传感器01可以是空调系统传感器,包括:车厢湿度传感器、车辆温度传感器、压缩机转速传感器、风机挡位传感器、循环风门开度传感器、节温器工作状态传感器等;还如,车身传感器01可以是光照度传感器,包括车外光照度传感器、车内光照度传感器。各种传感器均可以生成相应的检测信号,并通过总线或者其他通信方式传输给域控制器02。
对应前述的各种类型的传感器,执行机构03可能为车辆的动力机构(包括发动机、电动机、变速箱、差速锁、行车刹车机构、驻车刹车机构)、车辆的空调执行机构03(包括制冷机构、加热器、循环风门、鼓风机、节温器)、车辆的车灯(包括示廓灯、远光灯、近光灯、车内仪控仪表的背光系统)等。
本申请实施例中,各种类型的车身传感器01和执行机构03可以采用诸如can总线、lin总线的方式与域控制器02连接。实际应用中,为减小线束长度,域控制器02和传感器和执行机构03之间可以设置信号转发器04,信号转发器04靠近车身传感器01和执行机构03侧,与各个车身传感器01和执行机构03直接连接,并与域控制器02直接连接。信号转发器04在接收到车身传感器01生成的检测信号后,转发检测信号给域控制器02;而在接收到域控制器02下发的控制指令后,将控制指令转发给对应的执行机构03。
图2是本申请实施例提供的车辆控制指令的生成方法流程图,如图2所示,本申请实施例提供的车辆控制指令的生成方法包括步骤s101-s103。
s101:获取用于表示车辆状态的检测数据。
本申请实施例中,检测数据可以是根据车身传感器形成的检测信号生成。如前所述,本申请实施例中的车身传感器为各种可能的传感器,并且车身传感器的数量为多个,多个车身传感器生成的检测信号用于生成对应的检测数据。检测数据也可以是外部传感器生成的,并发送给车辆的数据。
域控制器获取车身传感器生成的检测数据,是基于接收到的车身传感器信号,生成对应的检测数据。
本申请实施例实际应用中,获取车辆传感器生成的表示车辆状态的检测数据,可以是基于接收车身传感器生成的检测数据、已经根据原始信号处理得到的检测数据(例如车厢内的空气温度数据、空气湿度数据),也可以接收车身传感器生成的检测信号,再基于检测信号进行相应的处理而得到检测数据。
在一个应用中,域控制器可以接收到车身传感器生成的检测信号后,采用滤波器对检测信号进行滤波处理,再得到相应的检测数据。例如,在检测数据为车辆的行驶速度时,域控制器可以接收到的检测信号包括轮速传感器生成的车轮转速,以及车辆位置传感器生成的车辆位置数据。随后滤波器可以对车轮轮速和车辆位置数据进行相应的融合处理,得到用于表示车辆实际速度的检测数据。实际应用中,用于处理传感器生成的检测信号而生成检测数据的滤波器可以是诸如卡尔曼滤波器、最小二乘法滤波器或者粒子滤波器。
本申请实施例中,各种车身传感器按照自己设定的采样频率进行采样,并发送给域控制器,使得域控制器生成检测数据。各种各样的车身传感器的采样频率可能并不相同,并且并不能保证域控制器在相同的时刻获取到各种车身传感器生成的检测信号。
为了能够获取多个车身传感器生成的检测数据,并使得后续使用多个车身传感器生成的检测数据进行逻辑判断,本申请实施例中,域控制器中设置有一检测数据缓存区,检测数据缓存区是专门用于存储检测数据的缓存区。域控制器在接收检测信号并处理得到检测数据后,将检测数据暂存至检测数据缓存区中。例如,域控制器可以在接收到can总线传输的检测数据后,将检测数据存储在检测数据缓冲区;直至检测数据缓冲区的检测数据达到设定量,或者经过设定周期后执行后续的步骤。
应当注意的是,本申请实施例中,检测数据的类型可能是多种,还可以是一种。例如,检测数据可以是车辆速度数据、车辆挡位数据等。
s102:根据检测数据构建逻辑判断条目。
本申请实施例中,逻辑判断条目均是用于对根据对车辆的状态进行综合性判定,继而用于确定对应的车辆控制策略的表达式。逻辑判断条目的语法规则事先地确定;各个逻辑判断条目对应的处理程序也预先设定。
根据检测数据构建逻辑判断条目,是根据各个逻辑判断条目的构建规则,填写相应的检测数据至预先存储的语法规则中,得到对应的逻辑判断条目。
本申请实施例中,逻辑判断条目可以为逻辑表达式,其中逻辑表达式都是由最小的运算单元或者最小运算单元组合构成,其中最小的运算单元可以采用如下的语法规则“左值\运算符\右值”,其中的预算符可能为如下中的一种:>(大于号)、<(小于号)、==(等于号)、&&(与符号)、||(或符号)。
例如,在一个应用中,制定的控制策略是在车辆挡位是倒挡,并且车速大于0而小于某一阈值时,确定是在倒车,并在此情况下打开车辆的环视摄像头或者后视摄像头。相应的,最小运算单元可以为挡位==r、车速>0和车速<阈值,对应的构建规则为(挡位==r)&&(车速>0)&&(车速<阈值)。此时将挡位检测数据、车速检测数据添加到构建规则中,即可以形成逻辑判断条目。
s103:触发与成立的逻辑判断条目对应的处理程序,以使处理程序生成控制执行机构的控制指令。
判断逻辑判断条目是否成立,是判断前述的逻辑判断条目是真还是假,如果逻辑判断条目为真,则相应的逻辑判断条目成立。
以前文提及的针对倒车的逻辑判断条目为例:假设现在挡位为d或者p挡位,或者车速为0,则确定此逻辑判断条目不成立,假设现在挡位为p挡位并且车速处在0和阈值之间,则逻辑判断条目成立。
本申请实施例中,逻辑判断条目与处理程序的对应关系预先设定。处理程序是根据车辆控制逻辑,具体执行特定控制策略的处理程序。
例如,在前述的倒车的控制策略中,处理程序是开启环视摄像头或者后视摄像头,并将环视摄像头和后视摄像头拍摄的图像呈现在中控显示器上的处理程序,其与(挡位==r)&&(车速>0)&&(车速<阈值)对应。在前述的逻辑判断条目成立的情况下,则可以确定车辆处在倒车状态,因此可以触发对应的处理程序开启,使得环视摄像头或者后视摄像头拍摄的图像呈现在中控显示器上。
应当注意的是,步骤s103中,触发与逻辑判断条目对应的处理程序,可能有如下的几种情况:(1)相应的处理程序可能并没有开启,触发相应的处理程序为:使得相应处理程序程序代码被实例化为一进程,并写入域控制器内存中,使得进程请求cpu资源执行相应的操作;(2)相应的处理程序已经开启,并被加载到域控制器的内存中,则可以直接触发相应的处理程序进程请求cpu资源执行相应的操作。
本申请实施例提供的车辆控制指令的生成方法,步骤s102中生成逻辑判断条目和s103中判断逻辑判断条目是否成立的步骤独立于相应的处理程序,也就是相应的逻辑判断和处理程序是解耦合的。
本申请实施例中,域控制器中设置有多个处理程序,对应各个处理程序的逻辑判断条目可以被设置在一个始终开启的逻辑判断程序中,利用逻辑判断程序统一处理原本由各个处理程序的判断步骤。在逻辑判断程序判定某一逻辑判断条目并不成立时,其并不会触发相应的处理程序,因此相应的处理程序不会请求内存资源和/或cpu资源,使得cpu的负载可以降低。
本申请实施例中,域控制器无需如现有技术将检测数据通过内存拷贝的方式复制给各个处理程序,也就可以降低内存复制时通信的开销。
此外,本申请实施例中,域控制器将逻辑判断条目构建和判断步骤独立于处理程序,在后续需要对逻辑判断的策略或者车身传感器进行升级时,并不需要对处理程序进行升级;而在各个具体的处理程序升级时,也无需考虑逻辑判断的适配性问题。如此,可以实现域控制器中程序的模块化级别更高,域控制器中相应程序算法的迭代更新更为方便。
本申请实施例中,在步骤s103中,触发与成立的逻辑判断条目对应的处理程序可以为:通过调用与成立的逻辑判断条目对应的回调函数,触发与成立的逻辑判断条目对应的处理程序。
回调函数是通过函数指针方式调用的函数。本申请实施具体应用中,可以将回调函数注册在域控制器的逻辑判断条目中,建立其与逻辑判断条目的对应关系;在逻辑判断条目成立时,可以直接调用此回调函数而触发对应的处理程序开启。
例如,针对前述的(挡位==r)&&(车速>0)&&(车速<阈值),制定的回调函数可以为“打开环视摄像头”这一伪代码表征的回调函数,以实现启动环视摄像头的程序。
本申请实施例具体应用中,处理程序可能还需要利用检测数据作为生成具体控制策略的依据。例如,在需要基于车速数据确定制动机构的制动施加量时,需要将车速数据传输给制动机构施加量计算程序。为了能够实现检测数据的传输,本申请实施例中,调用与成立的逻辑判断条目对应的回调函数,触发与成立的逻辑判断条目对应的处理程序包括步骤s1031-s1033。
s1031:判断与成立的逻辑判断条目对应的回调函数是否包括传递参数;若是,执行步骤s1032。
s1032:根据传递参数的类型选择对应的检测数据作为传递参数。
本申请实施例中,各个传递函数类型与检测数据的对应关系预先设定。
s1033:调用与成立的逻辑判断条目对应的回调函数,触发与成立的逻辑判断条目对应的处理程序
本申请实施例中,在回调函数包括用于传递特定检测数据的传递参数时,可以将特定的检测数据作为回调函数的传递参数,采用回调函数传递特定的检测数据。当然,本申请实施例具体应用中,也可以将所有的检测数据均作为回调函数的传递参数,发送给需要被触发的处理程序实例进程。
实际应用中,某些逻辑判断条目可能对应多个处理程序,或者某些处理程序会周期性地启动而执行相应的动作,在此类情况下,采用回调函数反而会造成系统的开销过大。为了解决这一问题,在本申请实施例的一个应用中,在判断逻辑判断条目成立后,还可以生成一对应的标识符,并将标识符存储在共享缓存区中,由多个启动的处理程序实例主动地查找共享缓存区中的数据,而确定是否执行响应的操作。
为了实现前述两种触发处理程序方式的兼容,本申请实施例中,触发与逻辑判断条目对应的处理程序包括步骤s1041-s1043。
s1041:判断成立的逻辑判断条目是否有对应的回调函数;若是,执行s1042;若否,执行s1043。
s1042:调用与成立的逻辑判断条目的回调函数。
此时,采用回调函数的方法触发与逻辑判断条目对应的处理程序。
s1043:生成逻辑判断条目对应的标识符,将标识符存储在共享缓存区。
在本申请实施例中,在判断逻辑判断条目成立后,查找是否有回调函数,如果有回调函数,使用回调函数触发处理程序;如果没有对应的回调函数,则直接将对应的标识符存储在共享缓存区。也就是说,采用回调函数的方式是主动地触发处理程序,采用将标识符存储到共享缓存区是被动触发处理程序。
本申请实施例中,在步骤s102中构建逻辑判断条目时,可以包括步骤s1021-s1023。
s1021:根据检测数据的类型,查找合法数据范围。
s1022:判断检测数据是否落入到合法数据范围内;若是,执行s1023。
s1023:根据检测数据构建逻辑判断条目。
在执行前述步骤s1021-s1023后,仅在检测数据落入到合法数据范围内才构建逻辑判断条目,继而在执行后续步骤s103中相关判断步骤,以避免利用非法数据构建逻辑判断条目而造成步骤s103中的判断逻辑问题。
本申请实施例还提供一种车辆控制指令的生成装置。图3是本申请实施例提供的车辆控制指令的生成装置结构示意图,如图3所示,车辆控制执行的生成装置包括检测数据获取单元11、逻辑判断条目构建单元12和触发单元13。
检测数据获取单元11用于获取用于表示车辆状态的检测数据。
本申请实施例中,检测数据是根据车身传感器形成的检测信号生成。如前所述,本申请实施例中的车身传感器为各种可能的传感器,并且车身传感器的数量为多个,多个车身传感器生成的检测信号用于生成对应的检测数据。
检测数据获取单元11获取车身传感器生成的检测数据,是基于接收到的车身传感器信号,生成对应的检测数据,或者接收外部传感器生成的并发送给车辆的数据
本申请实施例实际应用中,获取表示车辆状态的检测数据,可以是接收车身传感器生成已经根据原始信号处理得到的检测数据(例如车厢内的空气温度数据、空气湿度数据),也可以接收车身传感器生成的检测信号,再基于检测信号进行相应的处理而得到检测数据。
在本申请实施例一个应用中,检测数据获取单元11可以包括信号获取子单元和滤波子单元;信号获取子单元用于获取车身传感器生成的传感器信号;滤波子单元用于采用对应的滤波器对传感器信号进行滤波处理,得到检测数据。
例如,在检测数据为车辆的行驶速度时,域控制器可以接收到的相应的检测信号包括轮速传感器生成的车轮转速,以及车辆位置传感器生成的车辆位置数据,随后滤波器可以对车轮轮速和车辆位置数据进行相应的融合处理,得到用于表示车辆实际速度的检测数据。实际应用中,用于处理传感器生成的检测信号而生成检测数据的滤波器可以是诸如卡尔曼滤波器、最小二乘法滤波器或者粒子滤波器。
本申请实施例中,各种车身传感器按照自己设定的采样频率进行采样,并发送给域控制器,使得域控制器生成检测数据。各种各样的车身传感器的采样频率可能并不相同,并且并不能保证域控制器在相同的时刻获取到各种车身传感器生成的检测信号。
为了能够获取多个车身传感器生成的检测数据,并使得后续使得使用多个车身传感器生成的检测数据进行逻辑判断,本申请实施例中,域控制器中设置有一检测数据缓存区,检测数据缓存区是专门用于存储检测数据的缓存区。检测数据获取单元11在接收检测信号并处理得到检测数据后,将检测数据暂存至检测数据缓存区中。
逻辑判断条目构建单元12用于根据检测数据构建逻辑判断条目;逻辑判断条目的构建规则,以及逻辑判断条目对应的处理程序预先设定。
本申请实施例中,逻辑判断条目是用于对根据对车辆的状态进行综合性判定,继而用于确定对应的车辆控制策略的表达式。逻辑判断条目的构建规则事先地确定;根据检测数据构建逻辑判断条目,是将对应类型的检测数据填入到某一构建规则中,继而得到对应的逻辑判断条目。
本申请实施例中,逻辑判断条目都是由最小的运算单元或者最小运算单元组合构成,其中最小的运算单元可以采用如下的语法规则“左值\运算符\右值”,其中的运算符可能为如下中的一种:>(大于号)、<(小于号)、==(等于号)、&&(与符号)、||(或符号)。
例如,在一个应用中,制定的控制策略是在车辆挡位是倒挡,并且车速大于0而小于某一阈值时,确定是在倒车,并在此情况下打开车辆的环视摄像头或者后视摄像头。相应的,最小运算可单元可以为挡位==r、车速>0和车速<阈值,对应的构建的逻辑判断条目为(挡位==r)&&(车速>0)&&(车速<阈值)。
触发单元13用于触发与成立的逻辑判断条目对应的处理程序,以使处理程序生成控制执行机构的控制指令。
判断逻辑判断条目是否成立,是基于前述的逻辑判断条目,按照相应的语法符号判定逻辑条目是真还是假,如果逻辑条目是真,则相应的逻辑判断条目成立。
以前文提及的针对倒车的逻辑判断条目为例:假设现在挡位为d或者p挡位,或者车速为0,则确定此逻辑判断条目不成立,假设现在挡位为p挡位并且车速处在0和阈值之间,则逻辑判断条目成立。
本申请实施例中,逻辑判断条目与处理程序的对应关系已知,处理程序是具体执行指定控制策略的处理程序。
例如,在前述的倒车的控制策略中,处理程序是开启环视摄像头或者后视摄像头,并将环视摄像头和后视摄像头拍摄的图像呈现在中控显示器上的处理程序,其与(挡位==r)&&(车速>0)&&(车速<阈值)对应。
在逻辑判断条目构建单元12判断逻辑判断条目成立的情况下,则可以确定车辆处在倒车状态,因此可以触发对应的处理程序开启,使得环视摄像头或者后视摄像头拍摄的图像呈现在中控显示器上。
应当注意的是,触发与逻辑判断条目对应的处理程序,可能有如下的几种情况:(1)相应的处理程序可能并没有开启,触发相应的处理程序即是使得相应处理程序的程序代码被实例化一进程并写入域控制器内存中,并使得进程请求cpu资源执行相应的操作;(2)相应的处理程序已经开启,并被加载到域控制器的内存中,则可以直接触发相应的处理程序进程请求cpu资源执行相应的操作。
本申请实施例提供的车辆控制指令的装置中,逻辑判断条目构建单元12中生成触发单元13判断逻辑判断条目是否成立的步骤独立于相应的处理程序,也就是相应的逻辑判断和处理程序是解耦合的。
本申请实施例中可以有多个处理程序,对应各个处理程序的逻辑判断条目可以被设置在一个始终开启的逻辑判断程序中,利用逻辑判断程序统一处理原本由各个处理程序的判断步骤。在逻辑判断程序判定某一逻辑判断条目并不成立时,其并不会触发相应的处理程序,因此相应的处理程序不会请求内存资源和/或cpu资源,使得cpu的负载可以降低。
采用本申请实施例提供的车辆控制指令的生成装置,无需如现有技术将检测数据通过内存拷贝的方式复制给各个处理程序,也就可以降低内存复制时通信的开销。
此外,本申请实施例中,车辆控制指令的生成装置将逻辑判断条目独立于处理程序,在后续需要对逻辑判断的策略或者车身传感器进行升级时,并不需要对处理程序进行升级;而在各个具体的处理程序升级时,也无需考虑逻辑判断的适配性问题。如此,可以实现域控制器中程序的模块化级别更高,域控制器中相应程序算法的迭代更新更为方便。
本申请实施例中,触发单元13触发与逻辑判断条目对应的处理程序可以为:通过调用与成立的逻辑判断条目对应的回调函数,触发与成立的逻辑判断条目对应的处理程序。
回调函数是通过函数指针方式调用的函数。本申请实施具体应用中,可以将回调函数注册在域控制器的逻辑判断条目中,建立其与逻辑判断条目的对应关系;在逻辑判断条目成立时,可以直接调用对应回调函数而触发对应的处理程序开启。
例如,针对前述的(挡位==r)&&(车速>0)&&(车速<阈值),制定的回调函数可以为“打开环视摄像头”这一伪代码表征的回调函数,以实现启动环视摄像头的程序。
本申请实施例具体应用中,在需要采用回调函数触发与逻辑判断条目对应的处理程序时,处理程序可能还需要利用检测数据作为生成具体控制策略的依据。
例如,在需要基于车速数据确定制动机构的制动施加量时,需要将车速数据传输给制动机构施加量计算程序。为了能够实现检测数据的传输,本申请实施例中,触发单元13包括第一判断子单元、传递参数确定单元和触发子单元。
第一判断子单元,用于判断与成立的逻辑判断条目对应的回调参数是否包括传递参数;
传递参数确定单元,用于在判断子单元判定回调函数包括传递参数的情况下,根据传递参数的类型选择对应的检测数据作为传递参数;各个传递参数的类型与检测数据的对应关系预先地设定;
触发子单元,用于调用与成立的逻辑判断条目对应的回调函数,触发与成立的逻辑判断条目对应的处理程序。
实际应用中,某些逻辑判断条目可能对应多个处理程序,或者某些处理程序会周期性地启动而执行相应的动作,在此类情况下,采用回调函数反而会造成系统的开销过大。为了解决这一问题,在本申请实施例的一个应用中,触发单元13还可以包括第二判断子单元。
第二判断子单元用于判定成立的逻辑判断条目是否具有对应的回调函数。
触发子单元在第二判断子单元判定成立的逻辑判断条目有对应的回调函数的情况下,调用与成立的逻辑判断条目对应的回调函数,以及,在第二判断子单元判定成立的逻辑判断条目没有对应的回调函数的情况下,生成成立的逻辑判断条目对应的标识符,以及将标识符存储至共享缓存区;标识符与逻辑判断条目对应关系预先设定。
在本申请实施例中,在判断逻辑判断条目成立后,触发单元13查找是否有回调函数,如果有使用回调函数触发处理程序,如果没有则直接将对应的标识符存储在共享缓存区。也就是说,采用回调函数的方式是主动地触发处理程序,采用将标识符存储到共享缓存区被动触发处理程序。
本申请实施例中,逻辑判断条目构建单元12构建逻辑判断条目时,可以包括如下步骤:根据检测数据的类型,查找合法数据范围。判断检测数据是否落入到合法数据范围内;若是,则根据检测数据构建逻辑判断条目。
也就是说,逻辑判断条目构建单元12仅在检测数据落入到合法数据范围内才构建逻辑判断条目,继而再执行相关判断步骤,以避免利用非法数据构建逻辑判断条目而造成判断逻辑失效的问题。
除了提供前述的车辆控制指令的生成方法外,本申请实施例还提供一种车用电子设备。图4是本申请实施例提供的车用电子设备的结构示意图。
如图4所示,车用电子设备包括至少一个处理器21、至少一个存储器22、至少一个通信接口23和总线系统24,处理器21、存储器22和通信接口23通过总线系统24耦合在一起,通信接口23用于实现电子设备内各个组件与外部设备之间的信息传输。
本申请实施例中的存储器22可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。在一些实施方式中,存储器22存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序。
其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础任务以及处理基于硬件的任务。应用程序,包含各种应用程序,例如媒体播放器(mediaplayer)、浏览器(browser)等,用于实现各种应用任务。实现本申请实施例提供的车辆控制指令的生成方法的程序可以包含在应用程序中。
在本申请实施例中,处理器21通过调用存储器22存储的程序或指令,具体的,可以是应用程序中存储的程序或指令,处理器21用于执行本申请实施例提供的车辆控制指令的生成方法各实施例的步骤。
本申请实施例提供的车辆控制指令的生成方法可以应用于处理器21中,或者由处理器21实现。处理器21可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器21中的硬件的集成逻辑电路或者软件形式的指令完成。
上述的处理器21可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请实施例提供的车辆控制指令的生成方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器22,处理器21读取存储器22中的信息,结合其硬件完成方法的步骤。
本申请实施例中,总线系统24除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但为了清楚说明起见,在图3中将各种总线都标为总线系统24。
本申请实施例还提出一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储程序或指令,程序或指令使计算机执行如车辆控制指令的生成方法各实施例的步骤,为避免重复描述,在此不再赘述。
此外,本申请还提供一种车辆,车辆包括各种传感器、域控制器和执行机构。域控制器用于根据各种传感器生成的检测信号,执行如前文提供的车辆控制指令的生成方法的步骤,以生成控制执行机构动作的控制指令,使得执行机构按照控制指令动作。
本申请实施例中,车身传感器可以是各种类型的传感器;例如车身可以是用于测量车辆动力系统状态数据的传感器,包括挡位传感器、轮速传感器、差速状态传感器、刹车制动状态传感器、扭矩输出传感器;还如,车身传感器可以是空调系统传感器,包括:车厢系统传感器、车辆温度传感器、压缩机转速传感器、风机挡位传感器、循环风门开度传感器、节温器工作状态传感器等;还如,车身传感器可以是光照度传感器,包括车外光照度传感器、车内光照度传感器。各种传感器均可以生成相应的检测信号,并通过总线或者其他通信方式传输给域控制器。
对应前述的各种类型的车身传感器,执行机构可能为车辆的动力系统(包括发动机、电动机、变速箱、差速锁、行车刹车机构、驻车刹车机构)、车辆的空调执行机构(包括制冷机构、加热器、循环风门、鼓风机、节温器)、车辆的灯光系统(包括示廓灯、远光灯、近光灯、车内仪控仪表的背光系统)等。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
1.一种车辆控制指令的生成方法,其特征在于,包括:
获取用于表示车辆状态的检测数据;
根据所述检测数据构建逻辑判断条目;所述逻辑判断条目的构建规则,以及所述逻辑判断条目对应的处理程序预先设定;
触发与成立的所述逻辑判断条目对应的所述处理程序,以使所述处理程序生成控制执行机构的控制指令。
2.根据权利要求1所述车辆控制指令的生成方法,其特征在于,触发与成立的所述逻辑判断条目对应的所述处理程序,包括:
调用与成立的所述逻辑判断条目对应的回调函数,触发与成立的所述逻辑判断条目对应的所述处理程序;
所述逻辑判断条目和所述回调函数的对应关系预先设定。
3.根据权利要求2所述车辆控制指令的生成方法,其特征在于,调用与成立的所述逻辑判断条目对应的回调函数,触发与成立的所述逻辑判断条目对应的所述处理程序包括:
判断与成立的所述逻辑判断条目对应的所述回调函数是否包括传递参数;
若是,根据所述传递参数的类型选择对应的所述检测数据作为所述传递参数;所述传递参数类型与所述检测数据的对应关系预先设定;
调用与成立的所述逻辑判断条目对应的所述回调函数,触发与成立的所述逻辑判断条目对应的所述处理程序。
4.根据权利要求2所述车辆控制指令的生成方法,其特征在于,调用与成立的所述逻辑判断条目对应的回调函数,包括:
判断成立的所述逻辑判断条目是否具有对应的回调函数;
若是,调用与所述成立的所述逻辑判断条目对应的所述回调函数;
若否,生成与成立的所述逻辑判断条目对应的标识符,以及将所述标识符存储至共享缓存区;所述标识符和所述逻辑判断条目的对应关系预先设定。
5.根据权利要求1-4任一项所述车辆控制指令的生成方法,其特征在于,根据所述检测数据构建逻辑判断条目,包括:
根据所述检测数据类型,查找合法数据范围;
判断所述检测数据是否落入所述合法数据范围内;
若是,根据所述检测数据构建所述逻辑判断条目。
6.根据权利要求1-4任一项所述车辆控制指令的生成方法,其特征在于,
获取用于表示车辆状态的检测数据,包括:获取所述检测数据,并存储至检测数据缓存区;
根据所述检测数据构建逻辑判断条目,包括:
待存储至所述检测数据缓存区中的检测数据达到预设数量,和/或,经过预设时间周期后,提取所述检测数据缓存区中的检测数据,构建所述逻辑判断条目。
7.根据权利要求1-4任一项所述车辆控制指令的生成方法,其特征在于,获取用于表示车辆状态的检测数据,包括:
获取车身传感器生成的传感器信号;
采用对应的滤波器对所述传感器信号进行滤波处理,得到所述检测数据;或者,
接收外部传感器生成的并发送给所述车辆的检测数据。
8.一种车辆控制指令的生成装置,其特征在于,包括:
检测数据获取单元,用于获取表示车辆状态的检测数据;
逻辑判断条目构建单元,用于根据所述检测数据构建逻辑判断条目;所述逻辑判断条目的构建规则,以及所述逻辑判断条目对应的处理程序预先设定;
触发单元,触发与成立的所述逻辑判断条目对应的所述处理程序,以使所述处理程序生成控制执行机构的控制指令。
9.根据权利要求8所述车辆控制指令的生成装置,其特征在于:
所述触发单元通过调用与成立的所述逻辑判断条目对应的回调函数,触发与成立的所述逻辑判断条目对应的所述处理程序;
所述逻辑判断条目和所述回调函数的对应关系预先设定。
10.根据权利要求9所述车辆控制指令的生成装置,其特征在于,所述触发单元包括:
第一判断子单元,用于判断与成立的所述逻辑判断条目对应的所述回调参数是否包括传递参数;
传递参数确定单元,用于在所述判断子单元判定所述回调函数包括所述传递参数的情况下,根据所述传递参数的类型选择对应的所述检测数据作为所述传递参数;所述传递参数的类型与所述检测数据的对应关系预先地设定;
触发子单元,用于调用与成立的所述逻辑判断条目对应的所述回调函数,触发与成立的所述逻辑判断条目对应的所述处理程序。
11.根据权利要求9所述车辆控制指令的生成装置,其特征在于,所述触发单元包括:
第二判断子单元,用于判断成立的所述逻辑判断条目是否具有对应的回调函数;
所述触发子单元在所述第二判断子单元判定成立的所述逻辑判断条目有对应的回调函数的情况下,调用与所述成立的所述逻辑判断条目对应的所述回调函数,以及,
在所述第二判断子单元判定成立的所述逻辑判断条目没有对应的回调函数的情况下,生成成立的所述逻辑判断条目对应的标识符,以及将所述标识符存储至共享缓存区;所述标识符与所述逻辑判断条目对应关系预先设定。
12.根据权利要求8-11任一项所述车辆控制指令的生成装置,其特征在于,
所述检测数据获取单元将获取所述检测数据后,将所述检测数据存储至检测数据缓存区;
在存储在所述检测数据缓存区中的检测数据达到预设数量,和/或,经过预设时间周期后,所述逻辑判断条目构建单元提取所述检测数据缓存区中的检测数据,构建所述逻辑判断条目。
13.根据权利要求8-11任一项所述车辆控制指令的生成装置,其特征在于,所述检测数据获取单元包括:
信号获取子单元,用于获取车身传感器生成的传感器信号;
滤波子单元,用于采用对应的滤波器对所述传感器信号进行滤波处理,得到所述检测数据。
14.一种车用电子设备,其特征在于,包括处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至7任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至7任一项所述方法的步骤。
技术总结