?

基于Python使用模擬退火算法的氣彈簧優化選項方案

2022-02-24 13:54陳鵬
新型工業化 2022年12期
關鍵詞:防護門固定點模擬退火

陳鵬

江蘇僅一聯合智造有限公司,江蘇鎮江,212300

0 引言

在非標準設備的開發過程中,氣彈簧經常使用在防護罩或防護門等的支撐場合。隨著非標設備的發展越來越快,種類越來越多,防護罩或者防護門的外形也各不一樣,如何快速的,合理準確地對氣彈簧的性能和安裝位置等快速選型設計就顯得格外重要[1]。

本文利用Python軟件,通過模擬退火算法優化了氣彈簧選型的過程,通過計算可以得出最優的氣彈簧力和安裝位置,此方法在實際應用過程中能夠快速選型完成,縮短了設計周期,提高了準確性。

1 理論基礎

1.1 氣彈簧的工作原理

普通氣彈簧的原理如下圖1所示,在氣彈簧密閉的墻體內注入高壓惰性氣體,活塞左右兩側設有通孔,因活塞兩側表面積不同,因此在氣體壓力下,會推動活塞向圖左側移動,即產生氣彈簧彈力F,彈力大小可以通過改變內腔氣壓大小或者活塞桿直徑等予以設定[2]。如圖1所示,F1,F2分別為無活塞桿和有活塞桿高壓氣體作用在活塞面上的壓力;S1,S2為無活塞桿側和活塞桿的截面積;因此氣彈簧力的平衡方程為:

圖1 普通氣彈簧工作原理

氣彈簧受力壓縮時,活塞桿與內壁的摩擦力與圖2氣彈簧輸出力曲線壓力相反;釋放伸長時,活塞桿與內壁的摩擦力與釋放力相反雖然在受力壓縮和釋放伸長的兩個過程的剛度(斜率)是相等的,但是在運動的起始和終止位置會存在力的跳躍,跳躍值為2倍的摩擦力所以氣彈簧輸出力曲線會呈現滯環現象,如圖3所示。

圖2 氣彈簧輸出力曲線

圖3 氣彈簧設計簡圖

1.2 常規氣彈簧設計流程

氣彈簧支撐系統在非標設備的防護門或者防護罩上布置的主要方式就是翻轉式[3-4]。無論防護罩和防護門的外形如何變化,其支撐的簡化模型均為相同,遵循力矩平衡。張建國等[5]對尾門受力進行分 析并建立力矩平衡方程如式 (1),當尾門打開或關閉到 任意角度時,其重力、氣彈簧支撐力、手臂操縱力對鉸 鏈軸的力矩之和為零。

此時,門關閉和打開狀態時:

非標設備防護罩的一般設計流程如下:

確定重力數值G,防護門關閉或打開狀態下重心位置,根據公式(2),求出:

綜上:

氣彈簧力F為:

為保證防護門打開小角度時,氣彈簧力能夠盡可能支撐防護罩或者防護門重量,一般F取值為,或略小于。

定義:

我們稱此時氣彈簧可以“懸?!保ú辉黾油饬Φ那闆r下,防護門可以停在任意位置),即。

然而上述算法僅能計算出特定的機架固定點坐標以及防護門固定點坐標下,值大小,并不能減小值,若此時值非常大,則無法實現“懸?!?。

反觀上述,常規氣彈簧設計存在著以下問題:①設計偏差較大,,和氣彈簧最大力和最小力不存在絕對對應關系;②安裝位置對于設計計算的影響很大;③設計時確定氣彈簧的安裝位置計算時間長,且無法確定最優解;④計算出的氣彈簧在實際使用中與設計結果相差甚遠。

2 Python的模擬退火算法優化設計

2.1 基于Python軟件的編程

Python作為一種簡單、易學、易讀、易維護的開源的編程語言,擁有非常強大的面向對象的能力,同時也具備一定的可擴展性和可擴充性,豐富的第三方庫也讓用戶可以進行web開發,爬蟲,科學計算等。為了充分利用Pyhton軟件的科學計算等的優勢,使用Python編寫了氣彈簧優化設計的計算程序。

2.2 模擬退火算法

模擬退火算法(Simulated Annealing,SA)最早的思想是由N.Metropolis[6]等人于1953年提出。1983年,S.Kirkpatrick 等成功地將退火思想引入到組合優化領域。模擬退火算法從某一較高初溫出發,伴隨溫度參數的不斷下降,結合概率突跳特性在解空間中隨機尋找目標函數的全局最優解,目前已在工程中應用非常廣泛。

本文利用模擬退火算法來進行優化設計過程中數據的龐大計算量,模擬退火算法優化過程詳見圖4。

圖4 模擬退火算法優化過程

2.3 確定基礎模型與基礎參數

利用inventor三維建模軟件,在原始坐標(0,0,0)處創建模型,繪制防護門的基礎模型,得到如下圖5所示。

圖5 防護門機架即防護門裝配三維圖

其中對氣彈簧參數選型主要影響因素有旋轉點的位置或者坐標,防護門固定點的位置或者坐標,機架固定點的位置或者坐標,防護門的質量和重心的位置或者坐標,氣彈簧的預估數量共計6大設計參數,通過將旋轉點置于(0,0)平面處,按照下圖示意圖創建坐標系,得出各設計參數位置坐標,見如下匯總表。

圖7 坐標系劃分示意圖

2.4 選取變量

本文主要對氣彈簧的兩個安裝位置或者坐標進行隨機性遍歷,即對機架固定點坐標和防護門固定點坐標,根據模型的外形尺寸,設定坐標隨機性遍歷的范圍,如表2所示。

表2 變量匯總表

2.5 目標函數構造

根據公式(3),可得當防護門打開θ角度時,氣彈簧的力計算如下:

其中G為重力,LGθ為防護門打開θ角度時,重力的力臂;Lfθ為防護門打開θ角度時,氣彈簧的力臂,Fθ為防護門打開θ角度時,所需的氣彈簧的力,此處暫不考慮氣彈簧摩擦力,操作力矩等。

2.6 算法設計

2.6.1 參數初始化

表3 初始化參數

2.6.2 降溫函數

降溫函數的選擇直接影響了算法的搜索速度,溫度高時全局搜索,溫度低時,算法進行局域搜索。本次采用標準降溫函數[7-8]:

其中TK退火后的溫度,T0為初始溫度,為了獲取更多的衰減次數,初始溫度取10000℃,K為衰減系數,可在0.8~0.99之間選擇,本文取0.99。

2.6.3 終止規則

模擬退火算法經常使用結束溫度作為其終止規則,即當溫度達到結束溫度時退火過程終止,即。隨著模擬退火算法的運行,退火溫度呈指數下降。此時溫度會無限接近于0,以本文溫度衰減系數0.99,初始溫度200為例,降低到本文T_end=0.001以下為止,需要迭代1604次[9],再包含內部內循環次數,能達到百萬級的計算量,足以獲得靠近全局最優解的方案。另,為保證每次模擬退火算法得出結論數據能夠橫向比較,增加了對于最優解集合內數量的要求(本文設定最優解數量至少為12),因此終止規則如下:

3 應用實例

以本文表1內參數為例,按照圖6模型進行匯總,可以計算出優化前氣彈簧基礎設計參數如下:

圖6 防護門及機架固定點示意圖

表1 設計參數匯總表

根據2.1節中圖5所顯示的模擬退火算法的優化設計計算流程,依據2.3節中變量匯總表內的最大值和最小值的取值范圍,經過模擬退火算法,Python輸出最優解列表trace內參數如圖8所示。

圖8 氣彈簧力波動值ΔF

表5 優化設計后參數匯總表

優化前的計算結果和優化后的計算結果如表4第4行和表5第6行所示,氣彈簧力波動值表明了防護門打開的穩定性,使用模擬退火算法計算后的結果要明顯優于計算前的結果,氣彈簧力波動值也從132降低到了46,降低了65%,而表5第6行即為整個防護門打開過程中氣彈簧所需要的最大力,也是后續選型的參考值,同時也利用Python計算出了氣彈簧的自由長度、壓縮長度等關鍵選型參數,便于后續選型使用。

表4 優化前氣彈簧參數表

將該結果用于最終設計,并測量了最終防護門的開關性能,并且在開關過程當中實現了上文所述的懸停。實測結果和優化計算結果有很好的吻合度。

4 結語

本文基于Python平臺,利用模擬退火算法對氣彈簧的兩端固定點進行了優化設計,降低了氣彈簧力波動值,從而提高了防護門開關的穩定性,減少了因設計者經驗或能力所限造成的氣彈簧選型錯誤的問題。并且本文提供的氣彈簧選型的優化設計思路,有效解決了傳統方法設計不準確、需要反復核準的問題,能夠一次準確地找到最優的設計結果,與此同時Python同步計算出氣彈簧選型所需要的關鍵參數,直接完成選型工作,為廣大設計者提供了新的思路。

猜你喜歡
防護門固定點模擬退火
結合模擬退火和多分配策略的密度峰值聚類算法
水下明挖隧道防護門設置對疏散救援影響研究
氣密防護門風致飛射物沖擊失效評估
基于改進模擬退火的布爾函數生成算法
某車型座椅安全帶安裝固定點強度分析
一種火箭起飛后快速關閉的液氫防護塔
改進模擬退火算法在TSP中的應用
某N1類車輛安全帶固定點強度對標及改進
溫壓彈爆炸沖擊波作用下防護門破壞模式研究
基于模擬退火剩余矩形算法的矩形件排樣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合