掌桥专利:专业的专利平台
掌桥专利
首页

一种基于神经网络的硬件在环仿真测试系统及方法

文献发布时间:2024-04-18 20:02:40


一种基于神经网络的硬件在环仿真测试系统及方法

技术领域

本发明属于仿真测试技术领域,具体涉及一种基于神经网络的硬件在环仿真测试系统及方法。

背景技术

硬件在环(Hardware in Loop,HIL)仿真测试技术是一种利用软件来模拟或部分模拟被控对象,以测试真实控制器工作状况的测试技术。它在当前的工程实践中广泛应用,为控制系统的开发和验证提供了有效的方法。一个HIL系统主要包括了控制器,硬件接口和仿真模型三个主要部分。

在当前常见的硬件在环仿真技术中,通常用MATLAB Simulink来搭建仿真模型。用户想要搭建一个仿真模型,首先需要根据系统的物理特性,将模型分解成多个基础的子系统。这些子系统可以是机械、电气、液压或控制系统等。为了描述各个子系统的行为,用户可以查阅相关资料,了解与系统状态相关的模型算法,并得到描述系统状态的数学方程,将系统分解成数学方程的形式有助于理解系统动态特性和相互作用。接下来,用户可以利用MATLAB Simulink工具箱中的各种模块,如加法、乘法、积分、传递函数等,来实现仿真模型。根据系统方程进行配置和连接各个模块,以构建系统的数学模型。在搭建好仿真模型后,用户还可以根据实际实验数据对系统参数进行调整,帮助用户更好地匹配实际系统的特性,并确保仿真模型的准确性和可靠性。

最后,用户可以使用MATLAB Simulink提供的仿真工具来运行和验证搭建的模型。通过对模型进行仿真测试和分析,用户可以评估系统的性能、响应和稳定性。基于仿真结果,用户可以进一步改进和优化模型,以满足系统设计和验证的需求。

在上述的HIL系统开发过程中,MATLAB Simulink提供的工具库确实能够使仿真模型搭建更加直观,但将真实物理模型转换为数学方程组的过程具有一定挑战性。这需要用户深入理解模型的工作原理或借助领域专家的知识和经验,找到相应的模型公式,如果用户不熟悉该领域知识,则需要先学习部分领域知识才能进行建模。因此,以数学方程的方式呈现模型虽然能够使系统更直观,但这也会导致开发过程复杂化、流程延长等问题。

发明内容

针对现有技术中的上述不足,本发明提供的基于神经网络的硬件在环仿真测试系统及方法解决了现有的硬件在环仿真测试过程中,通过构建控制对象的数学模型来实现仿真时存在的仿真过程复杂,流程延长的问题。

为了达到上述发明目的,本发明采用的技术方案为:一种基于神经网络的硬件在环仿真测试系统,包括:

仿真模型搭建模块:用于根据控制对象特点搭建对应的神经网络仿真模型;

数据通信模块:用于作为所述神经网络仿真模型与控制器之间的数据通信媒介;

控制器:用于通过数据通信模块控制所述神经网络仿真模型,进而使神经网络仿真模型对控制器信号进行实时处理并响应,实现硬件在环仿真测试。

进一步地,所述仿真模型搭建模块包括控制对象分析单元、神经网络结构确定单元、数据集构建单元以及神经网络训练单元;

所述控制对象分析单元用于分析控制对象的数据拟合特点;

所述神经网络结构确定单元用于根据控制对象的数据拟合特点,确定神经网络结构;

所述数据集构建单元用于构建与控制对象相关的数据集;

所述神经网络训练单元用于根据构建的数据集训练神经网络,获得神经网络仿真模型。

进一步地,所述仿真模型搭建模块还包括神经网络验证单元;

所述神经网络验证单元用于对神经网络仿真模型的数据拟合效果进行验证及网络参数修改,获得通过验证的神经网络仿真模型。

一种硬件在环仿真测试方法,包括以下步骤:

S1、确定控制对象,并构建与其相关的数据集;

S2、选择神经网络,根据控制对象的复杂程度调整神经网络的具体结构,并配置其网络参数;

S3、利用数据集对神经网络进行训练,获得训练好的神经网络仿真模型;

S4、通过控制器对训练好的神经网络仿真模型进行控制,使神经网络仿真模型对控制器信号进行处理及响应,实现硬件在环仿真测试。

进一步地,所述步骤S1中,所述控制对象的数据集中数据为与控制对象相关的输入序列及其对应的输出序列。

进一步地,所述步骤S2中,在确定神经网络的具体结构时,所述控制对象的复杂程度与神经网络中隐藏层和神经元的数量成正比。

进一步地,所述步骤S2中,配置神经网络的参数包括神经网络各层权重和层间偏置;

所述权重和偏置通过对神经网络的训练确定并优化。

进一步地,所述步骤S3具体为:

S31、随机初始化权重和偏置;

S32、通过时间步将数据集中的输入序列逐个输入至神经网络中,并计算当前时间步的隐藏状态和输出;

S33、基于当前时间步的隐藏状态和输出,计算神经网络的输出和目标输出之间的误差;

S34、基于误差,利用反向传播算法计算损失函数对于神经网络参数的梯度,并使用梯度下降算法更神经网络的参数,直到达到训练步数,得到完成训练的神经网络仿真模型。

进一步地,所述步骤S3中,当完成训练的神经网络仿真模型对控制对象的模拟准确率低于预设阈值时,调整神经网络仿真模型的网络结构,并再次进行训练,进而获得训练好的神经网络仿真模型;

其中,调整神经网络仿真模型的网络结构包括调整网络层数和神经元数量。

进一步地,所述步骤S4中,当控制对象改变时,通过调整神经网络的训练数据集或优化算法,形成对应的神经网络仿真模型,进而实现硬件在环仿真测试。

本发明的有益效果为:

(1)降低仿真模型的搭建难度。在传统的仿真模型搭建过程中,需要通过实验,观察数据特性,或者查阅相关资料,得到描述系统状态的方程;而本发明中利用神经网络的方法,只需要根据模型数据集训练网络,即可搭建出仿真模型。

(2)增加仿真模型的适用范围。在传统的硬件在环测试系统中,如果要更换新的控制对象,则需要重新搭建仿真数学模型;而在本发明中,只需要更换数据集,重新训练神经网络,即可完成模型的替换。

(3)实现更加精准的预测效果。传统的方法搭建的数学模型,计算结果和实际实验结果可能有一定误差,这是不可避免的,因为理想模型无法考虑众多复杂的影响因素;而本发明通过构建神经网络可以察觉到一些数学模型无法注意的数据特点,以提高预测数据的真实性和准确性。

附图说明

图1为本发明实施例提供的基于神经网络的硬件在环仿真测试方法流程图。

图2为本发明实施例提供的神经网络仿真模型的一种网络结构示例示意图。

图3为本发明实施例提供的发动机对应神经网络仿真模型网络结构示意图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

实施例1:

本发明实施例提供了一种基于神经网络的硬件在环仿真测试系统,包括:

仿真模型搭建模块:用于根据控制对象特点搭建对应的神经网络仿真模型;

数据通信模块:用于作为所述神经网络仿真模型与控制器之间的数据通信媒介;

控制器:用于通过数据通信模块控制所述神经网络仿真模型,进而使神经网络仿真模型对控制器信号进行实时处理并响应,实现硬件在环仿真测试。

本发明实施例中的仿真模型搭建模块包括控制对象分析单元、神经网络结构确定单元、数据集构建单元以及神经网络训练单元;

所述控制对象分析单元用于分析控制对象的数据拟合特点;

所述神经网络结构确定单元用于根据控制对象的数据拟合特点,确定神经网络结构;

所述数据集构建单元用于构建与控制对象相关的数据集;

所述神经网络训练单元用于根据构建的数据集训练神经网络,获得神经网络仿真模型。

在本发明实施例中,仿真模型搭建模块还包括神经网络验证单元;

所述神经网络验证单元用于对神经网络仿真模型的数据拟合效果进行验证及网络参数修改,获得通过验证的神经网络仿真模型。

本发明实施例提供的硬件在环仿真测试系统通过利用神经网络的拟合特性,实现了对任意函数的逼近效果,用于替换传统的硬件在环仿真测试系统中数学方程实现的仿真模型,只需要根据输入输出数据集,通过训练得到对应的神经网络,用神经网络替换数学仿真模型,完成硬件在环仿真测试流程。

实施例2:

本发明实施例提供了实施例1中硬件在环仿真测试系统对应的硬件在环仿真测试方法,如图1所示,包括以下步骤:

S1、确定控制对象,并构建与其相关的数据集;

S2、选择神经网络,根据控制对象的复杂程度调整神经网络的具体结构,并配置其网络参数;

S3、利用数据集对神经网络进行训练,获得训练好的神经网络仿真模型;

S4、通过控制器对训练好的神经网络仿真模型进行控制,使神经网络仿真模型对控制器信号进行处理及响应,实现硬件在环仿真测试。

本发明实施例提供了一种通过构建神经网络仿真模型来实现硬件在环仿真测试方法,通用函数逼近定理(UniversalApproximation Theorem)表明,只要神经网络具有足够的宽度和深度并使用适当的激活函数,它可以以任意精度逼近任意连续函数。因此,本发明实施例可以通过搭建并训练一个神经网络仿真模型,以实现对任意物理模型的模仿和逼近。在仿真模型更换之后,不需要重新进行复杂的模型搭建,而是通过训练一个新的神经网络来实现仿真模型。

在本发明实施例提供的步骤S1中,所述控制对象的数据集中数据为与控制对象相关的输入序列及其对应的输出序列。在本实施例中,这部分数据可以通过实验测试或者公开数据集资料获得。

在本发明实施例提供的步骤S2中,在确定神经网络的具体结构时,所述控制对象的复杂程度与神经网络中隐藏层和神经元的数量成正比。

具体地,在常见的硬件在环仿真测试中,系统的输入输出往往和时间序列相关,因此常用的神经网络模型包括RNN及其变体,比如LSTM,Bi-LSTM等。在这一过程中,用户可以根据实际模型的复杂程度来调整神经网络的具体结构,比如对于复杂的控制对象,可以用更多的隐藏层数和神经元数量,如图2所示,左侧是输入层,右侧是输出层,中间两层是隐含层,分别含有12个和8个神经元。在实际应用中,隐含层的数量越多,网络则可以存储更多的时序信息,但同时也会增加模型的复杂性和计算成本。而每层中神经元的数量越多,神经网络则可以同时存储和处理更多的特征和信息,但过多的神经元数量可能会导致过拟合问题。因此,用户需要观察物理模型的复杂程度,构建合适的神经网络结构,或者通过尝试不同网络结构,来观察当前网络能够达到的精确度,得到满意的神经网络结构。

在本发明实施例的步骤S2中,配置神经网络的参数包括神经网络各层权重和层间偏置;权重和偏置通过对神经网络的训练确定并优化。

在本发明实施例的步骤S3具体为:

S31、随机初始化权重和偏置;

S32、通过时间步将数据集中的输入序列逐个输入至神经网络中,并计算当前时间步的隐藏状态和输出;

S33、基于当前时间步的隐藏状态和输出,计算神经网络的输出和目标输出之间的误差;

S34、基于误差,利用反向传播算法计算损失函数对于神经网络参数的梯度,并使用梯度下降算法更神经网络的参数,直到达到训练步数,得到完成训练的神经网络仿真模型。

在本实施例步骤S3中,当完成训练的神经网络仿真模型对控制对象的模拟准确率低于预设阈值时,调整神经网络仿真模型的网络结构,并再次进行训练,进而获得训练好的神经网络仿真模型;

其中,调整神经网络仿真模型的网络结构包括调整网络层数和神经元数量。

在本发明实施例中,上述训练过程的目标是通过迭代优化模型参数,使得神经网络仿真模型能够更好地拟合训练数据,提高其在未见过的数据上的泛化能力。在训练过程中,可以监控训练误差或验证误差来评估模型的性能,并根据需要进行调整和改进。

在本发明实施例的步骤S4中,当控制对象改变时,通过调整神经网络的训练数据集或优化算法,形成对应的神经网络仿真模型,进而实现硬件在环仿真测试。

在本发明实施例中,在实现硬件在环仿真测试过程中,针对不同物理模型的逼近,可以采用同一个神经网络模型的不同结构来实现。不同的物理模型,其本质上也是一些方程组合,只是其具体参数和数据传递方式的不同,而在同一个神经网络当中,只需要通过增减神经网络隐藏层的数量,即可提升网络对于模型时序的理解能力;通过调整网络中神经元的数量,也可以增强神经网络对于系统细节的表达能力。通过调整网络结构,可以逼近大部分的动态系统特性。不过这个逼近不是绝对的,对于非常复杂的非线性动态特性的系统,其具有非常高的维度、非线性关系或特定的结构特征,这可能超出了神经网络的逼近能力。在这种情况下,可以通过模型进行分解,并对分解后的模型进行模拟和逼近。

本发明实施例提供的硬件在环仿真测试方法,通过依靠神经网络的多层结构和学习能力,来逼近不同的物理模型,神经网络通常由多层神经元组成,每一层都通过非线性激活函数对输入进行变换。这种堆叠的结构以及非线性激活函数的使用使得神经网络能够捕捉和表示复杂的非线性关系。此外,通过各类的优化算法(例如梯度下降算法),可以调整网络中的权重和偏置,使网络能够逐渐逼近训练数据的目标函数,这种学习能力使得神经网络能够适应不同的非线性函数,并捕捉到输入和输出之间的复杂映射关系,相较于传统的数学模型来说,神经网络可能会捕捉到数学模型中被忽略的一些误差关系,实现更优秀的硬件在环仿真测试效果。

实施例3:

本发明实施例中给出了基于实施例2中仿真测试方法的具体实例:

在本实施例中,以发动机A的模型仿真为例;首先,用户需要获得发动机A的输入输出数据集,用作神经网络的训练和验证,该数据可以通过实际实验测量或者搜索开源数据库得到。在获得数据集后,需要初步搭建神经网络模型。因为发动机输出可能和当前的输入以及此前的系统状态相关,因此可以选择LSTM神经网络作为神经网络的基本模型,假设该网络模型的输入有8个数据,输出为3个数据,中间包含3层隐藏层,每层分别包含16,12,5个神经元,得到如图3所示的神经网络结构。

定义好网络结构之后,用户即可开始训练网络,对于回归问题,可以采用均分误差作为损失函数,用于表示网络预测结果与目标输出之间的差异;再利用随机梯度下降算法,来更新网络的权重和偏置,以最小化损失函数;在完成训练样本的遍历之后,即可利用测试集来评估模型的泛化能力。最后,可以用一组新的实验数据,来测试网络的准确性和性能,当性能达标之后,该神经网络仿真模型就可以用于硬件在环仿真测试。

基于上述构建的神经网络仿真模型,当用户需要更换仿真模型时,只需要修改网络中的部分参数,例如网络的隐藏层数,层内的神经元数量,即可完成模型替换。例如,本实施例中将仿真模型替换为飞机纵向飞行动力模型。对于传统的模型仿真方法,用户需要重新查阅资料,了解飞行器动力模型相关知识后才能进行系统建模。但是在本实施例中,甚至无需修改网络结构,只需要利用优化算法来修改网络中的参数,即可得到新的神经网络仿真模型。

飞机纵向飞行动力模型与发动机模型一样,都是和时序输入以及系统状态相关的模型,因此对于该模型,同样可以采用LSTM神经网络。至于神经网络的具体结构,包括LSTM隐藏层的数量以及每层的神经元数量,都可以快速进行修改。确定好网络结构之后,只需要按照上面的训练步骤,再次训练网络,即可得到新的神经网络模型,并在测试验证后使用。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

相关技术
  • 基于Simulink实时仿真系统实现硬件在环测试控制的系统及其方法
  • 一种基于仿真模型的V2X硬件在环测试台架系统及方法
技术分类

06120116586331