地震作用下的结构振动开环前馈控制¶
背景¶
主动结构控制执行器可以施加力来减小地震期间的结构运动。可实现的减振 效果取决于结构动力学、执行器力上限,以及对未来激励的掌握程度。本例 用一个阻尼结构模态和一段规定的合成地面加速度记录,单独展示这种权衡。
优化得到的是在整段记录预先已知条件下计算的理想开环前馈指令。 它不是因果反馈控制器,也不能解释为可直接实施的地震预警控制策略。
激励与单自由度模型¶
20 秒地面加速度为
其中 \(g=9.80665\ \mathrm{m/s^2}\)。令 \(x\) 为相对/模态位移, \(v=\dot x\) 为其速度。实际执行器力由归一化控制 \(u\) 表示:
设模态质量为 \(m_s\),固有频率为 \(\omega_n\),阻尼比为 \(\zeta\),则 基底激励单自由度动力学为
参数取值为
目标函数、端点与约束¶
结构从静止状态出发,并在终端回到静止:
归一化目标函数权衡位移、速度和控制代价:
路径边界为
被动响应只是独立对照,不属于受约束优化问题,因此可以超过主动轨迹的 80 mm 位移边界。
变量与单位¶
| 符号 | 含义 | 单位 |
|---|---|---|
| \(t\) | 时间 | s |
| \(x\) | 结构相对或模态位移 | m |
| \(v\) | 相对或模态速度 | m/s |
| \(a_g\) | 规定的地面加速度 | m/s² |
| \(u\) | 归一化执行器指令 | 无量纲 |
| \(F\) | 理想执行器力 | N |
| \(m_s\) | 模态质量 | kg |
| \(\omega_n\) | 无阻尼固有角频率 | rad/s |
| \(\zeta\) | 模态阻尼比 | 无量纲 |
| \(J\) | 归一化惩罚的积分 | s |
建模选择与适用边界¶
相对/模态位移是基底激励 SDOF 方程的正确坐标,不应把它理解为楼层绝对 位移或多层层间位移分布。\(160\times4\) Lobatto 网格能够解析规定激励的 两个频率分量。
执行器是理想的:力瞬时跟随 \(u(t)\),没有力变化率、延迟、内部饱和动态、 行程、功率、能量或连接结构模型。控制器还非因果地知道完整地震记录。 模型没有状态估计器、反馈律、鲁棒性分析、土-结构相互作用、高阶模态、 屈服或参数不确定性。因此,本例给出的是乐观的前馈性能参考,不是可部署 控制器。
运行示例¶
保存图片且不打开窗口:
独立数值验证¶
脚本在 4,001 个时刻重构配点解,对控制力样本作线性插值,再用高精度 DOP853 求解器独立积分物理 SDOF 方程;同一个求解器还通过 \(u(t)=0\) 计算被动响应。脚本比较重新积分与配点状态,检查终端静止条件和全部密集 边界,并积分物理控制力平方。
| 指标 | 验证值 |
|---|---|
| 目标函数 \(J\) | \(0.02300351\) |
| 被动相对/模态位移峰值 | \(395.2115\ \mathrm{mm}\) |
| 受控相对/模态位移峰值 | \(1.1492\ \mathrm{mm}\) |
| 理想执行器力峰值 | \(885.675\ \mathrm{kN}\) |
| 执行器力平方积分 | \(1.127056\times10^{12}\ \mathrm{N^2\,s}\) |
| 最大前向积分位移误差 | \(4.844\times10^{-5}\ \mathrm m\) |
| 最大前向积分速度误差 | \(6.712\times10^{-4}\ \mathrm{m/s}\) |
| 最大密集路径边界超限 | 输出精度下为 \(0\) |
从 395.2115 mm 降到 1.1492 mm 的显著减振效果,部分来自优化器能够看到 全部未来激励并驱动理想执行器。它是这一确定性教学模型的数值结果,不是 因果真实控制器可以预期达到的减振比例。

源代码¶
完整可运行示例见:
examples/structural_vibration_control.py。