一种车用尿素液浓度估测方法
未命名
08-17
阅读:146
评论:0
1.本发明涉及尿素浓度估测技术领域,具体为一种车用尿素液浓度估测方法。
背景技术:
2.传统的化学分析、色谱法、红外吸收光谱法和光折射率法等方法需要样品的处理和分析过程,时间和成本较高,而且无法实时监测,近年来超声检测技术已经被广泛应用于液体浓度测量中,其中脉冲回波法又是最常用的超声波测速方法之一,它利用液体中的超声波传播速率和反射的时间差来确定液体的浓度;透射传播法利用超声波在液体中传播速度差来确定液体浓度的方法,但需要特殊的传感器和校准方法来减小信号受到流体的影响而产生的误差;干涉检测法则利用超声波在液体中传播时,由于液体浓度的差异而导致超声波的反射和干涉现象,该方法适用于测量小体积和高精度的液体浓度,但需要特殊的装置和较高的技术要求。
3.综合来看,传统的超声波测速方法具有非接触式、快速、高精度、低成本等优点,借助以上理论:本技术提出一种车用尿素液浓度估测方法,具有非接触式、快速、高精度、实时等特点,比传统的方法更加便捷、经济、可靠,此外,采用机器学习模型进行训练,可以自适应地提高模型精度和可靠性,具有一定的智能化水平。
技术实现要素:
4.针对现有技术的不足,本发明提供了一种车用尿素液浓度估测方法,具备高效、自适应的准确估测尿素液浓度等优点,解决了传统的超声波测速方法实时性较差的问题。
5.为实现上述目的,本发明提供如下技术方案:一种车用尿素液浓度估测方法,包括以下具体步骤:步骤1:数据采集,将数据采集单元控制超声波换能器对尿素液发射指定大小的脉冲,并测量该脉冲在不同浓度、粘度、温度、距离下发射及返回的传播时间,根据该传播时间计算得出不同尿素液的粘度和温度;步骤2:数据预处理,对收集的数据进行初步处理,并得出数据集;步骤3:模型及其参数选择,选择多种机器学习模型,采用网格搜索法和十折交叉法进行超参数寻优,并对机器学习模型进行模型评估,最终获取模型的最佳参数,导入训练数据集进行模型训练,保存最优机器学习模型;步骤4:估测与分析,将测试数据带到最优机器学习模型中输出估测结果,并对实测值和模型估测值进行对比分析,根据模型评估比较多种机器学习模型的估测性能。
6.进一步,所述步骤1中数据采集单元为tdc-gp22时间数字转换器。
7.进一步,所述步骤1中计算超声波在尿素液中传播的速度计算公式如下: ;式中:l为固定距离,t为传播时间。
8.进一步,所述步骤1中对不同浓度的尿素进行测定,通过用精密电子秤称出指定质量的工业纯尿素,并用量杯配置指定容量的纯净水来进行计算,即工业纯尿素和纯净水混合溶液浓度的计算公式如下: ;式中:c为尿素液的浓度,u为尿素的质量,w为纯净水。
9.进一步,所述步骤1中尿素溶液的粘度计算公式如下:;式中:η是液体的粘度,k是粘度计的常数,t是传播时间,t0是每次脉冲发生的时间,v是工业纯尿素和纯净水混合溶液的密度。
10.进一步,所述步骤1中温度测量的计算公式如下:;式中:r
t
为目标电阻的电阻值,rr为参考电阻的电阻值,t
s1
、t
s2
分别是保存参考电阻的放电时间和目标电阻的放电时间的寄存器值。
11.进一步,所述步骤2中还包括对缺失或者异常的数据进行剔除,另外,对于时间小于38s和大于42s的数据也需要进行剔除处理,剔除完成后对数据集进行随机打乱和随机划分。
12.进一步,所述步骤3中模型评估采用均方误差mse、均方根误差rmse、平均绝对误差mae、平均绝对误差百分比mape、r2判定系数、r相关性系数共6种评价指标对机器学习模型进行评估,评价指标的计算公式如下:;;;;;
;式中:n为数据数量;yp为估测结果:yr为真实值;和分别为估测结果和真实结果的平均值。
13.进一步,所述步骤3中机器学习模型包括knn、rf、dt、lr、mlp和svr。
14.进一步,所述步骤4中还包括对不同距离下尿素液浓度的数据运用到6种机器学习模型中进行评价,且得出相应的评价指标数据进行分析对比。
15.与现有技术相比,本技术的技术方案具备以下有益效果:该车用尿素液浓度估测方法,tdc-gp22时间数字转换器可以精确的测定超声波在不同尿素溶液中的时间差异,机器学习模型可以高效、自适应的准确估测尿素液浓度,将超声波原理与机器学习相结合的方法不仅可以生成直观的可视化结果,同时还可以帮助研究人员更好地理解和分析数据。
附图说明
16.图1为本发明tdc-gp22芯片原理图;图2为本发明时间测量流程图;图3为本发明tdc-gp22脉冲波形图;图4为本发明速度温度相关曲线图;图5为本发明异常数据剔除图;图6为本发明knn参数寻优图;图7为本发明mlp参数寻优图;图8为本发明dt参数寻优图;图9为本发明rf参数寻优图;图10为本发明knn尿素浓度估测散点图;图11为本发明mlp尿素浓度估测散点图;图12为本发明dt尿素浓度估测散点图;图13为本发明rf尿素浓度估测散点图;图14为本发明lr尿素浓度估测散点图;图15为本发明svr尿素浓度估测散点图。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.请参阅图1-15,本实施例中的一种车用尿素液浓度估测方法,包括以下具体步骤:
①
环境配置,数据采集板、可编程式恒温恒湿箱、超声探头、工业纯尿素和纯净水;
②
数据预处理;
③
模型及其参数选择,分析knn、rf、dt、lr、mlp、svr共6种机器学习模型特征,采用网格搜索法gridsearch和十折交叉法进行超参数寻优,以mse对模型进行评估,最终获取模型的最佳参数,导入训练数据集进行模型训练,保存最优模型;
④
估测与分析,将测试数据带到最优模型中输出估测结果,并对实测值和模型估测值进行对比分析,根据模型评价方法比较模型估测性能。
19.超声波数据采集板前端电路采用了tdc-gp22时间数字转换器,它可以进行高精度的时间测量,具体地,tdc-gp22可以交替发射出能够驱动两路换能器的1mhz脉冲,然后测量这些脉冲在液体中传播所需的时间,在尿素溶液中,这个时间将取决于液体的浓度、温度、粘度和声程,通过测量从探头a到挡板b的飞行时间,可以计算液体的速度,然后反向测量从挡板b到探头a的时间,以消除任何系统误差,根据液体的速度和其他物理量,可以计算出液体的温度。 即如下公式所示:;式中:l为固定距离,t为传播时间。
20.tdc-gp22没有温度测量模块,但可以利用电容放电的时间与电阻值相关这一特性,通过测量电容放电时间来换算温度,这种方法的优点是高精度、低功耗、测量速度快,其原理是tdc-gp22的测量模块会在一定的时间内同时放电目标电阻和参考电阻上的电容,然后将电容放电的时间记录在不同的寄存器中,电容放电的时间与电阻值成反比例关系,因此根据参考电阻和目标电阻的放电时间以及参考电阻的电阻值,可以计算出目标电阻的电阻值,从而得到温度。
21.温度测量的核心算法为:;式中:r
t
为目标电阻的电阻值,rr为参考电阻的电阻值,t
s1
、t
s2
分别是保存参考电阻的放电时间和目标电阻的放电时间的寄存器值。
22.需要注意的是,这个式子中的rr和ts、t
s2
都需要经过校准和精度调整才能得到准确的结果。
23.目标电阻的温度曲线函数为:;式中:r
θ
为温度在θ时的电阻阻值,r0为0℃时的电阻阻值;a、b为系数,a=3.908*10-3
℃-1
,b=-5.775*10-7
℃-1
。
24.浓度测量用精密电子秤称出指定质量的工业纯尿素,用量杯配置指定容量的纯净水来计算尿素液的浓度,即浓度公式为:;
式中:c为尿素液的浓度,u为尿素的质量,w为纯净水。
25.尿素溶液的粘度计算公式如下:;式中:η是液体的粘度,k是粘度计的常数,t是传播时间,t0是每次脉冲发生的时间,v是液体的密度。
26.如图2中msp430f149模块通过spi接口为tdc-gp22提供时钟信号,tdc-gp22使用设置好的测量范围,最大时间间隔测量范围为4ms,当芯片收到了单片机发送的启动操作码时,芯片内部便会做出响应来触发时差测量,同样当物体传回的发射脉冲达到超声探测器时,芯片内部会产生停止信号,这时时差测量就完成了,从开始到停止所用的时差会被准确无误的记录在寄存器中,通过这个时差就可以计算不同尿素溶液的浓度以及温度,总之,通过启动操作码、脉冲发生器、开始以及停止信号,tdc-gp22芯片可以精确地测量从物体反射回来的超声波的传播时间,从而计算物体与发射端之间的距离,其tdc-gp22脉冲波形如图3所示。
27.实验环境:将距离设定在0.06m、0.1m和0.05m,将五组不同浓度的尿素溶液放到可编程式恒温恒湿箱中采集不同温度、粘度、浓度、时间的数据如表1所示。
28.表1:部分数据样本
29.速度温度相关曲线如图4所示。
30.数据预处理是数据分析中的一个重要环节,它的主要目的是清洗、转换和规范数据,以提高数据质量和分析效果,在数据采集过程中,由于各种因素的影响,采集到的数据
中会存在错误的数据,这些错误数据如果不做处理,会影响数据的准确性和分析结果的可信度。
31.如果数据中的某一项值为缺失或者异常,那么该项的所有数据全部剔除,以保证数据的一致性和准确性,另外,对于时间小于38s和大于42s的数据也需要进行剔除处理,这是因为这些数据可能是采集过程中的噪声或者异常情况,对于数据分析结果的影响很小,因此可以进行删除处理,通过绘制箱线图直观发现异常数据,如图5所示。
32.通过数据质量控制后,最终选用数据共205866条,将数据集随机打乱和随机划分可以提高模型的泛化能力,随机打乱数据集可以消除数据集中的任何结构,从而确保在进行随机划分时不会将任何有序数据集合并到同一训练或测试数据集中,这有助于确保训练和测试数据集中的样本都是具有代表性的,其中随机划分数据集可以避免训练和测试数据集之间的信息泄漏,从而提高模型在新数据上的泛化能力,特征缩放是另一种常用的数据预处理方法,旨在消除各维数据之间的量级差异,有助于加速机器学习算法的收敛速度,提高算法的精度和泛化能力,特征缩放的两种主要方法是归一化和标准化。
33.归一化是将特征值缩放到[0,1]范围内的方法,它可以消除不同特征之间的量级差异,但可能对异常值比较敏感,因为它们可能会导致整个分布被缩放到非常小的范围内,标准化是将特征值缩放到均值为0,标准差为1的标准正态分布中的方法,它可以保留特征值之间的相对大小,同时减少了异常值的影响,在使用标准化时,需要注意避免信息泄露,因为在进行标准化时需要使用整个数据集的均值和标准差,公式如下: ;式中:为所有样本数据的均值,为样本数据的标准差。
[0034]
本研究选取6种机器学习模型及最终确定的模型参数如表2所示。
[0035]
表2:6种模型及其估测参数
[0036]
采用均方误差mse、均方根误差rmse、平均绝对误差mae、平均绝对误差百分比mape、r2判定系数、r相关性系数6个评价指标对模型进行评估,评价指标的计算公式如下所示:;
;;;;;式中:n为数据数量;yp为估测结果:yr为真实值;和分别为估测结果和真实结果的平均值。
[0037]
6种模型使用同样的训练数据与测试数据,采用格网搜索法gridsearch和十折交叉法进行超参数寻优,以mse作为评价标准,参数寻优结果如图6所示。
[0038]
如图6中,k值的选取是k近邻模型中关键点,当k值太小时,由于模型的复杂度太高从而发生过拟合现象,导致误差过高,起不到对模型训练的效果且无法用于验证模型,而k值过大又使得学习过程中近似误差增大,无法达到想要的效果,所以需要用到超参寻优的方式来获取最合适的k值,从图中可以看出,mse的值随着k值的增大而增加,当k等于1时,训练集和测试集的误差都表现的很好且没有发生过拟合的现象;如图7中的多层感知机模型,其优化过程包括选取不同的隐藏层数、激活函数和权重优化器,并进行超参数的优化,当选取relu做为激活函数adma作为权重优化器隐藏层的个数不同mse的取值起伏变化也比较明显,选取mse最低的点作为最优参数输入模型,同时也可以从图中发现没有产生过拟合的现象;如图7和图8中可以看出最大深度对决策树和随机森林的模型的评价标准很大,所以进行参数调优选取最低点处的最大深度值作为模型的输入;由四个图进行比较可以得出knn中k值选取k=1时模型效果最好,多层感知机当隐藏层选取55-60之间时效果最佳,决策树和随机森林中最大深度选取20以上趋于稳定同时也是模型效果最好的阶段。
[0039]
选择处理好的数据集对6种模型进行运算,通过训练集对模型进行训练调整参数,然后将测试集带入训练好的模型中测试,结果对比图如图9所示。
[0040]
选取浓度为20%、25%、30%、31.3%、32.5%共5组尿素溶液,结合估测结果与实测结果
进行对比,如图10-图15可知:mlp,svr,lr三个模型估测结果十分散乱,但也有与其实际值相同的时候而rf、dt、k近邻三个模型估测精度还是比较准确,其估测值与实际值更加接近。
[0041]
基于尿素液浓度含量实测值与模型估测值,分析其均方误差mse、均方根误差rmse、平均绝对误差mae、平均绝对误差百分比mape、r2判定系数、r相关性系数如表3所示。
[0042]
表3:各个模型指标对比
[0043]
总的来说,在这6个机器学习模型中,有五个模型的r2大于0.5,这意味着所选的最佳特征子集能够相当准确地预测尿素液的浓度,且knn、rf、dt等3个模型的r2》0.9,说明估测效果已经非常好;在rmse、mae和mape指标下可以发现,rmse指标下的随机森林模型表现最好,支持向量机模型表现最差;mae指标下,k近邻模型表现最好,多层感知机模型表现最差;在mape指标下,k近邻模型表现最好,多层感知机模型效果最差。
[0044]
综合对比6种机器学习模型的表现,决策树、k近邻、随机森林等模型的估测性能最好,精确度比较高,但需要注意的是,不同的数据集和任务可能会对模型的表现产生不同的影响,因此,在选择模型时需要综合考虑不同的因素,并选择最适合当前任务的模型。
[0045]
考虑到不同距离下,超声波传播所需要的时间不同,对测量尿素液浓度的精准度可能有一定的影响,因此测了三组不同的距离数据结果见表4。
[0046]
表4(a):0.1m时各个模型指标
[0047]
表4(b):0.05m时各模型指标
[0048]
表4(c):0.06m时各模型指标
[0049]
由上表可知,6个模型对尿素液浓度估测结果整体上呈现前三个模型的效果比后三个好,且在不同的距离指标下,各模型的评价指标差异性不大,不同方面证实了尿素液浓度估测模型的可行性。
[0050]
模型构建完成后,环境搭配cpu为:12thgenintel(r)core(tm)i5-12400f的计算机上,各模型运行时间和内存占用大小结果见表5;其中svr模型运行了2089秒后才结束,远远超过其他模型,相比之下,dt模型是所有模型中内存占用最小的,只需要0.160gb,并且运行时间最短需0.31秒,其它模型的内存占用基本相同,lr模型的运行时间最短,只需要0.1秒,rf模型和mlp模型的运行时间比svr模型要长,从模型性能比较分析可以发现,knn模型和dt模型的估测性能差别不大,但是dt模型在内存占用大小和运行时间上都能更小,这也证实了dt模型在满足估测精度的条件下,可以减少内存占用和运行时间。
[0051]
表5:各个模型运行效率比较
[0052]
本研究通过超声波在不同介质的尿素溶液传播速度不同制作数据采集板,选择6种机器学习模型对尿素溶液浓度进行估测,对比分析各模型的估测性能:包括模型估测的总体精度,不同距离下的估测能力,模型运行效率等,结果认为:通过机器学习的方法对尿素液浓度进行估测是可行的,其中rf模型估测性最好,knn模型次之,svr模型最差;对比各模型估测结果发现,不同距离对6种机器学习模型的影响差异不大,估测性能大致相同;总体分析,rf模型、dt模型、knn模型不仅能够满足模型的性能(准确率,召回率等),而且响应时间快,能够满足用户的需求。
[0053]
该车用尿素液浓度估测方法,tdc-gp22时间数字转换器可以精确的测定超声波在不同尿素溶液中的时间差异,机器学习模型可以高效、自适应的准确估测尿素液浓度,将超声波原理与机器学习相结合的方法不仅可以生成直观的可视化结果,同时还可以帮助研究人员更好地理解和分析数据。
[0054]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0055]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
技术特征:
1.一种车用尿素液浓度估测方法,其特征在于,包括以下具体步骤:步骤1:数据采集,将数据采集单元控制超声波换能器对尿素液发射指定大小的脉冲,并测量该脉冲在不同浓度、粘度、温度、距离下发射及返回的传播时间,根据该传播时间计算得出不同尿素液的粘度和温度;步骤2:数据预处理,对收集的数据进行初步处理,并得出数据集;步骤3:模型及其参数选择,选择多种机器学习模型,采用网格搜索法和十折交叉法进行超参数寻优,并对机器学习模型进行模型评估,最终获取模型的最佳参数,导入训练数据集进行模型训练,保存最优机器学习模型;步骤4:估测与分析,将测试数据带到最优机器学习模型中输出估测结果,并对实测值和模型估测值进行对比分析,根据模型评估比较多种机器学习模型的估测性能。2.如权利要求1所述的一种车用尿素液浓度估测方法,其特征在于:所述步骤1中数据采集单元为tdc-gp22时间数字转换器。3.如权利要求2所述的一种车用尿素液浓度估测方法,其特征在于:所述步骤1中计算超声波在尿素液中传播的速度计算公式如下: ;式中:l为固定距离,t为传播时间。4.如权利要求2所述的一种车用尿素液浓度估测方法,其特征在于:所述步骤1中对不同浓度的尿素进行测定,通过用精密电子秤称出指定质量的工业纯尿素,并用量杯配置指定容量的纯净水来进行计算,即工业纯尿素和纯净水混合溶液浓度的计算公式如下:;式中:c为尿素液的浓度,u为尿素的质量,w为纯净水。5.如权利要求2所述的一种车用尿素液浓度估测方法,其特征在于:所述步骤1中尿素溶液的粘度计算公式如下:;式中:η是液体的粘度,k是粘度计的常数,t是传播时间,t0是每次脉冲发生的时间,v是工业纯尿素和纯净水混合溶液的密度。6.如权利要求2所述的一种车用尿素液浓度估测方法,其特征在于:所述步骤1中温度测量的计算公式如下;式中:r
t
为目标电阻的电阻值,r
r
为参考电阻的电阻值,t
s1
、t
s2
分别是保存参考电阻的放电时间和目标电阻的放电时间的寄存器值。7.如权利要求1所述的一种车用尿素液浓度估测方法,其特征在于:所述步骤2中还包括对缺失或者异常的数据进行剔除,另外,对于时间小于38s和大于42s的数据也需要进行剔除处理,剔除完成后对数据集进行随机打乱和随机划分。8.如权利要求1所述的一种车用尿素液浓度估测方法,其特征在于:所述步骤3中模型
评估采用均方误差mse、均方根误差rmse、平均绝对误差mae、平均绝对误差百分比mape、r2判定系数、r相关性系数共6种评价指标对机器学习模型进行评估,评价指标的计算公式如下:;;;;;;式中:n为数据数量;yp为估测结果:yr为真实值; 和分别为估测结果和真实结果的平均值。9.如权利要求1所述的一种车用尿素液浓度估测方法,其特征在于:所述步骤3中机器学习模型包括knn、rf、dt、lr、mlp和svr。10.如权利要求6所述的一种车用尿素液浓度估测方法,其特征在于:所述步骤4中还包括对不同距离下尿素液浓度的数据运用到6种机器学习模型中进行评价,且得出相应的评价指标数据进行分析对比。
技术总结
本发明涉及一种车用尿素液浓度估测方法,包括以下具体步骤,步骤1:数据采集,将数据采集单元控制超声波换能器对尿素液发射指定大小的脉冲,并测量该脉冲在不同浓度、粘度、温度、距离下发射及返回的传播时间,根据该传播时间计算得出不同尿素液的粘度和温度;步骤2:数据预处理,对收集的数据进行初步处理,并得出数据集。该车用尿素液浓度估测方法,该车用尿素液浓度估测方法,TDC-GP22时间数字转换器可以精确的测定超声波在不同尿素溶液中的时间差异,机器学习模型可以高效、自适应的准确估测尿素液浓度,将超声波原理与机器学习相结合的方法不仅可以生成直观的可视化结果,同时还可以帮助研究人员更好地理解和分析数据。还可以帮助研究人员更好地理解和分析数据。还可以帮助研究人员更好地理解和分析数据。
技术研发人员:张正文 王炳坤 陈卓 李国伟 黄达文 张东华 赖锦培 廖贵生 祝太虎
受保护的技术使用者:湖北工业大学
技术研发日:2023.07.13
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
