
1.5 X-in-the-Loop测试验证方法
在复杂系统的开发过程中,往往会出现组成系统的部分软硬件缺失的场景,在该情况下难以构成整套测试闭环。为了克服这类测试方法的劣势,研究者引入了另一种称为X-in-the-Loop(XiL)的汽车测试和验证方法,旨在针对日益复杂的整车系统,集合了驾驶员和环境的模型及实物,是一种新型的整车开发和验证平台[97,98]。该方法是由基于模型的研究开发方法(Model based Development,MBD)进一步发展而来。X-in-the-Loop中的X代表不同开发阶段的不同控制对象,从而形成了包括模型在环(Model-in-the-Loop,MiL)、软件在环(Software-in-the-Loop,SiL)、硬件在环(Hardware-in-the-Loop,HiL)等不同测试场景。通过突破物理连接的限制,X-in-the-Loop提供了一种新的汽车产品测试和验证方法,为未来汽车行业提供了更多的可能性。
X-in-the-Loop的概念还可扩展到更广泛的意义上,使得可以将三个相互作用的系统,即驾驶员、车辆和环境整合到一个框架中。其中“X”为测试单元(Unit Under Test,UUT),指在当前开发过程阶段正在研究和测试的对象[99]。这里的“UUT”一词是一个广义的含义,意味着被测对象可能是一个真实的被测对象,或是一个虚拟的模拟单元[100]。在不同阶段中,UUT可以是控制策略的代码,或子系统中的某个组件,甚至是整车[97,99]。为了实现闭环控制,环中的其余部分可用模型替代。图1.6为汽车动力系统的X-in-the-Loop框架,其中不同的层级指的是不同的开发阶段[97]。该框架清楚地显示了四个部分的整合:X-in-the-Loop测试对象、其他部分的仿真、驾驶员以及环境。

图1.6 基于X-in-the-Loop的动力系统测试平台架构
图1.7给出了某混合动力汽车的开发验证过程[101]。在从建模到道路测试的整个工作流程中,确定的里程点代表了系统的真实性,并且是该阶段开发成熟程度的反映。表1.4列举了在卡尔斯鲁厄理工学院产品工程研究所(IPEK)进行的若干验证和研究项目。

图1.7 动力系统的验证环境
表1.4 使用XiL框架的IPEK汽车产品开发验证研究实例

通过这个框架,开发人员能够更好地了解某个部分与其他三个部分之间的关系或相互作用,以及部分对整个系统的影响。事实上,X-in-the-Loop方法并不限于汽车产品开发,也可以应用于其他产品的开发过程,它的目的是降低错误发生的风险,并在早期实现关键功能的验证[111]。