去年有一阵我一直在折腾一个气动软体驱动器,就是那种做出来像一块软硅胶、一充气就往一个方向弯的手指型执行器。当时我打算"先仿真、后加工",于是捡起Abaqus照着网上能找到的教程一步步搭建模型。刚开始我以为这就是个简单的超弹性静力分析,结果连续两个多月反复在和"不收敛""网格畸变""位移和实测对不上"这三件事搏斗。这篇就把整个气动软体机器人仿真分析的思路完整捋一遍,从材料本构、气压加载方式、网格与求解器选择,到结果提取和实验校准,尽量把值得注意的细节都写出来。适合正在用Abaqus做软体机器人仿真、或者准备做气动软体结构静力学分析的同学参考,相当于一本踩坑记录。
我默认你已经能建出基本几何体、会划分网格、能跑通一个最简单的线性静力分析。如果还完全没碰过Abaqus,建议先把软件基础操作过一遍再回来看这篇,不然一些快捷键和界面术语会让你卡住。
1. 先搞懂驱动器为什么能动:气动软体结构与仿真目标的对应关系
1.1 软体驱动器的作动机理与仿真核心问题
常见的气动软体驱动器(不管是手指型、弯曲型还是波纹管型)本质上都在做同一件事:把气体内压转化为结构变形。以最经典的半圆截面S型腔体为例,驱动器由柔软的硅橡胶主体和一层不可伸长约束层组成。主体内部有一条或多条偏心气道,底部贴有纤维布或者埋入螺旋线,阻止底部伸长。充气时腔体内壁受压力向外膨胀,顶部可以自由伸长,底部被约束住伸长量很小,于是驱动器整体向约束层一侧弯曲。
所以仿真要回答的核心问题可以归结为三个层面:
- 给定内压,驱动器能弯曲到多大角度、末端位移是多少,也就是输出能力;
- 腔体壁厚、截面积、气道间距等几何参数如何影响弯曲性能,也就是设计参数化;
- 在最大设计压力下,硅胶壁面是否会出现应力集中或者局部应变量过大的风险,也就是可靠性评估。
这三个问题听起来简单,真正在Abaqus里落地时会发现每一步都有选择要做。先做哪个分析、用什么单元、用什么本构、怎么加载,全都互相影响。我的建议是:拿到一个驱动器几何模型后,第一步先不着急去追求多精细,而是把一个最简单的单腔体模型跑通,验证材料、网格、加载这条链路没有明显问题,再逐步增加细节。
1.2 为什么常规结构仿真流程在这里不适用
如果习惯了金属结构的静力分析,你会非常不适应软体驱动器的仿真。金属结构一般是小应变、线弹性材料、小变形假设,但软体驱动器的三大特征会把传统流程逐一打倒:
材料非线性。硅橡胶是典型的超弹性材料,应力-应变关系不是一条直线,而且通常被视作近似不可压缩。这意味着你需要输入应变能密度函数而不是简单的弹性模量和泊松比。
几何非线性。软体驱动器的变形量大得惊人,末端位移可能达到驱动器本身长度的几倍。小变形假设完全失效,必须在分析步里打开Nlgeom,让刚度矩阵随构型变化不断更新。
接触与边界非线性的耦合。充气之后腔体内壁可能贴到一起,驱动器也可能和其它结构发生接触;约束层的不可伸长特性还引入了复杂的边界条件。这些非线性叠加到一起,让收敛变成了一件需要认真处理的事。
Abaqus在这类问题上相对顺手,主要是因为它同时具备三条能力:超弹性材料库齐全,Standard和Explicit双求解器可以分别对应静力收敛和动力准静态两种思路,后处理和数据提取也比较开放。但也正因为选项多,新手特别容易犯"每个选项都试一点、结果完全失控"的毛病。后面我按实际工作顺序,把材料、载荷、网格、求解、后处理到校准整条链路拆开讲。
2. 超弹性本构怎么选、参数怎么来:从拉伸试验到Abaqus输入
2.1 本构模型各派的适用边界
超弹性材料在Abaqus里的本质是让你给一个应变能密度函数W,Abaqus用它推导出应力。同一个硅橡胶,用不同的W,仿真结果可以差很多。常见的选择主要有三个系列:Mooney-Rivlin、Yeoh、Ogden,此外还有neo-Hookean这种最简单的特例。它们之间的关系可以这么理解:Mooney-Rivlin是中等变形下的"万金油",Yeoh擅长描述大变形时的应变软化,Ogden精度上限最高但参数拟合也最麻烦。
| 模型 | 应变能形式 | 优点 | 局限 | 适合场景 |
|---|---|---|---|---|
| neo-Hookean | 只有1个材料参数 | 最简单,小变形下够用 | 大变形偏差明显 | 概念验证 |
| Mooney-Rivlin(2项) | C10,C01两个参数 | 参数少,中等变形稳定 | 大拉伸下误差增大 | 绝大多数气动驱动器初仿 |
| Yeoh(3项) | C10,C20,C30 | 大变形稳定,能模拟软化,参数适中 | 对压缩描述偏弱 | 大弯曲、薄膜大变形 |
| Ogden(N=2或3) | 多组α,μ参数 | 拟合精度高,覆盖宽应变范围 | 参数多,容易过拟合 | 精确复现实验曲线 |
我自己的经验是:做气动软体驱动器仿真,首选用两项的Mooney-Rivlin,也就是Abaqus里的N=2。理由很实在:软体驱动器工作应变通常处在中等水平,膜面拉伸虽然局部会很大,但整体来看MR2已经能给出趋势正确的预测;参数少意味着后续做实验校准的时候,待拟合变量少,不容易出现"参数自相矛盾"的情况。如果算出来的变形和实验差很远,而且实验曲线明显表现出了大拉伸段的软化平台,再换Yeoh也不迟。
2.2 从橡胶拉伸试验到材料参数拟合
理论上你可以从文献里抄一组硅橡胶参数直接用,但不同配方、不同固化温度、不同邵氏硬度的硅橡胶,力学行为差得非常大。最稳妥的做法是给自己的材料做一组单轴拉伸试验。
试验流程比较简单:把硅橡胶浇成哑铃型试片(国标或者ASTM D412的尺寸都行),用万能拉伸机以恒定速率拉,记录工程应力-工程应变曲线。如果想提高拟合精度,最好再补做一组平面拉伸和一组等双轴拉伸,但绝大多数场景下单轴拉伸数据已经足够标定出MR2参数。
拿到数据后处理需要几步:
- 把工程应力-工程应变转换成名义应力和名义应变,或者直接统一成Abaqus需要的名义应力-名义应变对;
- 对数据进行截断,一般只保留应变0~200%这一段,太靠近拉断的区间噪声太大;
- 在Abaqus的Material模块里选择Hyperelastic,输入应力-应变对,选好模型阶数,点Evaluate,让软件自己用最小二乘拟合出材料参数。
作为给用户的补充说明:这一步也可以手动用Python实现拟合,自由度更高,但必要性不大。Abaqus自带拟合对于常规硅橡胶已经足够。
给一个量级参考。邵氏硬度在00-30附近、常用于软体驱动器的透明硅橡胶,单轴拉伸拟合出来的Mooney-Rivlin参数通常在C10=0.01~0.05 MPa、C01=0.001~0.01 MPa这个范围。注意这只是一个量级参考,不要直接当参数用,因为你手里的材料弹性模量可能差出两三倍。
2.3 Abaqus里定义超弹性材料的实操写法
在CAE界面操作是点选Material→Mechanical→Elasticity→Hyperelastic,选Mooney-Rivlin,输入C10、C01以及D1。D1控制可压缩性,对近似不可压缩材料通常设为一个很小的值,比如1e-5 MPa^-1量级。顺便说一句,这里千万别填成0,完全不可压缩在隐式求解里容易引起数值奇异。
如果用inp文件,材料定义写起来大概是:
*Material, name=Rubber *Hyperelastic, Mooney-Rivlin, N=2 0.025, 0.004, 1e-05 *Density 1.0e-9第三个数是D1。密度在隐式静力分析中不影响结果,但如果你后面切换到Explicit准静态,密度就必须填对,因为它会被质量缩放用到。
还有一个新手容易忽略的点:超弹性材料参数有一定"适用范围"。你拟合时用的实验数据范围越窄,参数外推到大变形时越不可靠。所以如果驱动器工作压力下局部应变达到了300%,而参数拟合数据只到150%,仿真结果的变形趋势可信,但绝对数值一定要留有余量。
3. 气压载荷的三种建模方式:面压力、流体腔与全耦合的适用边界
气压是驱动力的来源,也是建模方式分歧最大的地方。同一个驱动器,用不同方式加载,计算量、收敛难度、物理真实度差别特别大。我把常见的三种做法放一起对比。
3.1 方法一:内壁直接施加pressure
这是最直观、上手最快的方式。把腔体内壁的所有面选中,施加一个法向压力,数值就是你期望的气压值,比如40 kPa。Abaqus在打开几何非线性后,压力方向会随面的转动自动更新,始终垂直于当前构型的表面,这本身是符合气体压力行为特征的。
这个方法的优点很突出:设置简单,计算稳定,几乎没有额外自由度。缺点也明显:你施加的压力是"恒定值",不管腔体膨胀多大,压力都保持不变。这相当于默认了气源是无穷大的恒压源。真实实验中,如果气源是封闭气室或者手动注射器,腔体膨胀会导致气压下降,用恒定压力就会高估变形。
对于做设计参数预研,我特别推荐先走这个方法。它能把几何尺寸、材料参数这些主要变量的影响快速暴露出来,计算一次几分钟到十几分钟,很适合批量扫描。
操作上,具体选面时最好提前建好Surface集合,比如叫CavityWall,加载时直接选这个集合,避免每次重选。加载数值的单位要和模型统一,如果你建的是毫米单位制模型,压力单位就是MPa。
3.2 方法二:Fluid Cavity(流体腔)
如果需要考虑腔内气体体积变化带来的压力变化,就要用Abaqus的Fluid Cavity功能。它把腔体内的气体当成一个可以压缩/膨胀的容积,通过流体腔单元来建立内压与体积的关系。
使用上你只需要做几件事:在Interactions模块创建Fluid Cavity属性,指定腔体表面集合和一个内部参考节点;给流体赋属性,比如理想气体、初始压力、初始体积;然后定义充气过程,比如向腔内注入一定质量的气体,或者给定一个体积变化。
这个方法在Abaqus/Standard里用得很成熟,适合模拟封闭气囊的充放气过程。但要注意它的求解比直接施加压力复杂得多,因为内压和构型变化双向耦合,收敛难度显著上升。我早期在某次模拟中尝试把多个腔体同时设成Fluid Cavity时,出现过反复迭代不收敛的情况,最后不得不把其中的次要腔体改成固定压力来化简。
流体腔的定义在inp里大概长这样:
*Fluid Cavity, Property=GasCavity, Reference Node=100 CavityWall, *Fluid Cavity Property, Name=GasCavity *Fluid Properties, Ideal Gas 1.4, 1.0第一个1.4是绝热指数,第二个数代表气体常数相关量,具体值按实际单位制换算。不过这种细节在不同版本之间略有差异,最好以当前版本文档为准。
3.3 方法三:流固耦合(CEL等)——什么时候才需要
第三种方法是用耦合欧拉-拉格朗日(CEL)或者更完整的流固耦合,把空气当作真正的欧拉材料建模,让它在欧拉域里流动并推动拉格朗日固体网格变形。这样最接近物理实际,能捕捉射流冲击、气体在腔体内的动态流动效应。
但我得说,除非你做的是高速驱动、冲击响应、或者腔体结构里存在阀门、射流这种强流体效应,否则没有必要上CEL。原因很简单:气动软体驱动器通常是准静态驱动,气体流动速度相对结构响应没有那么快,腔内压力在每一时刻基本可以认为是均匀的。这种情况下,直接面压力或流体腔已经能给出足够好的结果。CEL动辄几十万欧拉单元,计算量成倍增加,调试周期也长,对于大部分研究者来说是低效投入。
3.4 加载曲线的工程处理:平滑加载与准静态验证
无论用哪种方法,我都建议气压不要一步直接加到最大值。瞬态突加载荷会引起结构振荡,在Explicit里尤其明显。用光滑的幅值曲线让压力从0慢慢升到目标值,可以有效抑制动力噪声。
Abaqus里一般用Smooth Step幅值,定义总加载时间和目标值。加载时间怎么定?隐式分析里它只是一个虚拟时间,取0.1秒、1秒都行,只要能帮助收敛;显式分析里就要认真对待了,因为时间在显式求解里是真实的动力时间。
显式分析做准静态有一个重要的判据:动能与内能之比应该保持在5%以下,至少大部分驱动阶段保持在一个低水平。如果动能占比过高,说明加载太快,惯性效应占据主导,结果就偏离准静态了。这一步在后处理里用History Output输出ALLKE和ALLIE就能看到。
4. 把悬浮的模型算稳定:网格、求解器与收敛调试的实战记录
4.1 单元选择与网格密度:C3D8RH与C3D10H的选择逻辑
大部分教程会告诉你软体仿真要用杂交单元,但对为什么用杂交、什么时候用减缩积分、什么时候用二次四面体,讲得不够清楚。我来把这些关系捋清楚。
首先是杂交单元为什么绕不开。近似不可压缩材料在变形中体积变化趋近于零,常规单元会因为体积锁定导致应力振荡甚至刚度异常。Abaqus的超弹性分析中,C3D8H、C3D10H这些带H的就是杂交单元,它们引入独立静水压力自由度来缓解锁定。如果不带H,比如用C3D8R,在纯超弹性分析里经常算不动或者结果很飘。
其次是减缩积分。C3D8RH是一阶六面体减缩积分杂交单元,它计算速度不错,对弯曲为主的变形也可以接受,但一阶减缩积分单元容易出现沙漏模式,需要配合沙漏控制,并且网格不能太粗。C3D10H是二次四面体杂交单元,四面体虽然单元素质看起来低,但二次单元对大扭曲几何的适应性反而更好,尤其适合腔体这种有复杂曲面的模型,因为四面体网格自动生成几乎不需要手动切块。
我常用的策略是:驱动器主体用六面体网格能画出来就尽量画,用C3D8RH;如果几何太复杂、切块太费时间,就放手用四面体C3D10H,只要网格布得足够密,精度并不差,省下来的建模时间非常可观。
网格密度方面,腔体壁厚方向至少要有3层单元。少于3层的话,弯曲应力梯度根本表达不出来,算出的壁面应变可能偏低。腔体圆角、气道转角这些位置,网格要额外加密,因为应力集中通常出现在这些区域。
4.2 Standard还是Explicit:收敛性权衡与准静态判据
软体驱动器仿真里最让人头疼的就是隐式分析的收敛问题。Standard求解器理论上适合静力问题,但面对大变形、腔体内壁自接触、超弹性材料三重非线性,Newton迭代经常在几步之后就找不到平衡点,报出"Time increment required is less than the minimum"这类错误。
这时候有两个解决方向。第一,优化Step设置:开启几何非线性、把增量步设小、放宽收敛准则中不重要的容差,有时候能拖过去。第二,干脆换Explicit做准静态分析。显式求解器不需要迭代求解平衡方程,避开了最让人头痛的收敛问题,代价是你要面对稳定时间增量极小、可能需要做质量缩放的事实。
我的实际做法是:几何简单、接触少的情况优先试Standard,因为静力解干净利落,没有动态噪声;几何复杂、多次尝试收敛失败之后,果断切Explicit准静态,通常半天内就能把模型跑起来。
Explicit里做准静态,核心动作有两个。一是质量缩放,通过放大材料密度来提高稳定时间增量,加快计算速度;二是总时间设置,把加载时间拉长到足够让动能效应衰减。质量缩放系数不宜过大,我一般控制在让稳定增量接近1e-5这个量级就行。如果为了省时间把密度放大了1000倍以上,必须回头看动能/内能比,确认惯性力没有主导结果。
4.3 ALE网格自适应与接触设置
在大变形揉拧工况下,即使初始网格画得再漂亮,算到后面也容易出现单元严重畸变。Abaqus/Explicit里有一个很好用的工具叫ALE自适应网格(Arbitrary Lagrangian-Eulerian),它允许网格在计算过程中重新划分位置,而材料仍然对应正确的几何区域。
启用方式是在Mesh模块给模型区域设置ALE Adaptive Mesh Constraint,然后指定自适应频率。实际使用下来,ALE对防止腔体薄膜区域的过度扭曲效果非常显著。要注意的是,ALE不是万能的,它对大变形的区域有效,但如果单元已经被压成负体积,那一般已经晚了,最好在计算中途监控变形情况。
接触设置同样关键。驱动器大幅度弯曲时,腔体内壁会在内侧互相贴到一起。不设置自接触的话,单元会互相穿透,结果完全不可信。在Interaction模块创建Self-Contact,把整个驱动器外表面和腔内表面都包进去就行。法向接触用默认的硬接触,切向要不要摩擦?橡胶与橡胶之间的摩擦系数实测变化很大,可以从0.2~0.5范围取一个保守值。如果你只是定性观察变形趋势,先设成无摩擦影响也不大,但要注意在接触力敏感的工况下,摩擦会显著影响弯曲形态。
4.4 最常出现的报错与处理
来集中整理一下我遇到最多的问题,以及对应的处理思路:
| 现象 | 常见原因 | 处理办法 |
|---|---|---|
| Standard增量步无限缩小 | 接触状态剧烈变化或材料严重畸变 | 切Explicit准静态;微调网格;增加ALE |
| 单元负体积/畸变 | 局部变形过大、网格方向不合理 | 加密网格;开ALE;尝试二次四面体 |
| 动能/内能比过高 | 加载太快或质量缩放过大 | 延长加载时间;降低密度放大倍数 |
| 变形结果呈现锯齿状 | 网格太粗,模态被单元锁死 | 壁厚加密到3层以上单元 |
| 接触面互相穿透 | 没设置自接触或接触容差不对 | 补设自接触;检查接触对方向 |
遇到报错时先不要急着改参数,先把报错信息里的单元编号在显示里定位出来,看看到底是哪片区域出了问题。有相当多的情况,罪魁祸首是某个腔壁圆角处的单元布置太差,局部修一下网格比全局调参有效得多。
5. 仿真结果里到底该读什么:弯曲性能评估与后处理提数技巧
5.1 用参考点提取末端位移与弯曲角
计算跑完只是第一步,从结果里把"弯曲性能"量化出来才是真正给设计提供价值的环节。气动软体驱动器最常看的两个指标是末端线位移和弯曲角度。
提取末端位移的推荐做法是:在驱动器末端截面中心创建一个参考点,然后用Coupling约束把截面耦合到参考点上。这样在后处理里直接读参考点的U1、U2、U3就是末端位移,不用在几十万个节点里大海捞针。
弯曲角度可以从末端位移换算。假设驱动器从根部固定,末端横向位移为u,纵向收缩为v,驱动器原始长度为L,那么末端转角θ近似为θ = arctan(u/(L-v))。更严格的做法是在后端处理里取驱动器中心线的多个节点坐标,用拟合圆或者逐段切线求曲率再积分,但初期的设计迭代用近似公式已经足够。
有一个细节值得注意:软体驱动器的弯曲往往不是纯圆弧。靠近固定端的曲率大,靠近自由端的曲率小,这和截面内气压作用力分布有关。因此,评估弯曲性能不能只看一个末端转角,还要看变形后的整体形态是否满足使用场景——比如柔性夹爪关心的是包络形状是否贴合目标物体,可穿戴器件关心的是贴合人体关节的曲率分布。
5.2 应变场与撕裂风险判断
除了变形量,另一个必须看的指标是应变场。硅橡胶的失效通常不是简单"应力超过强度",因为在大变形下材料会先出现应变集中,然后微裂纹扩展,最终撕裂。所以工程设计上我更关注最大主应变。
在Abaqus后处理里,显示LE就得到对数应变场,重点关注腔体壁与约束层交界处、腔道转角内侧,这些地方往往是应变集中区域。如果最大主应变已经达到300%~400%量级,同时材料本构拟合数据只到200%,那仿真结果进入外推区,可靠性存疑。此时要么回炉做更高应变的材料试验,要么在设计中降低这些区域的应变集中。
还需要注意约束层的建模方式。很多驱动器底部的不可伸长层是纤维布或纸片,建模时可以用Surface或者嵌入的Shell单元模拟。如果你用实体网格建模,单元厚度要和实际纤维布接近,不然会过度约束,让弯曲完全变直,这最容易造成仿真与实验的巨大偏差。
5.3 从单点到曲线:气压-位移曲线与曲率分布提取
在设计驱动器的负载特性时,单看一个压力下的状态不够,我们需要"气压-位移曲线"。方法并不复杂:在Step里设定多个分析步,每个分析步对应一个压力载荷值,依次计算,然后把各步末端位移收集起来画成曲线。
这里我建议在操作上建立一个简单的输出管理习惯:用多个Load Cases或者重启动分析来避免重复建模。早期我都是每个压力值复制一个模型跑一遍,又慢又乱。后来改用*LOAD CASE或者直接在Python脚本里循环改压力值提交作业,效率高了很多。
提取曲率分布有几个办法。比较直接的路线是:在后处理模块用Path工具,沿驱动器中心线创建一系列路径点,输出这些点的坐标到文件,再用脚本拟合曲率。Abaqus的XY Data功能也可以提取单个节点在多个分析步的位移序列,用来画气压-位移曲线非常方便。
可能有人会问:Abaqus后处理为什么不直接出一张"曲率云图"?因为曲率是变形后中心线的几何性质,不是节点变量,需要额外处理。我一般把XY Data导成文本,用自己写的Python脚本处理,20行代码就能拟合出局部曲率,非常顺手。
6. 仿真预测和实测为什么总差一截:偏差来源与参数校准思路
6.1 材料参数的"批次漂移"
很多同学仿真和实验对不上,第一反应是怀疑软件算错了,但根据我的经验,最大头的误差往往来自材料参数。
硅橡胶的力学性能对手工混合比例、真空脱泡时间、固化温度非常敏感。同一个配方,今天浇出来的试片和上周的试片,模量可能差20%以上。如果你仿真用的是文献参数,而实验用的是自己浇的材料,那偏差基本是注定的。
此外,很多软体驱动器是浇注成型的,气道和壁厚受模具装配精度影响,实际壁厚可能比设计壁厚薄零点几毫米。别小看这零点几毫米,腔体壁的弯曲刚度与厚度呈三次方关系,壁厚差0.3mm,变形就能差出一大截。
6.2 边界约束的简化误差
约束层的等效刚度误差同样不可小觑。我见过很多仿真模型把约束层简化成"底面节点固定不动",这相当于给驱动器加了一个完全不可伸长、也不可弯曲的理想中性面,而实际纤维布在纤维方向刚度大、垂直纤维方向刚度很小,同时纤维布本身与硅胶之间还有剪切滑移。
更合理的做法是:把约束层建成一层覆盖底面区域的膜单元或壳单元,赋予一个各向异性的拉伸刚度。如果不想把建模搞得那么复杂,至少不要把所有底面节点直接全约束,而要留出弯曲时中性面移动的自由度。
6.3 加载条件与制造质量的影响
实验过程中气源、管路、阀门的动态特性也会干扰测量:手动注射器驱动的气压是逐渐衰减的,恒压气源则会在腔体膨胀时快速补气。仿真里如果用恒定压力加载,对应的是理想恒压源,实验必须确认自己的气源接近恒压特性,两者的结果才有可比性。
测量环节还有一个通常被忽略的点:驱动器是否已进行两次预循环。硅橡胶有显著的Mullins效应,也就是第一次拉伸后材料软化、之后的应力应变曲线会稳定下来。新浇的驱动器和做过几十次循环之后的驱动器,弯曲角度在同一压力下可以差出15%以上。仿真对应的是哪种状态?通常对应"稳定后"的响应,所以实验前一定要先让驱动器预循环若干次再记录数据。
6.4 一套最简可行的反演校准流程
既然偏差来源这么多,比较高效的策略不是"精确预测",而是"反演校准"。大致流程是这样的:
- 用你当前的材料参数建一个简单单轴拉伸试件的仿真,和实测拉伸曲线对比,先把纯材料参数校准到位;
- 用驱动器实际几何建仿真,在低压力下(比如10~20 kPa)对比实验位移,这时候变形还不大,几何和接触误差影响较小,主要偏差来自材料模量;
- 根据偏差方向,按比例调整C10、C01(偏高就按比例降,偏低就按比例升),重新跑仿真对比;
- 在大压力下继续对比,如果这一阶段出现明显的偏差扩大,再回头检查约束层建模和接触设置。
我可以给出一个经验:低压力阶段偏差如果在20%以内,继续调材料参数就有很大概率能收敛;如果低压力阶段就偏差50%以上,首先怀疑材料参数本身有问题,而不是盲目调整约束层。
实际校准过程里,我通常只调C10、C01这两个参数,用最小二乘误差做一个简单的参数扫描,跑二三十个作业后选误差最小的组合。整个过程看起来笨,但比"凭感觉改参数"可靠得多。
最后再分享一个小技巧:仿真模型里把驱动器固定端的约束方式尽量模拟真实夹具。很多人仿真里用的是"根部截面全约束",实验时却用台钳夹住驱动器根部的一部分硅胶,硅胶本身是软的,夹持区域会在压力下蠕动,相当于变相延长了驱动器。这个差异在长驱动器上尤其明显。解决办法是建模时额外延长一段根部,把约束加在远离变形区的实体端面上,实验结果和仿真立刻会变得更接近。