本发明实施例涉及潜艇运动控制技术领域,更具体地,涉及一种潜艇运动模型简化方法及装置。
背景技术:
潜艇在水下航行时易受到短促而极大的反向冲击力,其姿态将受到较大影响,且尾舵易处于逆速状态,为保证潜艇的安全性和稳定性,实现对潜艇的深度和姿态进行精确控制,需要对潜艇进行运动和控制建模。
潜艇在水下航行时,本质是一个具有六自由度的空间运动体。根据流体力学、运动学以及动力学等相关知识,可以推导出潜艇在水下运动的六自由度运动方程。而潜艇运动模型确定的关键在于测定六自由度运动方程中的水动力系数。通过模型试验可以获得较为精确的水动力系数,但是该方法成本高、过程复杂且周期长。因此,需要对潜艇运动模型进行水动力系数的优化,优化后的方程不仅可以降低水动力系数的测定难度,且能提高潜艇操纵的实时性。常规的水动力系数优化方法为阈值法,即给定每一个指标的阈值,当水动力系数各指标的敏感性指数均小于所给阈值时,说明此项水动力系数对潜艇的操纵运动影响较小,可以进行优化。
但是阈值法需要手动筛选水动力系数,当数据量比较大时,会增加数据筛选的难度,同时工作量也会大大提高,而且阈值的选取缺乏合理性,简化后的模型动态性能指标。因此,需要提供一种更合理地对潜艇运动模型进行优化的方法。
技术实现要素:
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的潜艇运动模型简化方法及装置。
第一方面,本发明实施例提供一种潜艇运动模型简化方法,包括:
构建潜艇的六自由度运动模型;
选取某一运行工况所对应的操纵运动性能指标,计算所述操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数;
根据所述敏感性指数,利用无监督学习算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类,获得所述各水动力系数的聚类结果;
根据所述聚类结果对所述潜艇的六自由度运动模型进行水动力系数的简化,获得潜艇运动简化模型。
第二方面,本发明实施例提供一种潜艇运动模型简化装置,包括:
模型构建模块,用于构建潜艇的六自由度运动模型;
计算模块,用于选取某一运行工况所对应的操纵运动性能指标,计算所述操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数;
聚类模块,用于根据所述敏感性指数,利用无监督学习算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类,获得所述各水动力系数的聚类结果;
简化模块,用于根据所述聚类结果对所述潜艇的六自由度运动模型进行水动力系数的简化,获得潜艇运动简化模型。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的潜艇运动模型简化方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的潜艇运动模型简化方法的步骤。
本发明实施例提供的潜艇运动模型简化方法及装置,采用无监督学习算法对潜艇的六自由度运动模型中各水动力系数进行聚类,并基于聚类结果实现对潜艇运动模型的简化,可以有效降低水动力系数测定的操作难度和复杂度,同时简化后的模型具有较高的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的潜艇运动模型简化方法的流程示意图;
图2为本发明实施例提供的潜艇运动模型简化装置的结构示意图;
图3为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服现有技术存在的问题,本发明实施例提供了一种潜艇运动模型简化方法,其发明构思为:潜艇在运动上对操艇者的操纵做出响应的能力称为潜艇的操纵性。当潜艇具有良好的操纵性时,能根据操艇者的要求保持航向、深度和航速,又能迅速改变航向、深度和航速。潜艇六自由度运动模型是潜艇操纵性研究的基础,而运动模型确定的关键在于测定其中的水动力系数,模型试验可以获得较为精确的水动力系数,但是该方法成本高、过程复杂且周期长。因此,有必要对潜艇运动模型进行简化,以降低水动力系数测定的操作难度和复杂度。由于不同的水动力系数对潜艇的操纵性影响范围和程度都有所不同,因此各水动力系数在潜艇运动模型中的重要程度亦不相同,如果可以找到各水动力系数对操纵性影响的规律,尽量提高对操纵运动影响显著的水动力系数的估算精度,同时将对操纵运动影响较小的水动力系数做较为粗糙的估算,或者将这些水动力从运动模型中舍去,从而实现对潜艇运动模型的简化,同时保证了简化后的模型对潜艇的操纵性与简化前的差异较小。
图1为本发明实施例提供的潜艇运动模型简化方法的流程示意图,如图所示,该方法包括:
步骤10、构建潜艇的六自由度运动模型。
具体地,建立潜艇运动坐标系,实现与固定坐标系间的坐标转换,研究潜艇垂直面运动非线性模型,分析潜艇不同工况下的操纵运动特性,给出建模假定条件,建立潜艇的六自由度运动模型。
本发明实施例采用国际拖曳水池会议(ittc)推荐的以及造船与轮机工程学会(sname)公报的体系。选用两种坐标系:其一为固结于地球,原点取在地球上某点的固定坐标系e-ξηζ,用来描述潜艇的运动轨迹;其二是固结于艇体,原点取在艇体某处的随体坐标系g-xyz,用来描述潜艇的运动状态。
本发明实施例构建的潜艇运动模型根据现有文献推导得到,其轴向方程为:
un=u0*(1-e-0.52*u/(ψ*l))(1)
侧向力方程为:
垂向力方程为:
横摇力矩方程为:
纵倾力矩方程为:
偏航力矩方程为:
辅助方程为:
上述各方程中,u、v、w、p、q、r分别表示动坐标系中沿着x、y、z三轴的速度,以及绕x、y、z三轴旋转的角速度,ξ、η、ζ表示定坐标轴中潜艇的坐标,即潜艇的运动轨迹,φ、θ、ψ表示潜艇的横倾角、纵倾角和艏向角。
步骤20、选取某一运行工况所对应的操纵运动性能指标,计算所述操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数。
具体地,潜艇的常规工况有5种:定深定向、定深变向、变深定向、变深变向和旋回运动,这5种运行工况可以看作潜艇在水平面和垂直面各种操纵运动的组合,需针对不同工况下的运动模型进行简化。
其中,水动力分量对潜艇的运动参数的偏导数在展开点的值,统称为水动力系数。
send提出水动力系数敏感性指数s的概念,并将其定义如下:
式(8)中,r为运动参数,例如战术回转直径、超越深度等;h为变化的水动力系数;r*为仿真计算得到的运动参数;h*为基准的水动力系数。
水动力系数敏感性指数s代表了潜艇在某一操纵条件下运动参数对水动力系数变化的敏感程度,可以理解为1%的水动力系数变化导致潜艇运动变化的百分数,s的绝对值越大说明输入变化对输出响应的影响程度越大,即该水动力系数对潜艇操纵运动的影响越显著。
选取某一工况所对应的操纵运动性能指标,计算所选取的操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数,即利用公式(8)计算所选取的操纵运动性能指标对所有水动力系数的敏感性指数,可完成对该工况下的模型优化。
步骤30、根据所述敏感性指数,利用无监督学习算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类,获得所述各水动力系数的聚类结果。
具体地,本发明实施例采用无监督学习算法来获取各水动力系数对操纵性影响的规律。对于数据的分类和筛选,无监督学习的应用十分广泛。可以通过现有的无监督学习算法将水动力系数分为可去和保留两类,从而优化水动力系数的同时减小了操作难度和复杂度。
步骤40、根据所述聚类结果对所述潜艇的六自由度运动模型进行水动力系数的简化,获得潜艇运动简化模型。
具体地,所述各个水动力系数的聚类结果分为两类,一类是可去的,即为对潜艇的操作运动影响较小的水动力系数,一类是需要保留的,即为对操作运动影响比较显著的水动力系数。根据所述聚类结果对步骤10中所构建的潜艇的六自由度运动模型进行水动力系数的简化,即将可去的水动力系数从所述潜艇的六自由度运动模型中去除,提高需要保留的水动力系数的估算精度,从而获得简化后的运动模型,即潜艇运动简化模型。
本发明实施例提供的潜艇运动模型简化方法,采用无监督学习算法对潜艇的六自由度运动模型中各水动力系数进行聚类,并基于聚类结果实现对潜艇运动模型的简化,可以有效降低水动力系数测定的数量、操作难度和复杂度,同时简化后的模型具有较高的准确性。
基于上述实施例的内容,所述选取某一运行工况所对应的操纵运动性能指标,计算所述操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数的步骤,具体为:
选取变深变向工况下的操纵运动性能指标,计算所述变深变向工况下的操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数。
具体地,本发明实施例在108项水动力系数中,利用经验公式替代轴向方程,故x方向上13项水动力系数不需参与简化,可直接忽略;舵角系数和转动惯量系数以及惯性积系数共计13项,会对潜艇运动产生较大变化,属于不可简化项;其余五个力和力矩方程中,共包含16个零项;另外,除轴向方程外,体现潜艇初始状态以及与轴向速度相关项的系数共18项,属不可简化项,因此,经数值分析可以得出待简化的水动力系数共计48项,如表1所示。
表1待简化的水动力系数
潜艇的常规工况有5种:定深定向、定深变向、变深定向、变深变向、旋回运动。这5种运行工况可以看作潜艇在水平面和垂直面各种操纵运动的组合,考虑到对上述5种运行工况都作模型简化的过程复杂耗时,拟采取以上述五种运动中最复杂的变深变向工况模型为基础,运用无监督学习算法对水动力系数进行简化,并通过简化前后运动模型的pid仿真结果对比来验证简化模型的准确性。
变深变向工况包含了水平面z型操舵运动和垂直面梯形操舵两项操纵运动,选取水平面z型操舵运动中的超越艏向角和运动周期,以及垂直面梯形操舵中的超越深度和超越纵倾角作为潜艇六自由度模型的简化指标,即操纵运动性能指标。分别计算各操纵运动性能指标对各待简化水动力系数的敏感性指数。
计算某一项的水动力系数敏感性指数时,只需将该项置零即可,通过仿真计算得到该项水动力系数置零后的指标数据,然后代入敏感性指数计算公式(8)即可。
上述四种操纵运动性能指标的水动力系数敏感性指数计算结果如表2所示。
表2四种操纵运动性能指标的水动力系数敏感性指数计算值
基于上述各实施例的内容,所述根据所述敏感性指数,利用无监督学习算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类的步骤,具体为:
根据所述敏感性指数,利用k-means聚类算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类。
具体地,计算潜艇某一运行工况下操纵运动性能指标对不同水动力系数的敏感性指数之后,利用k-means聚类算法将待简化水动力系数自动聚类为可忽略和不可忽略两类,以此为基础,简化运动模型,并比较研究模型简化前后潜艇的操纵性能差异。
k-means聚类算法可对给定数据样本集x={x1,x2,...,xn}进行聚类划分,最终将其划分为k类c={c1,c2,...,ck}。k-means算法的目标函数e为:
式中,
对于d(x,μi)的计算,目前还没有一种可以通用的距离计算函数,minkowski距离直观且计算方便,是使用最多的距离函数。给定样本xi=(xi1,xi2,…xin)与xj=(xj1,xj2,…xjn),两者间的minkowski距离为
式中,p=1时,minkowski距离为曼哈顿距离;p=2时,minkowski距离为欧式距离;p->∞时,minkowski距离为切比雪夫距离。
k-means算法通过迭代优化更新聚类中心来求解目标函数的最优解,具体步骤如下:
1)从给定数据样本集合x中随机选取k个样本作为初始聚类中心{μ1,μ2,...,μk},给定迭代次数t和阈值ε;
2)利用式(10)计算除聚类中心外的每个数据样本到聚类中心的距离,将其归类到距离最近的那一类中;
3)重新计算聚类中心点,更新聚类中心μi;
4)重复进行第2)步,直到达到最大迭代次数t,或平方误差e的变化小于阈值ε。
基于上述各实施例的内容,所述根据所述敏感性指数,利用k-means聚类算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类的步骤,具体为:
分别对所述各水动力系数对应的敏感性指数所构成的一维向量进行归一化处理,所有经过归一化处理的所述一维向量组成给定数据样本集合;
从所述给定数据样本集合中随机选取2个数据样本作为初始的聚类中心,设定聚类结束条件;
重复进行下述操作,直到满足所述聚类结束条件:
计算除聚类中心外的所述给定数据样本集合中每个数据样本到聚类中心的距离,并将所述数据样本归类到距离最近的那一类中,获得当前迭代的分类结果;
根据所述当前迭代的分类结果,重新计算并更新聚类中心。
具体地,由于各水动力系数对应的敏感性指数量纲不统一,首先需要对所有敏感性指数进行归一化处理。水动力系数可分为可忽略和不可忽略2类,即簇的个数k为2。
参见表2,本发明实施例k-means聚类算法的输入数据为潜艇48项水动力系数4项性能指标的敏感性指数,即一个48×4的数组,每个水动力系数对应的4个敏感性指数构成一个一维向量,由48个水动力系数对应的敏感性指数所构成的一维向量组成。
算法开始先给定2个聚类中心,从所述给定数据样本集合中随机选取2个数据样本作为初始的聚类中心,并设定聚类结束条件为直到达到最大迭代次数t,或平方误差e的变化小于阈值ε。
然后计算除聚类中心外的所述给定数据样本集合中每个数据样本到2个聚类中心的距离,并将所述数据样本归类到距离最近的那一类中,获得当前迭代的分类结果,即将48项水动力系数根据其敏感性指数与聚类中心的距离分为2类,然后再重新计算新的分类结果的中心点,作为下一次聚类的中心,直到分类结果的中心点不再改变。
在一个实施例中,k-means聚类算法的计算结果如表3所示。
表3基于k-means算法的分类结果
基于上述各实施例的内容,所述获得潜艇运动简化模型的步骤之后,还包括:
对所述潜艇运动简化模型进行pid控制验证和通用性验证。
具体地,对获得的潜艇运动简化模型采用两种方式进行验证。其一,在变深变向工况下,对简化前后的模型中引入pid控制,在简化后的运动模型上整定一组控制效果较好的pid参数,并将其应用到未简化的模型上;其二,进行通用性验证。在潜艇的其他常规工况下,对简化前后的模型分别做水平面回转运动、水平面z型操舵运动和垂直面梯型操舵运动。两种验证方式下都对比简化前后的动态性能指标,偏差较小,则说明简化效果较好。通过验证可以获知本发明实施例在变深变向工况下进行水动力系数的简化获得的潜艇运动简化模型具有较好的性能和通用性。
如图2所示,为本发明实施例提供的潜艇运动模型简化装置的结构示意图,包括:模型构建模块210、计算模块220、聚类模块230和简化模块240,其中,
模型构建模块210,用于构建潜艇的六自由度运动模型。
具体地,模型构建模块210建立潜艇运动坐标系,实现与固定坐标系间的坐标转换,研究潜艇垂直面运动非线性模型,分析潜艇不同工况下的操纵运动特性,给出建模假定条件,建立潜艇的六自由度运动模型。
本发明实施例采用国际拖曳水池会议(ittc)推荐的以及造船与轮机工程学会(sname)公报的体系。选用两种坐标系:其一为固结于地球,原点取在地球上某点的固定坐标系e-ξηζ,用来描述潜艇的运动轨迹;其二是固结于艇体,原点取在艇体某处的随体坐标系g-xyz,用来描述潜艇的运动状态。
计算模块220,用于选取某一运行工况所对应的操纵运动性能指标,计算所述操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数。
具体地,潜艇的常规工况有5种:定深定向、定深变向、变深定向、变深变向和旋回运动,这5种运行工况可以看作潜艇在水平面和垂直面各种操纵运动的组合,需针对不同工况下的运动模型进行简化。
其中,水动力分量对潜艇的运动参数的偏导数在展开点的值,统称为水动力系数。
send提出水动力系数敏感性指数s的概念,并将其定义如下:
式(8)中,r为运动参数,例如战术回转直径、超越深度等;h为变化的水动力系数;r*为仿真计算得到的运动参数;h*为基准的水动力系数。
水动力系数敏感性指数s代表了潜艇在某一操纵条件下运动参数对水动力系数变化的敏感程度,可以理解为1%的水动力系数变化导致潜艇运动变化的百分数,s的绝对值越大说明输入变化对输出响应的影响程度越大,即该水动力系数对潜艇操纵运动的影响越显著。
计算模块220选取某一工况所对应的操纵运动性能指标,计算所选取的操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数,即计算模块220利用公式(8)计算所选取的操纵运动性能指标对所有水动力系数的敏感性指数,可完成对该工况下的模型优化。
聚类模块230,用于根据所述敏感性指数,利用无监督学习算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类,获得所述各水动力系数的聚类结果。
具体地,聚类模块230采用无监督学习算法来获取各水动力系数对操纵性影响的规律。对于数据的分类和筛选,无监督学习的应用十分广泛。可以通过现有的无监督学习算法将水动力系数分为可去和保留两类,从而优化水动力系数的同时减小了操作难度和复杂度。
简化模块240,用于根据所述聚类结果对所述潜艇的六自由度运动模型进行水动力系数的简化,获得潜艇运动简化模型。
具体地,所述各个水动力系数的聚类结果分为两类,一类是可去的,即为对潜艇的操作运动影响较小的水动力系数,一类是需要保留的,即为对操作运动影响比较显著的水动力系数。根据所述聚类结果对模型构建模块210所构建的潜艇的六自由度运动模型进行水动力系数的简化,即将可去的水动力系数从所述潜艇的六自由度运动模型中去除,提高需要保留的水动力系数的估算精度,从而获得简化后的运动模型,即潜艇运动简化模型。
本发明实施例提供的潜艇运动模型简化装置,采用无监督学习算法对潜艇的六自由度运动模型中各水动力系数进行聚类,并基于聚类结果实现对潜艇运动模型的简化,可以有效降低水动力系数测定的数量、操作难度和复杂度,同时简化后的模型具有较高的准确性。
基于上述实施例的内容,所述计算模块220具体用于:
选取变深变向工况下的操纵运动性能指标,计算所述变深变向工况下的操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数。
具体地,变深变向工况包含了水平面z型操舵运动和垂直面梯形操舵两项操纵运动,选取水平面z型操舵运动中的超越艏向角和运动周期,以及垂直面梯形操舵中的超越深度和超越纵倾角作为潜艇六自由度模型的简化指标,即操纵运动性能指标。分别计算各操纵运动性能指标对各待简化水动力系数的敏感性指数。
计算某一项的水动力系数敏感性指数时,只需将该项置零即可,通过仿真计算得到该项水动力系数置零后的指标数据,然后代入敏感性指数计算公式(8)即可。
基于上述实施例的内容,所述聚类模块230具体用于:
根据所述敏感性指数,利用k-means聚类算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类。
具体地,计算潜艇某一运行工况下操纵运动性能指标对不同水动力系数的敏感性指数之后,利用k-means聚类算法将待简化水动力系数自动聚类为可忽略和不可忽略两类,以此为基础,简化运动模型,并比较研究模型简化前后潜艇的操纵性能差异。
图3为本发明实施例提供的电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communicationsinterface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储在存储器330上并可在处理器310上运行的计算机程序,以执行上述各实施例提供的潜艇运动模型简化方法,例如包括:构建潜艇的六自由度运动模型;选取某一运行工况所对应的操纵运动性能指标,计算所述操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数;根据所述敏感性指数,利用无监督学习算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类,获得所述各水动力系数的聚类结果;根据所述聚类结果对所述潜艇的六自由度运动模型进行水动力系数的简化,获得潜艇运动简化模型。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的潜艇运动模型简化方法,例如包括:构建潜艇的六自由度运动模型;选取某一运行工况所对应的操纵运动性能指标,计算所述操纵运动性能指标对所述潜艇的六自由度运动模型中各水动力系数的敏感性指数;根据所述敏感性指数,利用无监督学习算法对所述潜艇的六自由度运动模型中各水动力系数进行聚类,获得所述各水动力系数的聚类结果;根据所述聚类结果对所述潜艇的六自由度运动模型进行水动力系数的简化,获得潜艇运动简化模型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。