2. 虚拟样机建模基础

虚拟样机不是“把三维模型导入软件跑一遍动画”,而是用一组可计算的数学方程,在计算机中复现真实物理系统的行为。要理解参数辨识与模型校准,必须先弄清楚三件事:虚拟样机由哪几类模型构成、每类模型里有哪些量、这些量之间谁决定谁。本节围绕多体动力学、有限元与系统级建模三条主线展开,并重点厘清“模型参数”与“状态变量”的区别与联系。

一、三类建模视角及其分工

多体动力学(MBD)关注由多个刚体或柔性体通过运动副连接而成的机构。它的核心是建立广义坐标下的运动方程,典型形式为 M(q)q̈ + C(q,q̇)q̇ + G(q) = Q,其中 q 是广义坐标,M 是质量矩阵,C 项包含科氏力与离心力,G 为重力项,Q 为广义力。MBD 擅长回答“机构怎么动、关节受多大力、驱动需要多大扭矩”。

有限元分析(FEA)关注连续体的变形与应力。它把结构离散为单元,组装成 K u = f 的代数方程组,K 为刚度矩阵,u 为节点位移,f 为节点载荷。当考虑惯性时扩展为 M ü + C u̇ + K u = f。FEA 擅长回答“零件会不会断、变形多大、模态频率是多少”。

系统级建模关注跨能量域的整体功能,如液压、气动、电气、热与控制回路的耦合。它通常用常微分方程或微分代数方程描述,例如液压缸的流量-压力关系、电机的电压-电流-转矩关系。系统级模型擅长回答“整机响应是否满足指标、控制器参数是否合适”。

三类模型并非互斥。工程中常见做法是:用 FEA 计算关键部件的刚度、模态或柔性体文件,再导入 MBD 作为柔性体;用 MBD 得到机构载荷,作为 FEA 的边界条件;用系统级模型把 MBD 与液压、控制模块连接起来。这种“FEA 提供柔度、MBD 提供运动与载荷、系统级提供耦合环境”的分工,是虚拟样机的基本架构。

虚拟样机三类模型的分工与数据传递 有限元 FEA M ü + C u̇ + K u = f 输出:刚度、模态、应力 柔性体文件(.mnf) 参数:E、ρ、ν、阻尼比 多体动力学 MBD M(q)q̈ + C q̇ + G = Q 输出:位移、速度、关节力 驱动扭矩、接触力 参数:质量、惯量、铰点位置 系统级建模 微分代数方程 DAE 输出:压力、流量、电压 整机响应、控制效果 参数:泵排量、阀增益、PID 柔度/模态 载荷/运动 边界条件 / 工况载荷回馈 模型参数 → 状态变量 → 输出响应 模型参数 p 质量、刚度、阻尼、几何 状态变量 x(t) 位移、速度、压力、电流 输出 y(t) 加速度、力、温度、误差 决定演化 观测映射 参数辨识:由 y(t) 反推 p;状态估计:由 y(t) 反推 x(t)

二、模型参数与状态变量的本质区别

初学者最容易混淆的就是“参数”和“状态变量”。判断标准很简单:参数在单次仿真过程中保持不变,状态变量随时间演化。

以单自由度弹簧-质量-阻尼系统为例,运动方程为 m ẍ + c ẋ + k x = F(t)。其中 m、c、k 是模型参数,x、ẋ 是状态变量。给定 m=12 kg、c=80 N·s/m、k=2000 N/m,初始条件 x(0)=0.01 m、ẋ(0)=0,就能积分出整条位移曲线。参数变了,曲线形状就变;状态变量则是曲线上的点。

再看多体动力学中的例子。一个两连杆机械臂,连杆质量 m₁、m₂,质心位置,转动惯量 I₁、I₂,关节摩擦系数,这些是参数。关节角 θ₁、θ₂ 和角速度 θ̇₁、θ̇₂ 是状态变量。参数辨识要回答的是“m₁ 到底是多少、摩擦系数多大”,而不是“某一时刻 θ₁ 是多少”。

有限元中同样如此。弹性模量 E、泊松比 ν、密度 ρ、阻尼比 ζ 是参数;节点位移 u、速度 u̇ 是状态变量。系统级模型中,泵排量、阀口面积梯度、电机反电动势常数是参数;管路压力、流量、电容电压是状态变量。

一个量是参数还是状态变量,取决于建模目的和观测尺度。例如温度在热-结构耦合中可能是状态变量,但在只关心热应力的准静态分析中可当作已知参数输入。辨识前必须明确“哪些量待辨识、哪些量已知、哪些量由仿真求解”。

三、参数如何影响状态变量:从方程看因果

参数对状态变量的影响不是随意的,而是通过方程结构传递的。以弹簧-质量-阻尼系统为例,固有频率 ωₙ = √(k/m),阻尼比 ζ = c/(2√(km))。这两个由参数组合而成的量,直接决定状态变量的响应形态:

  • ζ < 1 欠阻尼:位移呈衰减振荡,振荡频率约 ωₙ√(1−ζ²);
  • ζ = 1 临界阻尼:最快无超调回到平衡;
  • ζ > 1 过阻尼:缓慢单调衰减。

这意味着,如果实测位移曲线是明显振荡的,而仿真曲线单调衰减,那么很可能是阻尼参数 c 偏大或刚度 k 偏小。参数辨识正是利用这种“参数—响应特征”的对应关系,从可观测的输出反推不可直接测量的参数。

在多体动力学中,参数影响更复杂。例如关节间隙或接触刚度会改变碰撞力峰值和接触持续时间;连杆质量分布会影响关节驱动力矩的幅值与相位。这些影响往往是非线性的,因此参数辨识通常需要多次仿真迭代,而不是一次解析求解。

四、建模时的参数分类与可辨识性

工程上通常把模型参数分为四类,便于决定辨识策略:

类别 典型例子 获取方式 辨识难度
几何参数 铰点坐标、杆长、质心位置 CAD 测量、三坐标 低,通常已知
惯性参数 质量、转动惯量、惯性积 称重、摆锤试验、CAD 估算 中,CAD 值与实际有偏差
刚度/阻尼参数 弹簧刚度、接触刚度、阻尼比 静态加载、模态试验、辨识 高,常需反演
摩擦/间隙参数 库仑摩擦系数、关节间隙 专门试验、优化辨识 高,非线性强

需要特别注意的是可辨识性。如果两个参数对输出的影响几乎相同(例如同时增大质量和同时增大阻尼,可能产生相似的衰减曲线),那么仅凭一组输出就无法唯一确定它们。此时需要设计多工况试验,或增加观测通道(如同时测位移和力),才能把参数分离出来。

五、一个可操作的建模检查清单

在开始参数辨识之前,建议按以下顺序检查模型是否“可辨识、可校准”:

  1. 明确建模目的:是算载荷、算变形,还是算控制响应?目的决定模型粒度。
  2. 列出所有参数,标注“已知/待辨识/可忽略”,并给出初值和合理范围。
  3. 确认状态变量初值与实际工况一致,避免用零初值模拟已有预载的系统。
  4. 检查参数单位与坐标系约定,确保全文和仿真设置一致。
  5. 做一次名义参数仿真,观察输出是否在物理合理范围内。
  6. 设计至少两个不同工况的试验数据,用于后续参数分离与验证。
不要把“模型跑通”当成“模型正确”。一个参数严重错误的模型同样可以输出光滑曲线。判断模型是否可信,要看它能否在多个工况下同时复现实测的幅值、频率和相位,而不是只看单条曲线是否“像”。

总结来说,多体动力学、有限元与系统级建模分别从运动、变形和能量域耦合三个角度描述虚拟样机。模型参数是方程的系数,状态变量是方程的解,输出是状态变量的观测映射。参数辨识的任务,就是利用输出对参数的敏感关系,从可测数据中反推出那些无法直接测量的参数。理解这条“参数→状态→输出”的链路,是后续所有校准工作的基础。