潜艇改装重量重心快速调整与控制方法
2020-10-28闵少松
王 健,彭 飞,闵少松
(海军工程大学船海学院,湖北武汉 430033)
0 引 言
在潜艇进行现代化改装的过程中,对整个艇的重量重心控制是关系到舰艇能否保持其基本生存能力特性(稳性、不沉性)的重要问题。所以改装过程中要进行重量重心的计算调整与控制,使潜艇的性能满足要求。随着计算机的应用与发展,自动化、参数化、智能化的优势日益明显,现阶段的手动调整与控制潜艇重量重心的方法已渐露劣势,难以快速跟踪设计的变化,所以迫切需要对潜艇改装中重量重心的快速调整方法进行研究。
目前,国内外舰船的重量重心控制工作主要体现在设计储备、设计过程中的重量重心控制及建造过程中的重量重心控制等。我国在舰艇设计阶段确定重量重心多为估算值,而美国海军在DDG-51 施工设计的重量重心计算中,是采用计算机三维辅助设计管路、电缆,并提取重量资料,同时辅以误差修正的方法进行计算[1-2]。在后续的重量重心计算调整工作中,我国大都靠手工进行,效率低下,计算精度不一,参数化以及自动化程度不高[3]。相对而言,重量重心的调整控制在飞机、半浅平台等领域有更好的发展[4]。如计算机辅助重量工程(CAWE)系统对飞机重心的调整,使用重心云图动态地反应飞机压载改变的情况,形象、快速地求得满足要求的方案[5],以及利用贪婪自适应搜索机制实现满足一定条件的货物装载问题的最优方案搜索[6]。
基于舰艇自身的特殊性,以及现阶段潜艇改装过程中手动调整重量重心的现状,上述研究成果并不能完全适合提高舰艇改装过程中重量重心调整与控制的自动化程度。本文将开展如何应用Matlab 软件对潜艇改装过程中重量重心的快速调整与控制方法的研究,从而更好地提高其自动化、参数化水平。
1 基于参数化的重量重心快速调整
1.1 基本原理
潜艇改装过程中,设备的移动、增减,都会改变潜艇的重量重心,使得潜艇的性能改变,所以需要移动或增减压铁使得潜艇的重量重心满足新的设计要求。
通过对潜艇改装过程中重量重心调整问题的分析,将调整压铁来改变潜艇重量重心的问题抽象为数学模型中的求最优解的问题。
在改装过程中,欲保证改装后的潜艇性能满足要求,需要通过移动、增减压铁,使得潜艇的重量保持不变,重心的改变量在一定的范围内,结合实际,要求重心在纵向、横向的改变量为0,在垂向的改变量满足稳性的要求,并且升高的越小对稳性越有利,也越有利于潜艇的改装。这个范围可根据潜艇性能的要求计算求得。
当重量重心满足上述要求,且在垂向的改变最小时,压铁的调整方案最优。
分别定义矩阵A,B,C,D,E,其中:
1)A 为潜艇改装时改变设备的重量矩阵。
A=(p1,p2,……,pm)T,p1……pm为所有改变设备的重量值;
2)B 为潜艇改装时改变设备的重心高矩阵:
B=(z1,z2,,……,zm)T,z1……zm为所有改变设备的重心高度,与矩阵A 相对应;
3)C 为潜艇改装前压铁的重量分布矩阵:
C=(p1,p2,……,pn)T,p1……pn为潜艇各站压铁的重量值;
4)D 为潜艇改装前全艇压铁的重心高矩阵:
D=(z1,z2,……,zn)T,z1……zn为改装前各站压铁重心在垂向的高度,与矩阵C 相对应;
5)E 为潜艇改装过程中所调整压铁的重量矩:
E=(p1,p2,……,pn)T,p1……pn为改装后各站压铁的重量值,相应压铁位置与矩阵C 相对应。
根据实际工程问题可知,在潜艇改装过程中,重量重心的调整,是通过调整压铁的重量和位置,计算出全艇改装后总的重量矩,除以总重量得到新的重心位置,反复调整计算,得到改变量最小的重心。其中要求全艇改装前后重量保持不变,即改变设备的重量与改变压铁的重量和等于0,即
改装后全艇的重量矩为M后,即
M设为改装后所有改变设备的重量矩,即
M压为改装后增减压铁的重量矩,即
M 为原艇的总重量矩。
因此,新的重心高为Z新,即
P 为全艇总的重量。
全艇重心高改变量
Z 为潜艇改装前的重心高。
求Δh 最小时的矩阵E,即
调整后新的压铁布置情况的矩阵为
1.2 基本算法
经过分析可知,上述问题为运筹学中的标准线性规划问题。其中,对使得改装过程中重心高改变值最小时的压铁调整方案的求解问题,可应用线性回归中的单纯形法进行求解。
单纯形法的基本思路:根据问题的标准,从可行域中某个基可行解(一个顶点),转换到另一个基可行解(顶点),并且使目标函数达到最值时,问题就得到了最优解[7]。求解的过程分为4 步,分别是:
1)找出初始可行基,确定初始基可行解,建立初始单纯形表。
2)检验各非基变量Pi的检验数,若检验数小于等于0,则已得到最优解,可停止计算,否则转入下一步。
3)根据目标函数,确定换入变量。
4)进行迭代运算,得到新的单纯形表,重复步骤2~步骤4,直到停止,即可求出最优解。
本文应用Matlab 软件中的linprog 函数实现上述算法,以此求得在满足潜艇改装过程中重量保持不变、重心改变量在一定范围内要求时的压铁调整矩阵。
结合实际情况,潜艇改装过程艇上压铁调整在增减的同时,也可以进行移动,并且因为压铁布置空间大小、位置等都有严格的要求,对于每个肋位的压铁重量、高度要求均有一定限制。对于一些特殊部位,不能对压铁进行调整。
因此,在基本算法的基础上,同样基于上述压铁布置情况和设备改变情况,以计算出的只增加或减少压铁后新的压铁分布情况作为初始条件,对算法进行进一步的优化,并添加相应的约束条件。通过Matlab 进行数学模型的建立,计算得出潜艇重量矩改变最小时的压铁布置情况,用此时的重量矩除以总重量得到新的重心高,从而获得到重心位置改变量,与预期要求比较,判断方案的可行性。
2 算例计算
2.1 相关假设
规定用x,y,z 来表示重心的纵向、横向、垂向的位置。以中纵剖面、中横剖面与基线的交点为坐标原点,并规定向船首、右舷以及向上为正。
在改装过程中,设备(或压铁)重量的增加为正,减少为负,并且要求每个肋位的压铁总重量不得超过10 t。
另外假定某型艇的正常排水量下的重量重心、进行改装的相关数据均已知,其中包括新增设备、拆除设备、移动设备的重量重心,以及全艇的压铁布置情况。新增设备的重量重心信息如表1 所示。
表1 新增设备、移动设备重量重心Tab.1 Weight center of new equipment and mobile equipment
全艇的压铁分布情况如表2 所示.
2.2 压铁只增/减时重量重心快速调整方法的计算结果
基于上述压铁布置情况和设备改变情况,应用初始算法和Matlab 程序进行重量重心调整的快速计算,得到的结果如表3 所示。
程序运行结果为重心高改变7.0265。
表2 全艇压铁分布情况Tab.2 Distribution of iron in the whole submarine
表3 压铁调整情况Tab.3 Iron adjustment
2.3 压铁增减、移动后重量重心快速调整方法计算结果
结合实际工作中压铁的改变更灵活,功能更多样的特点,进行既可以同时增加、减少,也可以移动压铁时的重量重心调整计算。计算结果如表4 所示。
表4 压铁调整情况Tab.4 Iron adjustment
2.4 不同初始条件的计算
利用Matlab 进行多次不同初始条件时重量重心的控制与调整的计算,得到结果如表5 所示。
表5 不同初始条件时的重量重心调整计算Tab.5 Calculation of weight center of gravity in different initial conditions
应用设计程序进行潜艇重量重心调整与传统手动调整进行对比可知:
1)在输入条件已知的情况下,程序调整仅需1~2 s,而手工调整则需要数分钟到数十分钟完成,大大提高了重量重心调整的自动化程度以及调整效率;
程序运行结果为重心高改变7.021 8。
2)通过对不同初始条件时重量重心的调整结果对比分析可知,增减的同时并移动压铁的情况使得重心升高量更小,对舰艇改装更有利,方案更优;
3)运用计算机进行调整可避免因为人的主、客观因素引起的误差,从而得到更好的结果。
3 结 语
本文在潜艇改装的背景下,针对现在重量重心调整与控制方法自动化、参数化程度不高、精度不一,多靠手工调整的现状,以Matlab 软件为基础,应用数学建模的方法将实际的改装问题抽象成数学模型,进行改装过程中只增减压铁时重量重心的快速调整,以及在增减压铁的同时,移动压铁的重量重心快速调整的方法研究。建立各情况下的最优解的算法,实现计算机自动调整压铁来控制重量重心。后续还可以利用CATIA 软件给用户预留的二次开发接口与Matlab 软件相结合,实现三维模型重量重心的自动读取与存储与现有程序相结合,进行快速调整与计算。