说明:前期optisturct案例多是自己脑补的,比较简单。后期本想做些稍微复杂的,但是很受几何模型以及实际工况的限制,因此只能看到合适的就写写。至于后面推文,主要会以hyperstudy基础学习为主,这对个人学习也是一个全新的挑战。
图 1 Inspire优化案例
上图对于熟悉Solidthinking Inspire的伙伴一定不陌生,因为每次打开软件总能看见这张图片。我第一次见到这张图也是觉得很神奇,虽然这种只能3D打印的结构被骂得也不少,不过这并不妨碍结构优化技术为设计提供灵感。下面我也就对一个简易的机械臂模型进行优化,但是需要注意的是,这里只是针对某些工况进行分析优化,并没有说一定比原结构好,做这个案例的目的也是根据前面的路子,开始处理一些稍微复杂点的结构而已,并不是去说优化出来的结构有多好(或者说肯定是考虑不全的),所以希望大家带着这样的心态去看文章,否则会因为文章里面很多由于个人说不清楚的部分使得大家产生误会。
图 2 机械臂三维模型
如图所示是网上找到的一个常见机械臂模型,现在考虑三种工况
工况一:夹持端受到沿着X方向(水平方向)100N的反力
工况二:夹持端受到沿着Z方向(竖直方向)100N的反力
工况三:夹持端受到沿着Y方向(纸面方向)20N的侧向力
现预综合考虑三种工况,希望对结构进行一定减重,并使得各工况下最大位移均不超过原始结构。
首先我们初步选定下可优化的部位。这步一方面是对我们的优化目标有个初步的认识,另一方面是为了简化分析,仔细考虑下希望优化的部分,其余部分可做稍大简化。观察结构,我们会发现大臂那一块机构有较大优化潜力,包括连杆以及连杆传动轴。其次,臂座那一块貌似也有很多闲置材料。因此我们初步定义的可优化部分有大臂,连杆,连杆传动轴以及臂座。
其次,按照套路,我们需要先进行一个静力分析,分析下各工况下结构的强度以及刚度情况。这一步主要是为了确认现在的结构是否满足要求以及现结构的受力分布。
最后,该问题属于一个多工况问题,需要进行多工况优化。我们在第二步也可以判断三个工况的影响程度,可以将影响不大的工况直接不予考虑。
原模型还是比较复杂的,但是由于我们优化部分仅仅集中在大臂那一块,所以很多地方是没必要进行建模的(实际看大家对分析的精度要求吧,我这里就是图省事儿),这里仅处理下面部分:
图 3 大臂部分三维模型
小臂部分准备直接处理成刚臂,与臂座相连的箱体处理地面(这里对小臂的处理比较粗糙),然后对该结构进行几何特征的简化,主要包括去除不重要或者对应力分布影响不大的部分,得到如下简化的几何模型:
图 4 简化的大臂模型
对该几何模型进行网格划分,连接关系的处理,属性赋予以及边界条件的施加,最终能得到如下所示的用于分析有限元模型:
图 5 有限元分析模型
当然,这里涉及到一些比较重要的知识我就不像前面几篇文章那样直接跳过了,简单说一下:
首先是大臂部分,这部分中间是个掏空的壳体(内部需要走线),两端是与臂座以及小臂做连接的关节,具有实体特征。如果直接全部实体处理,网格量会很大(按照实体网格厚度方向的要求),所以大臂建议中间使用壳体,两头使用实体,过渡部分使用rbe3进行连接(对hm不熟的话这个说法可以简单理解为ansys的约束方程)(当然也可以共节点处理,如果想要给网格划分带来额外负担的话)如下所示:
图 6 壳→实体连接(rbe3)
其次,关节轴的简化很重要,关键是在简化轴的时候,我们需要释放旋转自由度。本文暂时不考虑轴的变形,因此均用rbe2刚性单元处理。轴与孔内壁的连接也使用rbe2处理(过度使用rbe2的确会带来局部刚度增加的问题,但是对于实体内孔,个人认为变形不会很大,所以使用rbe2简化对精度的影响可以控制在一定的水平)
图 7 轴简化模型
图中rbe2的12346表示可传递X,Y,Z,ROTX,ROTZ自由度,5为ROTY自由度(旋转自由度)进行释放。黑色为轴,青色为轴端部与内孔连接。这里还需要注意点是,和电动机连接的那个轴需要传递所有自由度,因为机械臂保持这个姿态的时候,电动机是限制了自转的,这里不细说,大家可以体会下,否则对于静力该结构约束不足。
最后,关于约束问题。这个在前面文章也说过,对于这种下部结构简化成地面时后可以怎么处理。主要是因为在结构受压时下部结构提供接触支撑,受拉时支撑又不存在,这是一个典型的接触非线性。但是接触的计算量太大,我们需要控制计算精度的话,可以根据变形结果对下陷的部分进行支撑,如下图所示,具体分析可以看前文《结构优化案例4-梁壳结构尺寸优化(优化刚度)》:
图 8 约束条件说明
图 9 工况一结果
位移云图(左)
Von-mise应力云图(右)
可以看到,工况一(竖直力)作用下,最大位移0.089mm,最大应力3.88MPa。仔细观察应力分布,会发现连杆以及连杆连接轴受力相对比较大,而大臂本身受力相对较小。
图 10 工况二结果
位移云图(左)
Von-mise应力云图(右)
工况二(水平力)作用下,最大位移0.031mm,最大应力1.67MPa。这时连杆,连杆传动轴以及大臂受力都相对较大。
图 11 工况三结果 位移云图(左) Von-mise应力云图(右)
工况三(侧向力力)作用下,最大位移0.039mm,最大应力2.85MPa。这时大臂应力相对较大,说明大臂在抵抗侧向弯曲中起到了主要作用。
三个工况都走了一遍以后,我们需要好好想想以制定下优化策略。
优化空间的定义得根据我们的分析结果。从静力结果可以至少可以得出以下几点:
① 我们优化的目标为三个工况的位移不大于0.089mm,0.031mm,0.039mm,并且与原结构相比达到减重
② 臂座全程应力较小,说明优化空间较大,直接优化,不进行处理。
③ 连杆传动轴在工况一以及工况二几乎全部用上,说明优化空间较小,再加上这部分结构本身较小,因此不进行优化。
④ 连杆应力分布集中在上下面,中部应力相对较小,说明这部分本身具有优化空间。并且仔细观察变形趋势,这部分变形较大,所以也可以考虑额外增设优化空间。
⑤ 大臂部分应力并没有前面两个严峻,这里将其作为减重的主要部分,去掉原加强筋移,在中部增设加强筋,进行优化。
按照上述原则,我们用于优化的几何模型大概长成这样(一个优化分析需要不断更改优化区间的选取,并作对比,这里仅以一种优化策略为例):
在进行优化前,对结构进行预分析,确定个方向留有余量。施加相同的三个工况,分别得到最大位移为0.066mm,0.021mm,0.022mm,与前面的0.089mm,0.031mm,0.039mm相比均留有余量,因此后面的拓扑优化能正常进行。
这一步在我看来还是挺复杂的,对于该分析也试了十几种约束与目标的组合,暂时总结了几个重点:
①我们优化的目的是啥?减重+达到目标位移要求?真的只有这两点吗?其实对于所有拓扑优化问题,我们有一个隐藏的要求,那就是得到一个至少看起来合理的结构。而且大部分时候,这一点反而是最重要的。为什么这么说?我们如果单纯的想减重,完全是不需要使用拓扑优化的,换个材料,试算几种方案也能达到效果。会采用拓扑优化的原因是因为他能提供一些我们想象不到的合理的结构,为设计提供灵感。
②如果能接受上面所说的,那么重点就来了。对于一个比较复杂的结构,我们加上各种刚度应力约束以及体积比限制,然后等着计算机给出一个完美的传力路径,这个几乎不可能。且不说各种约束之间会发生冲突导致不收敛,在这么多限制条件下,优化出来的结果很可能让人失望。
③当我们加上了位移限制,体积比限制以及最小柔顺性目标,看似很平常,实则暗藏杀机。首先,最大位移限制和结构的柔顺性是密切相关的,这两者同台竞技很容易发生干涉。其次,体积比可不能随便加,这个直接与最大位移限制产生干涉,这个理解起来也很简单,倘若设定0.3的体积比上限,若在这个限制下结构无论如何也达不到位移要求呢?
④上面都清楚后,看最后一点。我们希望结构拓扑出来直接满足要求,这个可能或者说有意义吗?首先,我们不得不说,我们看到的结果或者说提取的结果是过滤了部分中间密度单元的,而软件给的结果是考虑所有单元的。其次,我们提取结果会把部分灰度单元实心化。打个比方,我们拓扑结果有0.001~1密度的单元,现在去掉0.001~0.3密度单元,整体刚度降低。提取结果又将0.3~1全部实体1化,刚度又增加。这里说明人为可调控的因素很大,因此就算结果没达到指定要求,人是活的,是可以增加部分结构的。
经过长达三天的各种约束以及目标的试算,想和大家交流的地方其实远远不止这么多,本文就先说这几点,然后说下个人对于复杂模型的策略。
Step1:初始设计区域相对于原结构一定要留有一定裕度(不要太小),否则重新调整下用于优化的模型。
Step2:分区域优化。要得到看起来比较好的结果,我们需要针对结构的不同部位设定不同的工艺约束,因此需要将原来一个拓扑空间分成多个子空间(这点后面点一下)。
Step3:对于简单结构优先使用指定要求+最小质量/体积CP1,对于复杂结构(大部分情况)建议使用体积比+最小柔顺性CP2。
Step4:假设使用step3中CP2,得到结果与需求目标(比如位移)相差很大,说明step1没做好,重新考虑下step1或者其余解决方法。如果很接近,对优化结果微调即可。假设使用CP1,得到结果传力路径很模糊,可以考虑CP2,这个能保证得到较好的传力路径,但是可能与目标产生一定差距。
按照上述套路的话,得到一个比较满意的传力路径还是可以的,但是前提是裕度一定要满足,否则优化结果与指定要求差太多,后期调起来也是很扎心的。不过真的要做好一个优化,估计得做很多次啦,这个个人自己把捏。
按照上述套路,我先指定如下优化问题:
目标函数:
加权柔顺性(综合考虑三个工况)
约束条件:
大臂(壳),体积比上限0.3,最小尺寸约束15mm,单对称约束
大臂(加强筋),体积比上限0.3,最小尺寸约束15mm,单对称约束
连杆(实体),体积比上限0.3,最小尺寸约束15mm,挤出约束
臂座(实体),体积比上限0.3,最小尺寸约束15mm,单对称约束
其余参数:
最大迭代步100,罚指数3
由于这次优化就是为了得到传力路径,并不是一定得满足预定位移要求,因此体积比0.3还是0.5不用很纠结,可以多试算几次。
我们去掉密度小于0.3的单元,先看下优化结果:
图 13 拓扑优化结果
可以看到大臂给出的是类似属于起重机的桁架结构,连杆给出的是直杆(那里就是个二力杆),底座给出了从转轴上下两侧支撑的结构。纯从优化结果上看还是好的。下面看看各工况最大位移(第38步优化结果即最后一步):
工况一:0.012mm,工况二:0.044mm,工况三:0.16mm
而我们的目标是:
工况一:0.089mm,工况二:0.031mm,工况三:0.039mm
可以看到,各个位移均超出要求了,不过不用担心,这个是我们预料之中,最开始留有裕度就是为了防止超出过多。并且也可以看到,工况三超出好几倍,这说明大臂减去70%质量对侧向位移影响最大,不过这些在后续几何重建均可以达到要求,就算没有达到要求我们也可以通过后续的尺寸已经形状优化来确定,所以完全不用担心,因为合理的传力路径已经找到。当然要完成这个问题后面要做的工作还是蛮多,但是本文的目的已经达到,暂时就到这里啦。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删