機械臂拓撲優化(減重+增加剛度)
說明:前期optisturct案例多是自己腦補的,比較簡單。后期本想做些稍微復雜的,但是很受幾何模型以及實際工況的限制,因此只能看到合適的就寫寫。至于后面推文,主要會以hyperstudy基礎學習為主,這對個人學習也是一個全新的挑戰。
1 前言 
圖 1 Inspire優化案例
上圖對于熟悉Solidthinking Inspire的伙伴一定不陌生,因為每次打開軟件總能看見這張圖片。我第一次見到這張圖也是覺得很神奇,雖然這種只能3D打印的結構被罵得也不少,不過這并不妨礙結構優化技術為設計提供靈感。下面我也就對一個簡易的機械臂模型進行優化,但是需要注意的是,這里只是針對某些工況進行分析優化,并沒有說一定比原結構好,做這個案例的目的也是根據前面的路子,開始處理一些稍微復雜點的結構而已,并不是去說優化出來的結構有多好(或者說肯定是考慮不全的),所以希望大家帶著這樣的心態去看文章,否則會因為文章里面很多由于個人說不清楚的部分使得大家產生誤會。
2 問題描述
圖 2 機械臂三維模型
如圖所示是網上找到的一個常見機械臂模型,現在考慮三種工況
工況一:夾持端受到沿著X方向(水平方向)100N的反力
工況二:夾持端受到沿著Z方向(豎直方向)100N的反力
工況三:夾持端受到沿著Y方向(紙面方向)20N的側向力
現預綜合考慮三種工況,希望對結構進行一定減重,并使得各工況下最大位移均不超過原始結構。
3 問題分析
首先我們初步選定下可優化的部位。這步一方面是對我們的優化目標有個初步的認識,另一方面是為了簡化分析,仔細考慮下希望優化的部分,其余部分可做稍大簡化。觀察結構,我們會發現大臂那一塊機構有較大優化潛力,包括連桿以及連桿傳動軸。其次,臂座那一塊貌似也有很多閑置材料。因此我們初步定義的可優化部分有大臂,連桿,連桿傳動軸以及臂座。
其次,按照套路,我們需要先進行一個靜力分析,分析下各工況下結構的強度以及剛度情況。這一步主要是為了確認現在的結構是否滿足要求以及現結構的受力分布。
最后,該問題屬于一個多工況問題,需要進行多工況優化。我們在第二步也可以判斷三個工況的影響程度,可以將影響不大的工況直接不予考慮。
4 靜力分析
4.1 前處理
原模型還是比較復雜的,但是由于我們優化部分僅僅集中在大臂那一塊,所以很多地方是沒必要進行建模的(實際看大家對分析的精度要求吧,我這里就是圖省事兒),這里僅處理下面部分:
圖 3 大臂部分三維模型
小臂部分準備直接處理成剛臂,與臂座相連的箱體處理地面(這里對小臂的處理比較粗糙),然后對該結構進行幾何特征的簡化,主要包括去除不重要或者對應力分布影響不大的部分,得到如下簡化的幾何模型:
圖 4 簡化的大臂模型
對該幾何模型進行網格劃分,連接關系的處理,屬性賦予以及邊界條件的施加,最終能得到如下所示的用于分析有限元模型:
圖 5 有限元分析模型
當然,這里涉及到一些比較重要的知識我就不像前面幾篇文章那樣直接跳過了,簡單說一下:
首先是大臂部分,這部分中間是個掏空的殼體(內部需要走線),兩端是與臂座以及小臂做連接的關節,具有實體特征。如果直接全部實體處理,網格量會很大(按照實體網格厚度方向的要求),所以大臂建議中間使用殼體,兩頭使用實體,過渡部分使用rbe3進行連接(對hm不熟的話這個說法可以簡單理解為ansys的約束方程)(當然也可以共節點處理,如果想要給網格劃分帶來額外負擔的話)如下所示:
圖 6 殼→實體連接(rbe3)
其次,關節軸的簡化很重要,關鍵是在簡化軸的時候,我們需要釋放旋轉自由度。本文暫時不考慮軸的變形,因此均用rbe2剛性單元處理。軸與孔內壁的連接也使用rbe2處理(過度使用rbe2的確會帶來局部剛度增加的問題,但是對于實體內孔,個人認為變形不會很大,所以使用rbe2簡化對精度的影響可以控制在一定的水平)
圖 7 軸簡化模型
圖中rbe2的12346表示可傳遞X,Y,Z,ROTX,ROTZ自由度,5為ROTY自由度(旋轉自由度)進行釋放。黑色為軸,青色為軸端部與內孔連接。這里還需要注意點是,和電動機連接的那個軸需要傳遞所有自由度,因為機械臂保持這個姿態的時候,電動機是限制了自轉的,這里不細說,大家可以體會下,否則對于靜力該結構約束不足。
最后,關于約束問題。這個在前面文章也說過,對于這種下部結構簡化成地面時后可以怎么處理。主要是因為在結構受壓時下部結構提供接觸支撐,受拉時支撐又不存在,這是一個典型的接觸非線性。但是接觸的計算量太大,我們需要控制計算精度的話,可以根據變形結果對下陷的部分進行支撐,如下圖所示,具體分析可以看前文《結構優化案例4-梁殼結構尺寸優化(優化剛度)》:
圖 8 約束條件說明
4.2 結果分析
4.2.1 工況一
圖 9 工況一結果
位移云圖(左)
Von-mise應力云圖(右)
可以看到,工況一(豎直力)作用下,最大位移0.089mm,最大應力3.88MPa。仔細觀察應力分布,會發現連桿以及連桿連接軸受力相對比較大,而大臂本身受力相對較小。
4.2.2 工況二
圖 10 工況二結果
位移云圖(左)
Von-mise應力云圖(右)
工況二(水平力)作用下,最大位移0.031mm,最大應力1.67MPa。這時連桿,連桿傳動軸以及大臂受力都相對較大。
4.2.3 工況三
圖 11 工況三結果
位移云圖(左)
Von-mise應力云圖(右)
工況三(側向力力)作用下,最大位移0.039mm,最大應力2.85MPa。這時大臂應力相對較大,說明大臂在抵抗側向彎曲中起到了主要作用。
三個工況都走了一遍以后,我們需要好好想想以制定下優化策略。
5 結構優化
5.1 優化空間定義
優化空間的定義得根據我們的分析結果。從靜力結果可以至少可以得出以下幾點:
① 我們優化的目標為三個工況的位移不大于0.089mm,0.031mm,0.039mm,并且與原結構相比達到減重
② 臂座全程應力較小,說明優化空間較大,直接優化,不進行處理。
③ 連桿傳動軸在工況一以及工況二幾乎全部用上,說明優化空間較小,再加上這部分結構本身較小,因此不進行優化。
④ 連桿應力分布集中在上下面,中部應力相對較小,說明這部分本身具有優化空間。并且仔細觀察變形趨勢,這部分變形較大,所以也可以考慮額外增設優化空間。
⑤ 大臂部分應力并沒有前面兩個嚴峻,這里將其作為減重的主要部分,去掉原加強筋移,在中部增設加強筋,進行優化。
按照上述原則,我們用于優化的幾何模型大概長成這樣(一個優化分析需要不斷更改優化區間的選取,并作對比,這里僅以一種優化策略為例):

圖 12 用于優化的幾何模型
5.2 預分析
在進行優化前,對結構進行預分析,確定個方向留有余量。施加相同的三個工況,分別得到最大位移為0.066mm,0.021mm,0.022mm,與前面的0.089mm,0.031mm,0.039mm相比均留有余量,因此后面的拓撲優化能正常進行。
5.3 優化問題定義的思考
這一步在我看來還是挺復雜的,對于該分析也試了十幾種約束與目標的組合,暫時總結了幾個重點:
①我們優化的目的是啥?減重+達到目標位移要求?真的只有這兩點嗎?其實對于所有拓撲優化問題,我們有一個隱藏的要求,那就是得到一個至少看起來合理的結構。而且大部分時候,這一點反而是最重要的。為什么這么說?我們如果單純的想減重,完全是不需要使用拓撲優化的,換個材料,試算幾種方案也能達到效果。會采用拓撲優化的原因是因為他能提供一些我們想象不到的合理的結構,為設計提供靈感。
②如果能接受上面所說的,那么重點就來了。對于一個比較復雜的結構,我們加上各種剛度應力約束以及體積比限制,然后等著計算機給出一個完美的傳力路徑,這個幾乎不可能。且不說各種約束之間會發生沖突導致不收斂,在這么多限制條件下,優化出來的結果很可能讓人失望。
③當我們加上了位移限制,體積比限制以及最小柔順性目標,看似很平常,實則暗藏殺機。首先,最大位移限制和結構的柔順性是密切相關的,這兩者同臺競技很容易發生干涉。其次,體積比可不能隨便加,這個直接與最大位移限制產生干涉,這個理解起來也很簡單,倘若設定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,這個能保證得到較好的傳力路徑,但是可能與目標產生一定差距。
按照上述套路的話,得到一個比較滿意的傳力路徑還是可以的,但是前提是裕度一定要滿足,否則優化結果與指定要求差太多,后期調起來也是很扎心的。不過真的要做好一個優化,估計得做很多次啦,這個個人自己把捏。
5.4 定義優化問題
按照上述套路,我先指定如下優化問題:
目標函數:
加權柔順性(綜合考慮三個工況)
約束條件:
大臂(殼),體積比上限0.3,最小尺寸約束15mm,單對稱約束
大臂(加強筋),體積比上限0.3,最小尺寸約束15mm,單對稱約束
連桿(實體),體積比上限0.3,最小尺寸約束15mm,擠出約束
臂座(實體),體積比上限0.3,最小尺寸約束15mm,單對稱約束
其余參數:
最大迭代步100,罰指數3
由于這次優化就是為了得到傳力路徑,并不是一定得滿足預定位移要求,因此體積比0.3還是0.5不用很糾結,可以多試算幾次。
5.5 優化結果
我們去掉密度小于0.3的單元,先看下優化結果:
圖 13 拓撲優化結果
可以看到大臂給出的是類似屬于起重機的桁架結構,連桿給出的是直桿(那里就是個二力桿),底座給出了從轉軸上下兩側支撐的結構。純從優化結果上看還是好的。下面看看各工況最大位移(第38步優化結果即最后一步):
工況一:0.012mm,工況二:0.044mm,工況三:0.16mm
而我們的目標是:
工況一:0.089mm,工況二:0.031mm,工況三:0.039mm
可以看到,各個位移均超出要求了,不過不用擔心,這個是我們預料之中,最開始留有裕度就是為了防止超出過多。并且也可以看到,工況三超出好幾倍,這說明大臂減去70%質量對側向位移影響最大,不過這些在后續幾何重建均可以達到要求,就算沒有達到要求我們也可以通過后續的尺寸已經形狀優化來確定,所以完全不用擔心,因為合理的傳力路徑已經找到。當然要完成這個問題后面要做的工作還是蠻多,但是本文的目的已經達到,暫時就到這里啦。
來源:CAE交流之家
作者: ansys-聰聰
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















