为确保大型结构的安全性和耐久性, 有必要进行健康监测。健康监测的基础为结构的损伤检测[1]。近年来, 基于频域、时域的损伤识别方法得到了大力发展。李世龙等[2]针对复杂结构损伤识别时多自由度无法测量的问题, 提出了一种利用已测量的模态振型和频率来表示未测量部分的模态扩阶方法。Gillich等[3]对如何从振动信号中准确地识别出结构的固有频率进行了试验研究和有限元分析, 提出了估计频率范围、定位相关信号段、以信号分量的功率谱来识别精确频率的方法。Wei等[4]对薄板的损伤识别进行了研究, 改进了应用传统模态应变能改变率指标识别的方法, 以削弱损伤单元所带来的“邻近效应”, 减少误判。粒子群等群体智能算法由于其收敛速度快、参数设置简单等优点也被广泛应用于损伤识别领域。欧阳秋平等[5]将实数编码克隆选择与粒子群算法结合, 优化了基于模态频率的损伤指标, 用于水工结构的损伤诊断。巩文龙等[6]基于量子粒子群优化算法, 提出了一种以广义柔度矩阵构造的目标函数, 解决了柔度矩阵损伤定量误差大、不稳定的缺陷。郭惠勇等[7]对粒子群算法提出了粒子位置突变、最优记忆粒子微搜索等改进措施, 以防止算法陷入局部最优解。但很多理论成果不能在实际工程中得到应用, 因为在实际监测过程中, 结构振动响应实测的不确定性、随机噪声的影响、所提取的模态参数的不完备性以及粒子群算法的“早熟问题”等都是制约将识别理论应用于实际工程的难题。
笔者通过对粒子群算法(PSO)的改进, 提出一种两阶段的损伤识别方案。第1阶段利用D-S证据理论融合算法进行损伤定位; 第2阶段利用改进的粒子群算法, 对定位结果进行修正, 同时准确定量损伤。
1) 针对结构的振动信号, 利用随机子空间法提取结构损伤前后的模态平动位移和自振频率;
2) 将提取的平动位移利用静力凝聚法[8]进行重构, 得到相应的转角位移;
3) 由自振频率和包含平动与转角信息的振型计算单元损伤变量以及单元刚度折减系数, 使用D-S证据理论进行融合, 从而进行第1阶段损伤定位;
4) 利用改进的PSO算法, 进行第2阶段损伤识别。
采用基于协方差驱动的随机子空间法[9-12]进行结构模态参数识别, 以结构离散状态空间方程模型为基础, 对由输出协方差序列组成的块Toeplitz矩阵进行奇异值分解(SVD), 从而获得可观矩阵和可控矩阵, 然后由此得出系统矩阵, 最后对系统模态参数进行识别。
在得到系统矩阵之后, 对于离散的时间系统模型进行特征值分解
式中: Λ =diag[μi]是由离散时间的复特征值μi组成的对角n阶矩阵; Ψ矩阵由特征向量组成; A为系统的状态矩阵, 其特征值与系统特征值的关系为
式中: λi是系统特征值; Δt是采样时间间隔。
系统固有频率ωi、系统模态阻尼比ξi的关系可以表示为
式中:j是虚数单位; λi与λi互为共轭。
则结构第i阶的模态参数:振型Φi、阻尼比ξi以及固有频率fi分别表示为
应用D-S证据理论[13-14]进行损伤定位, 设D为结构损伤识别推理框架, 函数m:2D→[0, 1], 则满足
式中:m为框架D上的基本概率; A为m的焦元; m(A)为损伤状态A的发生率。
结构损伤识别中, 设有n个信息源, 即有n个子损伤识别方法, 共有k个结构单元, 第i个信息源识别结构单元j发生损伤为Aij(i=1, 2, ...n; j=1, 2, ...k), m(Aij)表示用信息源i进行识别, 单元j发生损伤Aij的概率值。
D-S证据理论组合规则为对各个信息源检测的基本概率m(Aij)进行融合, 证据理论组合规则为
笔者采用的损伤定位指标为单元损伤变量和单元刚度折减系数, 则有
式(9)中的Dj为曹永红等[15]改进刘晖等[16]提出的单元损伤变量
式中: ${\rm{EMS}}{{\rm{E}}_j}^{\rm{u}} = \sum\limits_{i = 1}^m {\mathit{\boldsymbol{\varphi }}_i^{\rm{T}}{\mathit{\boldsymbol{K}}_j}{\varphi _i}} 、{\rm{EMSE}}_j^d = \sum\limits_{i = 1}^m {\mathit{\boldsymbol{\tilde \varphi }}_i^{\rm{T}}{\mathit{\boldsymbol{K}}_j}{{\tilde \varphi }_i}} $, 分别为损伤前后的单元应变能; Kj为整体坐标下j单元的刚度矩阵, φi和${{\mathit{\boldsymbol{\tilde \varphi }}}_i}$分别为损伤前后的第i阶振型。
式(10)中的Δαj为单元刚度折减系数[17], 假定结构在损伤时只引起刚度矩阵发生变化, 取值位于[0, 1]之间。
将式(9)、式(10)代入式(7)和式(8)可得
通过式(12)和式(13)可得信息融合后的概率, 数值越大, 代表单元损伤的可能性越大。
利用D-S证据理论融合算法进行损伤定位后, 再应用改进的PSO算法进行精确识别。第1阶段识别出可能损伤的n个单元, 然后对这n个单元进行2次识别, 使得空间的搜索维数减少, 从而使PSO算法的收敛速度和准确度大幅提高。
标准PSO算法[18]描述为
式中:vidt和xidt为t时刻粒子i的速度和位置向量的d维分量; pbestidt和gbestidt则分别为个体极值和全局极值的d维分量; c1和c2是学习因子, 通常取2;rand1和rand2为(0, 1)之间的随机数; w为惯性权重, 一般认为w较大有利于全局搜索、w较小有利于局部搜索。
基本粒子群算法含有早熟的问题[19], 可以通过惯性权重w来改变种群收敛速度, 惯性权重的取法一般有自适应法和线性递减法, 但是种群的搜索是一个复杂的非线性过程, 仅仅让w线性减少不能有助于全局搜索, 因此, 可以采用动态的调整算法。在群体搜索过程初期, 各个粒子的适应度值差异较大, 随着迭代的增加, 粒子群体会向精确性偏移, 适应度值偏差逐渐缩小。依据概率统计中标准差的概念, 利用收敛成熟度[20]来表示粒子群的聚散度。
式中:N为粒子群规模; f为当前所有粒子的平均适应度值, $\bar f = \frac{1}{N}\sum\limits_{i = 1}^N {{f_i}} $;fi为当前迭代次数的种群适应度值; $\Delta f = \mathop {\max }\limits_{1 \le i \le N} \left\{ {{f_i}-\bar f} \right\}$则表示当前和平均的最大差值。
在迭代的过程中, 利用式(15)计算粒子群体适应值的离散度, 并根据σ值调整w, σ在(0, 1)之间, 所以为σ提前设定一个界限值0.5, 如果σ低于0.5, 可以认为收敛成熟度较低, 搜索可能会陷入局部最优, 此时应该赋予w较大的值来保持更广的搜索范围; 相反, 如果σ高于0.5, 相应地赋予w较小的值来使得群体更快地收敛。利用式(16)来更新惯性权重。
式中:wmax和wmin分别为惯性权重的最大值和最小值, wmax=0.9, wmin=0.4;Tmax为迭代总次数; t为当前迭代次数。
在PSO算法的后期, 式(14)的后2项改变会很小, 意味粒子的位置变化很小, 由于在改进1方法中通过惯性权重对运行后期的速度进行了调整, 因此, 在改进2中对位置公式进行修正, 并对突变概率Pc[7]进行了改进。
式中:u1为粒子位置变化幅度; rand3为(-1, 1)之间的随机数; rand4为(0, 1)之间的随机数; Pc为突变概率, 突变概率根据迭代次数和运算情况进行调整:如果迭代步数小于n, 突变概率为0.01;如果迭代步数大于n, 且相邻两代gbest没有明显改进时, 突变概率增大为0.1, 否则突变概率不变, 粒子继续寻优; sign()为符号函数。
这样改进后, 种群粒子在搜索过程中有一定的突变性能, 将在一定程度上防止粒子群陷入局部最优而无法跳出的情况。
PSO算法需要构建目标函数。将频率、振型和柔度3种数据结合起来, 对文献[19]中的目标函数(见式(18))进行改进, 利用模态置信准则MAC来表示损伤前后的柔度矩阵和振型矩阵的相关性。
MAC准则对于损伤的敏感度与损坏性质有关。如果损伤是分布式的, 如混凝土大面积开裂, 振型变化不大; 对于局部损伤, MAC值又可能大幅降低。另一方面, 由文献[22]推导出的由振型和频率之间的表达式可知, 频率平方的差异也应该以规范化的方式反映出来。考虑到MAC值在0和1之间, 当测量频率和计算频率之间相关性很高时, 其值应接近于1, 故对模态振型置信度表达式进行修正, 弥补单独使用振型时灵敏度不高的缺点, 也避免了目标函数值大部分由固有频率左右的问题。修正系数为
将柔度模态置信度和振型模态置信度结合起来建立目标函数。
式中:柔度矩阵$\left[F \right] = \sum\limits_{j = 1}^s {\frac{1}{{w_i^2}}} \left\{ {{\mathit{\Phi }_i}} \right\}{\left\{ {{\mathit{\Phi }_i}} \right\}^{\rm{T}}}, (w_{_i}^{\rm{d}}, \mathit{\Phi }_i^{\rm{d}})$为损伤状况下的频率和振型测量值, (wic, Φic)为损伤状况下的频率和振型计算值; s为结构模态阶数。
在ANSYS中建立如图 1所示的简支梁的有限元模型, 梁截面为0.25 m×0.20 m, 跨度6 m, 弹性模量E =32 GPa, 密度R =2 500 kg/m3。将梁沿跨度划分成等长12个单元, 从左至右编号, 单位长度为0.5 m。
1) 对损伤工况进行假定, 并以折减单元刚度的形式对损伤进行模拟;
2) 在简支梁的第4节点处施加白噪声, 并提取损伤前后节点的加速度响应信号;
3) 在加速度响应信号中加入不同程度的两种白噪声, 信噪比为30 dB和40 dB[21];
4) 依照两阶段损伤识别方案的步骤进行损伤识别。
假设一种多损伤工况:单元4、7、9发生损伤, 损伤程度分别为10%、30%和50%。
采用PSO算法时, 种群大小为1 000, 当适应度值低于10-4时停止迭代, 位置x的范围限定在[0, 0.9]。
利用随机子空间法提取模态信息, 限于篇幅, 仅给出完好状态和无噪声水平下该损伤工况的振型和频率, 如表 1、表 2所示。
表 1和表 2中的振型是归一化处理后的结果。由表 1和表 2中模态参数计算Dj和Δαj, 融合后利用PSO分步识别结果如图 2所示。
限于篇幅, 后面的识别结果直接给出融合后的概率图和PSO定量图。
从图 2~图 4中可以看出, 在多损伤工况下, 考虑不同噪声水平的影响, 第1阶段使用D-S证据理论来进行损伤定位时, 可以粗略地识别出损伤可能发生的位置, 而且损伤指标为较大正值的3个单元, 即为结构损伤的单元。但是, 在损伤程度较小的4单元处, 可能会出现漏判, 在损伤部位邻近的8单元处, 容易出现误判, 因此, 需要进行进一步的精确识别。采用改进PSO算法, 选取4、7、8、9作为需要二次检测的单元, 从结果可以看出, 在不同噪声水平的影响下, 可以准确识别出单元损伤的位置和程度。
为了进行比较, 在第2阶段识别过程中, 将分别使用3种算法:1)标准PSO算法和目标函数(式(18)); 2)改进PSO算法和目标函数(式(18)); 3)改进PSO算法和改进目标函数(式(20))。每种算法运行10次, 计算结果见表 3。从表 3可见, 标准PSO算法可以基本识别出损伤位置及损伤程度, 但对于小损伤则误差较大; 对PSO算法进行改进后, 识别精度有所提高, 平均迭代次数有所降低, 但在8单元处出现了误判; 采用改进PSO算法和新目标函数时, 损伤程度的识别值与真实值误差较小, 且迭代次数明显降低。
采用文献[23]中的简支梁进行损伤识别验证。梁截面尺寸为210 mm×190 mm, 梁的计算跨度为4.5 m, 受拉区和受压区分别配3Φ12(HRB335)钢筋和2Φ12(HRB335)钢筋, 箍筋配Φ8@225(HPB235)。梁的保护层厚度为20 mm。梁顶均布加速度传感器, 见图 5。
实验利用人工切槽的方式对梁进行损伤模拟, 槽的尺寸为20 mm×100 mm×210 mm。3处开槽的位置依次为3#、6#、8#, 使用激震锤敲击梁体, 记录每次开槽后的振动信号。开槽后的单元刚度折减量为11.55%。
由于现场环境影响嘈杂, 需要在获取的信号中提取信噪比较高的信号用于结构的损伤识别, 采用基于多源信息融合的概率方法和改进PSO算法的两阶段损伤识别方法对该简支梁进行损伤定位, 识别结果如图 6~图 8所示。
1) 工况1(3单元损伤), 识别结果见图 6。
2) 工况2(3和6单元损伤), 识别结果见图 7。
3) 工况3(3、6和8单元损伤), 识别结果见图 8。
从图 6~图 8可以看出, 基于多源信息融合的概率方法和改进PSO算法的两阶段识别方法能够比较准确地定位出损伤单元; 在多损伤的情况下, 对于损伤程度的确定也较为准确。
同样将上述3种算法的识别结果进行比较, 见表 4。标准PSO算法识别精度仍然不高; 改进PSO算法识别效果有一定程度的提高, 但与真实值还有20%的误差; 采用改进算法和新目标函数则将识别误差进一步缩小, 且计算效率高。
对于梁式结构, 建议了一种两阶段损伤识别方案, 通过数值模拟和实验分析, 得到以下结论:
1) 直接采用粒子群算法进行损伤识别时, 如果结构单元数过多, 则粒子的维度也会增加, 计算效率不高。
2) 采用多源信息融合算法初步识别, 然后在此基础上用改进PSO算法进行二次识别, 可以对损伤进行准确的定位, 并对损伤单元的损伤程度进行定量, 且抗噪性良好。
3) 采用改进PSO算法和新目标函数的定量误差小于使用标准PSO算法和传统目标函数时的误差。