用于智能驾驶辅助系统控制算法的快速原型开发验证系统及方法与流程

文档序号:16665834发布日期:2019-01-18 23:15阅读:248来源:国知局
用于智能驾驶辅助系统控制算法的快速原型开发验证系统及方法与流程

本发明涉及车辆控制领域,更具体地涉及用于智能驾驶辅助系统控制算法的快速原型开发验证系统及方法。



背景技术:

车载控制器的开发通常分为硬件开发、底层驱动软件开发、应用层控制算法开发。其中硬件为功能实现的载体,底层驱动软件为媒介,最终使得应用层控制算法能够实现对车辆中的各个执行器的控制。由于车载控制器硬件开发周期较长,所以,为了缩短整个车载控制器的开发周期并且降低项目风险,在硬件开发时期,往往会使用快速原型环境来验证应用层控制算法。

随着近两年智能驾驶辅助系统(advanceddrivingassistantsystem,以下简称adas)的普及,各大厂商都在开发adas专用控制器,相应地,用于在项目前期验证其中运行的控制算法的快速原型环境的需求也越来越多。

由于adas控制器需要连接诸如摄像头、毫米波雷达、激光雷达、超声波雷达、惯导之类的多个传感器,并且每个传感器都会有大量数据与adas控制器进行交互,而且会涉及到can、以太网等多种通讯网络,所以,adas控制算法具有大运算量、多个通讯网络的同时交互、大量通讯数据的处理、较少执行器的交互等特点,这样一来,对硬件要求非常高,往往需要使用多个快速原型硬件才能支撑算法验证,不仅使得这种验证方式成本昂贵,而且会难以在车内安装布线。

如果将普遍用于验证汽车电子控制算法的原型开发硬件应用于adas控制算法的验证,那么存在以下几个问题:1.该类原型开发硬件能支持的通讯网络非常单一,其仅能支持can、k线等传统车辆通讯网络而无法支持以太网;2.该类原型开发硬件的通讯网络通道数量少,支持不了如此庞大的数据交互;3.该类原型开发硬件是利用单片机来处理数据,其处理能力较弱,无法应对adas控制算法中的大量的浮点计算。以上3点决定了该类原型开发硬件不适合adas控制算法。

另一方面,如果采用专门用于验证adas控制算法的原型开发硬件,那么存在价格昂贵的问题,其高额的成本决定了无法在多辆样车上安装验证adas算法。

另外,也有开发人员在工控机上进行adas控制算法的开发和验证,但是由于没有很好的工具支持,基本上是采用编写手工代码的方式来进行验证工作,这种方式不仅不符合国内控制算法工程师的开发习惯,而且验证完的控制算法也很难直接应用于将来的量产嵌入式产品。



技术实现要素:

本发明是为了克服上述缺点或其它缺点而完成的,所采用的技术方案如下。

本发明提供一种用于智能驾驶辅助系统控制算法的快速原型开发验证系统,包括:工控机,在所述工控机上配置有集成工具链组件,并且所述工控机被配置成利用所述集成工具链组件来构建用于验证所述智能驾驶辅助系统控制算法的原型环境;以及至少一个数据交互设备,其以可装卸的方式设置于所述工控机,并且被配置成通过被所述工控机驱动来按照特定的传输协议向所述工控机提供与验证所述智能驾驶辅助系统控制算法相关的数据,以及将来自所述工控机的所述智能驾驶辅助系统控制算法执行的结果输出至外部,其中,所述集成工具链组件包括:算法建模组件,其被配置成根据由所述工控机的操作系统分配的智能驾驶辅助系统控制任务和所述工控机与所述至少一个数据交互设备之间的数据交互方式来搭建相应的控制算法模型;模型转换组件,其被配置成将所述控制算法模型转换为可执行文件;以及算法执行组件,其被配置成使用从所述至少一个数据交互设备向所述工控机交互的数据来运行所述可执行文件以及输出运行结果。

进一步地,在根据本发明的快速原型开发验证系统中,所述算法建模组件包括:控制任务接收单元,其被配置成从所述工控机的操作系统接收被分配的智能驾驶辅助系统控制任务;交互方式确定单元,其被配置成确定所述工控机与所述至少一个数据交互设备之间的与所述特定的传输协议对应的数据交互方式;模型接口定义单元,其被配置成根据所述数据交互方式来定义所述工控机的输入输出数据与所述控制算法模型的输入输出数据之间的转换方法以及所述控制算法模型的输入输出数据的格式;以及算法模型创建单元,其被配置成基于所述智能驾驶辅助系统控制任务并且按照所述控制算法模型的输入输出数据的格式来创建所述控制算法模型。

进一步地,在根据本发明的快速原型开发验证系统中,所述模型转换组件包括:第一转换单元,其被配置成将所述控制算法模型转换成预定格式的代码;以及第二转换单元,其被配置成将所述预定格式的代码转换成可执行文件。

进一步地,在根据本发明的快速原型开发验证系统中,所述第一转换单元还被配置成生成用于对标定变量信息进行标定的标定文件原型。

进一步地,在根据本发明的快速原型开发验证系统中,所述工控机包括:标定文件更新单元,其被配置成对所述标定文件原型进行更新。

本发明提供一种用于智能驾驶辅助系统控制算法的快速原型开发验证方法,包括:步骤a,根据由工控机的操作系统分配的智能驾驶辅助系统控制任务和所述工控机与以可装卸的方式设置于所述工控机的至少一个数据交互设备之间的数据交互方式来搭建相应的控制算法模型;步骤b,将所述控制算法模型转换为可执行文件;以及步骤c,使用从所述至少一个数据交互设备向所述工控机交互的数据来运行所述可执行文件并输出运行结果。

进一步地,在根据本发明的快速原型开发验证方法中,所述步骤a包括:控制任务接收步骤,从所述工控机的操作系统接收被分配的智能驾驶辅助系统控制任务;交互方式确定步骤,确定所述工控机与所述至少一个数据交互设备之间的数据交互方式;模型接口定义步骤,根据所述数据交互方式来定义所述工控机的输入输出数据与所述控制算法模型的输入输出数据之间的转换方法以及所述控制算法模型的输入输出数据的格式;以及算法模型创建步骤,基于所述智能驾驶辅助系统控制任务并且按照所述控制算法模型的输入输出数据的格式来创建所述控制算法模型。

进一步地,在根据本发明的快速原型开发验证方法中,所述步骤b包括:第一转换步骤,其被配置成将所述控制算法模型转换成预定格式的代码;以及第二转换步骤,其被配置成将所述预定格式的代码转换成可执行文件。

进一步地,在根据本发明的快速原型开发验证方法中,在所述第一转换步骤中还生成用于对标定变量信息进行标定的标定文件原型。

进一步地,在根据本发明的快速原型开发验证方法中,还包括:标定文件更新步骤,对所述标定文件原型进行更新。

相对于现有技术,本发明的有益效果如下:

1)通过利用工控机和以可装卸的方式设置于所述工控机的诸如可扩展板卡之类的至少一个数据交互设备来构建用于智能驾驶辅助系统控制算法的原型开发验证系统,从而使得通讯网络资源不受限制,能够快速且低成本地增加can、以太网等网络通道;

2)通过在前期使用诸如simulink组件、dspace组件、targetlink组件之类的控制算法模型向可执行文件的转换组件来进行应用层控制算法的开发,不仅符合国内控制算法工程师的开发习惯,也能保持前期原型验证到后期量产产品的开发环境一致性;

3)通过集成工具链,从而减少手工代码,通过自动化方式降低整个集成过程的操作难度,降低了对开发工程师的要求,提高了整个算法开发测试效率。

附图说明

图1是根据本发明的一实施方式的用于智能驾驶辅助系统控制算法的原型开发验证系统的框图;

图2是图1所示的原型开发验证系统所包括的集成工具链组件中的算法建模组件的结构框图;

图3是图1所示的原型开发验证系统所包括的集成工具链组件中的模型转换组件的结构框图;

图4是根据本发明的一实施方式的用于智能驾驶辅助系统控制算法的原型开发验证方法的流程图;

图5是图4所示的原型开发验证方法中的步骤a的流程图;以及

图6是图4所示的原型开发验证方法中的步骤b的流程图。

具体实施方式

以下将结合附图对本发明涉及的用于智能驾驶辅助系统控制算法的原型开发验证系统及方法作进一步的详细描述。需要注意的是,以下的具体实施方式是示例性而非限制的,其旨在提供对本发明的基本了解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。

图1是根据本发明的一实施方式的用于智能驾驶辅助系统控制算法的原型开发验证系统的框图。以原型开发验证系统100为例进行说明,其主要地包括工控机101和数据交互设备102。

工控机101在其中配置有集成工具链组件1000。该工控机101利用该集成工具链组件1000来构建用于验证智能驾驶辅助系统控制算法的原型环境。

数据交互设备102可以以可装卸的方式设置于工控机101。尽管在图1中示出了原型开发验证系统100包括仅一个数据交互设备102,但是本领域技术人员应当意识到,原型开发验证系统100中所包括的数据交互设备102的数目不限于此,也可以是两个或两个以上。

在图1所示的原型开发验证系统100中,数据交互设备102通过被工控机101驱动来按照特定的传输协议向工控机101提供与验证智能驾驶辅助系统控制算法相关的数据,工控机101在运行该智能驾驶辅助系统控制算法之后经由数据交互设备102向外部(诸如,各个外部执行器)输出该智能驾驶辅助系统控制算法执行的结果。在一个实施例中,数据交互设备102可以是一种可扩展板卡,诸如can卡或者以太网卡等,相应地,特定的传输协议可以是can协议或者以太网协议等。

进一步地,如图1所示,集成工具链组件1000包括:算法建模组件1001、模型转换组件1002、以及算法执行组件1003。

算法建模组件1001根据由工控机101的操作系统分配的智能驾驶辅助系统控制任务和工控机101与数据交互设备102之间的数据交互方式来搭建相应的控制算法模型。

具体地,如图2所示,算法建模组件1001包括:控制任务接收单元1001a、交互方式确定单元1001b、模型接口定义单元1001c以及算法模型创建单元1001d。

控制任务接收单元1001a从工控机101的操作系统接收被分配的智能驾驶辅助系统控制任务,并将该被分配的智能驾驶辅助系统控制任务传输给算法模型创建单元1001d,其中,所述任务可以是周期性的,例如每10ms或每100ms执行一次的任务,所述任务也可以是事件型的,例如由根据人机交互定义好的信号触发的任务。

另一方面,交互方式确定单元1001b确定工控机101与数据交互设备102之间的与上述特定的传输协议对应的数据交互方式。在一个实施例中,原型开发验证系统100包括一个数据交互设备102并且该数据交互设备102为kvaser公司的can卡,相应地,交互方式确定单元1001b确定在工控机101与can卡102之间通过与can协议对应的can报文方式进行交互。在另一个实施例中,原型开发验证系统100包括多个数据交互设备102并且部分数据交互设备102为kvaser公司的can卡而其余数据交互设备102为以太网卡,相应地,交互方式确定单元1001b确定在工控机101与can卡102之间通过与can协议对应的can报文方式进行交互而在工控机101与以太网卡102之间通过与以太网协议对应的以太网帧方式进行交互。

模型接口定义单元1001c根据由交互方式确定单元1001b确定的数据交互方式来定义工控机101的输入输出数据与控制算法模型的输入输出数据之间的转换方法以及控制算法模型的输入输出数据的格式,并且将该控制算法模型的输入输出数据的格式传输给算法模型创建单元1001d。在一个实施例中,所述转换方法可以是:控制算法模型的输入输出数据=工控机的输入输出数据*增益系数+偏移系数。

算法模型创建单元1001d基于从控制任务接收单元1001a获得的智能驾驶辅助系统控制任务并且按照从模型接口定义单元1001c获得的控制算法模型的输入输出数据的格式来创建控制算法模型。

通过控制任务接收单元1001a、交互方式确定单元1001b、模型接口定义单元1001c以及算法模型创建单元1001d如上述那样工作,由此,算法建模组件1001搭建与智能驾驶辅助系统控制任务对应的控制算法模型并将该控制算法模型输出至模型转换组件1002。

模型转换组件1002将该控制算法模型转换为可执行文件。

具体地,如图3所示,模型转换组件1002包括第一转换单元1002a和第二转换单元1002b。

第一转换单元1002a将从算法建模组件1001获得的控制算法模型转换成预定格式的代码。在一个实施例中,第一转换单元1002a可以是simulink组件。可替换地,在另一个实施例中,第一转换单元1002a可以是dspace组件。还可替换地,在又一个实施例中,第一转换单元1002a也可以是targetlink组件。此外,预定格式的代码可以是c++格式的代码,或者,可以是c格式的代码等等。

第二转换单元1002b将由第一转换单元1002a生成的预定格式的代码转换成可执行文件。在一个实施例中,第二转换单元1002b可以是c++开发组件。可替换地,在另一个实施例中,第二转换单元1002b可以是c开发组件。

例如,设想第一转换单元1002a是simulink组件、上述预定格式的代码是c++格式的代码、第二转换单元1002b是c++开发组件的情况。在该情况下,simulink组件1002a按照预先设置的代码生成规则将从算法建模组件1001获得的控制算法模型转换成c++格式的代码,c++开发组件1002b新建一个c++的开发工程,并将该c++格式的代码加载到新建的开发工程中进行编译,进而生成可执行文件。

虽然未图示,但是,在一些优选实施例中,第一转换单元1002a除了如上述那样生成预定格式的代码以外,还生成用于对标定变量信息进行标定的标定文件原型。其中,此处的标定变量信息可以是但不限于标定变量的内存地址,此处的标定文件原型可以是但不限于用于车辆标定工作的a2l文件。相应地,在这些优选实施例中,工控机101除了包括集成工具链组件1000以外,还包括对上述标定文件原型进行更新的标定文件更新单元。这是因为,在集成工具链组件1000生成可执行文件的过程中标定变量信息(诸如,标定变量的内存地址)会发生更新,因而需要相应地标定更新后的标定变量信息(诸如,标定变量的内存地址)。

返回至图1,算法执行组件1003使用从数据交互设备102向工控机101提供的与验证智能驾驶辅助系统控制算法相关的数据来运行由模型转换组件1002生成的可执行文件以及输出运行结果,由此验证与所分配的智能驾驶辅助系统控制任务对应的智能驾驶辅助系统控制算法。

图4是根据本发明的一实施方式的用于智能驾驶辅助系统控制算法的原型开发验证方法的流程图。下面以原型开发验证系统100对应的原型开发验证方法s100为例进行说明。

首先,在步骤a中,根据由工控机101的操作系统分配的智能驾驶辅助系统控制任务和工控机101与数据交互设备102之间的数据交互方式来搭建相应的控制算法模型。

数据交互设备102可以以可装卸的方式被设置于工控机101,而且设置于工控机101并且与之进行数据交互的数据交互设备102的数目可以是一个,也可以是多个。在一个实施例中,数据交互设备102可以是一种可扩展板卡,诸如can卡或者以太网卡等,相应地,与工控机101之间的数据交互方式可以是can报文方式或者以太网帧方式等。

具体地,如图5所示,步骤a包括:控制任务接收步骤a1、交互方式确定步骤a2、模型接口定义步骤a3、以及算法模型创建步骤a4。

在步骤a1中,从工控机101的操作系统接收被分配的智能驾驶辅助系统控制任务,其中,所述任务可以是周期性的,例如每10ms或每100ms执行一次的任务,所述任务也可以是事件型的,例如由根据人机交互定义好的信号触发的任务。

接着,在步骤a2中,确定工控机101与数据交互设备102之间的数据交互方式。在一个实施例中,原型开发验证系统100包括一个数据交互设备102并且该数据交互设备102为kvaser公司的can卡,相应地,在步骤a2中,确定在工控机101与can卡102之间通过与can协议对应的can报文方式进行交互。在另一个实施例中,原型开发验证系统100包括多个数据交互设备102并且部分数据交互设备102为kvaser公司的can卡而其余数据交互设备102为以太网卡,相应地,在步骤a2中,确定在工控机101与can卡102之间通过与can协议对应的can报文方式进行交互而在工控机101与以太网卡102之间通过与以太网协议对应的以太网帧方式进行交互。

接着,在步骤a3中,根据在上述步骤a2中确定出的数据交互方式来定义工控机101的输入输出数据与控制算法模型的输入输出数据之间的转换方法以及控制算法模型的输入输出数据的格式。在一个实施例中,所述转换方法可以是:控制算法模型的输入输出数据=工控机的输入输出数据*增益系数+偏移系数。

最后,在步骤a4中,基于在上述步骤a1中接收的智能驾驶辅助系统控制任务并且按照在上述步骤a3中所定义的控制算法模型的输入输出数据的格式来创建控制算法模型。

需要注意的是,虽然在图5中示出了按照步骤a1、步骤a2、步骤a3、步骤a4的顺序来执行搭建控制算法模型的过程,但是,不限于此,也可以在步骤a2与步骤a3之间执行步骤a1,或者,也可以在步骤a3与步骤a4之间执行步骤a1,或者,还可以与步骤a2并行地执行步骤a1,等等。

返回至图4,在搭建好相应的控制算法模型之后,在步骤b中,将所搭建的控制算法模型转换为可执行文件。

具体地,如图6所示,步骤b包括:第一转换步骤b1和第二转换步骤b2。

在步骤b1中,将在上述步骤a中搭建的控制算法模型转换成预定格式的代码。在一个实施例中,所述转换可以由simulink组件执行。可替换地,在另一个实施例中,所述转换可以由dspace组件执行。还可替换地,在又一个实施例中,所述转换也可以由targetlink组件执行。此外,预定格式的代码可以是c++格式的代码,或者,可以是c格式的代码等等。

接着,在步骤b2中,将在上述步骤b1中所生成的预定格式的代码转换成可执行文件。在一个实施例中,所述转换可以由c++开发组件执行。可替换地,在另一个实施例中,所述转换可以由c开发组件执行。

例如,设想第一转换由simulink组件执行、上述预定格式的代码是c++格式的代码、第二转换由c++开发组件执行的情况。在该情况下,simulink组件按照预先设置的代码生成规则将在上述步骤a中搭建的控制算法模型转换成c++格式的代码,c++开发组件在其中新建一个c++的开发工程,并将该c++格式的代码加载到新建的开发工程中进行编译,进而生成可执行文件。

虽然未图示,但是,在一些优选实施例中,在步骤b1中,除了如上述那样生成预定格式的代码以外,还生成用于对标定变量信息进行标定的标定文件原型。其中,此处的标定变量信息可以是但不限于标定变量的内存地址,此处的标定文件原型可以是但不限于用于车辆标定工作的a2l文件。相应地,在这些优选实施例中,原型开发验证方法s100还包括对上述标定文件原型进行更新的标定文件更新步骤。这是因为,在上述步骤b中生成可执行文件的过程中标定变量信息(诸如,标定变量的内存地址)会发生更新,因而需要相应地标定更新后的标定变量信息(诸如,标定变量的内存地址)。

返回至图4,在生成可执行文件之后,在步骤c中,使用从数据交互设备102向工控机101交互的数据来运行所生成的可执行文件并输出运行结果,由此验证与所分配的智能驾驶辅助系统控制任务对应的智能驾驶辅助系统控制算法。

以上示例主要说明了本发明的用于智能驾驶辅助系统控制算法的原型开发验证系统及方法。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其它的形式实施。因此,所展示的示例与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1