陳鵬
江蘇僅一聯(lián)合智造有限公司,江蘇鎮(zhèn)江,212300
在非標(biāo)準(zhǔn)設(shè)備的開發(fā)過程中,氣彈簧經(jīng)常使用在防護(hù)罩或防護(hù)門等的支撐場(chǎng)合。隨著非標(biāo)設(shè)備的發(fā)展越來越快,種類越來越多,防護(hù)罩或者防護(hù)門的外形也各不一樣,如何快速的,合理準(zhǔn)確地對(duì)氣彈簧的性能和安裝位置等快速選型設(shè)計(jì)就顯得格外重要[1]。
本文利用Python軟件,通過模擬退火算法優(yōu)化了氣彈簧選型的過程,通過計(jì)算可以得出最優(yōu)的氣彈簧力和安裝位置,此方法在實(shí)際應(yīng)用過程中能夠快速選型完成,縮短了設(shè)計(jì)周期,提高了準(zhǔn)確性。
普通氣彈簧的原理如下圖1所示,在氣彈簧密閉的墻體內(nèi)注入高壓惰性氣體,活塞左右兩側(cè)設(shè)有通孔,因活塞兩側(cè)表面積不同,因此在氣體壓力下,會(huì)推動(dòng)活塞向圖左側(cè)移動(dòng),即產(chǎn)生氣彈簧彈力F,彈力大小可以通過改變內(nèi)腔氣壓大小或者活塞桿直徑等予以設(shè)定[2]。如圖1所示,F(xiàn)1,F(xiàn)2分別為無活塞桿和有活塞桿高壓氣體作用在活塞面上的壓力;S1,S2為無活塞桿側(cè)和活塞桿的截面積;因此氣彈簧力的平衡方程為:
圖1 普通氣彈簧工作原理
氣彈簧受力壓縮時(shí),活塞桿與內(nèi)壁的摩擦力與圖2氣彈簧輸出力曲線壓力相反;釋放伸長(zhǎng)時(shí),活塞桿與內(nèi)壁的摩擦力與釋放力相反雖然在受力壓縮和釋放伸長(zhǎng)的兩個(gè)過程的剛度(斜率)是相等的,但是在運(yùn)動(dòng)的起始和終止位置會(huì)存在力的跳躍,跳躍值為2倍的摩擦力所以氣彈簧輸出力曲線會(huì)呈現(xiàn)滯環(huán)現(xiàn)象,如圖3所示。
圖2 氣彈簧輸出力曲線
圖3 氣彈簧設(shè)計(jì)簡(jiǎn)圖
氣彈簧支撐系統(tǒng)在非標(biāo)設(shè)備的防護(hù)門或者防護(hù)罩上布置的主要方式就是翻轉(zhuǎn)式[3-4]。無論防護(hù)罩和防護(hù)門的外形如何變化,其支撐的簡(jiǎn)化模型均為相同,遵循力矩平衡。張建國(guó)等[5]對(duì)尾門受力進(jìn)行分 析并建立力矩平衡方程如式 (1),當(dāng)尾門打開或關(guān)閉到 任意角度時(shí),其重力、氣彈簧支撐力、手臂操縱力對(duì)鉸 鏈軸的力矩之和為零。
此時(shí),門關(guān)閉和打開狀態(tài)時(shí):
非標(biāo)設(shè)備防護(hù)罩的一般設(shè)計(jì)流程如下:
確定重力數(shù)值G,防護(hù)門關(guān)閉或打開狀態(tài)下重心位置,根據(jù)公式(2),求出:
綜上:
氣彈簧力F為:
為保證防護(hù)門打開小角度時(shí),氣彈簧力能夠盡可能支撐防護(hù)罩或者防護(hù)門重量,一般F取值為,或略小于。
定義:
我們稱此時(shí)氣彈簧可以“懸?!保ú辉黾油饬Φ那闆r下,防護(hù)門可以停在任意位置),即。
然而上述算法僅能計(jì)算出特定的機(jī)架固定點(diǎn)坐標(biāo)以及防護(hù)門固定點(diǎn)坐標(biāo)下,值大小,并不能減小值,若此時(shí)值非常大,則無法實(shí)現(xiàn)“懸停”。
反觀上述,常規(guī)氣彈簧設(shè)計(jì)存在著以下問題:①設(shè)計(jì)偏差較大,,和氣彈簧最大力和最小力不存在絕對(duì)對(duì)應(yīng)關(guān)系;②安裝位置對(duì)于設(shè)計(jì)計(jì)算的影響很大;③設(shè)計(jì)時(shí)確定氣彈簧的安裝位置計(jì)算時(shí)間長(zhǎng),且無法確定最優(yōu)解;④計(jì)算出的氣彈簧在實(shí)際使用中與設(shè)計(jì)結(jié)果相差甚遠(yuǎn)。
Python作為一種簡(jiǎn)單、易學(xué)、易讀、易維護(hù)的開源的編程語(yǔ)言,擁有非常強(qiáng)大的面向?qū)ο蟮哪芰?,同時(shí)也具備一定的可擴(kuò)展性和可擴(kuò)充性,豐富的第三方庫(kù)也讓用戶可以進(jìn)行web開發(fā),爬蟲,科學(xué)計(jì)算等。為了充分利用Pyhton軟件的科學(xué)計(jì)算等的優(yōu)勢(shì),使用Python編寫了氣彈簧優(yōu)化設(shè)計(jì)的計(jì)算程序。
模擬退火算法(Simulated Annealing,SA)最早的思想是由N.Metropolis[6]等人于1953年提出。1983年,S.Kirkpatrick 等成功地將退火思想引入到組合優(yōu)化領(lǐng)域。模擬退火算法從某一較高初溫出發(fā),伴隨溫度參數(shù)的不斷下降,結(jié)合概率突跳特性在解空間中隨機(jī)尋找目標(biāo)函數(shù)的全局最優(yōu)解,目前已在工程中應(yīng)用非常廣泛。
本文利用模擬退火算法來進(jìn)行優(yōu)化設(shè)計(jì)過程中數(shù)據(jù)的龐大計(jì)算量,模擬退火算法優(yōu)化過程詳見圖4。
圖4 模擬退火算法優(yōu)化過程
利用inventor三維建模軟件,在原始坐標(biāo)(0,0,0)處創(chuàng)建模型,繪制防護(hù)門的基礎(chǔ)模型,得到如下圖5所示。
圖5 防護(hù)門機(jī)架即防護(hù)門裝配三維圖
其中對(duì)氣彈簧參數(shù)選型主要影響因素有旋轉(zhuǎn)點(diǎn)的位置或者坐標(biāo),防護(hù)門固定點(diǎn)的位置或者坐標(biāo),機(jī)架固定點(diǎn)的位置或者坐標(biāo),防護(hù)門的質(zhì)量和重心的位置或者坐標(biāo),氣彈簧的預(yù)估數(shù)量共計(jì)6大設(shè)計(jì)參數(shù),通過將旋轉(zhuǎn)點(diǎn)置于(0,0)平面處,按照下圖示意圖創(chuàng)建坐標(biāo)系,得出各設(shè)計(jì)參數(shù)位置坐標(biāo),見如下匯總表。
圖7 坐標(biāo)系劃分示意圖
本文主要對(duì)氣彈簧的兩個(gè)安裝位置或者坐標(biāo)進(jìn)行隨機(jī)性遍歷,即對(duì)機(jī)架固定點(diǎn)坐標(biāo)和防護(hù)門固定點(diǎn)坐標(biāo),根據(jù)模型的外形尺寸,設(shè)定坐標(biāo)隨機(jī)性遍歷的范圍,如表2所示。
表2 變量匯總表
根據(jù)公式(3),可得當(dāng)防護(hù)門打開θ角度時(shí),氣彈簧的力計(jì)算如下:
其中G為重力,LGθ為防護(hù)門打開θ角度時(shí),重力的力臂;Lfθ為防護(hù)門打開θ角度時(shí),氣彈簧的力臂,F(xiàn)θ為防護(hù)門打開θ角度時(shí),所需的氣彈簧的力,此處暫不考慮氣彈簧摩擦力,操作力矩等。
2.6.1 參數(shù)初始化
表3 初始化參數(shù)
2.6.2 降溫函數(shù)
降溫函數(shù)的選擇直接影響了算法的搜索速度,溫度高時(shí)全局搜索,溫度低時(shí),算法進(jìn)行局域搜索。本次采用標(biāo)準(zhǔn)降溫函數(shù)[7-8]:
其中TK退火后的溫度,T0為初始溫度,為了獲取更多的衰減次數(shù),初始溫度取10000℃,K為衰減系數(shù),可在0.8~0.99之間選擇,本文取0.99。
2.6.3 終止規(guī)則
模擬退火算法經(jīng)常使用結(jié)束溫度作為其終止規(guī)則,即當(dāng)溫度達(dá)到結(jié)束溫度時(shí)退火過程終止,即。隨著模擬退火算法的運(yùn)行,退火溫度呈指數(shù)下降。此時(shí)溫度會(huì)無限接近于0,以本文溫度衰減系數(shù)0.99,初始溫度200為例,降低到本文T_end=0.001以下為止,需要迭代1604次[9],再包含內(nèi)部?jī)?nèi)循環(huán)次數(shù),能達(dá)到百萬級(jí)的計(jì)算量,足以獲得靠近全局最優(yōu)解的方案。另,為保證每次模擬退火算法得出結(jié)論數(shù)據(jù)能夠橫向比較,增加了對(duì)于最優(yōu)解集合內(nèi)數(shù)量的要求(本文設(shè)定最優(yōu)解數(shù)量至少為12),因此終止規(guī)則如下:
以本文表1內(nèi)參數(shù)為例,按照?qǐng)D6模型進(jìn)行匯總,可以計(jì)算出優(yōu)化前氣彈簧基礎(chǔ)設(shè)計(jì)參數(shù)如下:
圖6 防護(hù)門及機(jī)架固定點(diǎn)示意圖
表1 設(shè)計(jì)參數(shù)匯總表
根據(jù)2.1節(jié)中圖5所顯示的模擬退火算法的優(yōu)化設(shè)計(jì)計(jì)算流程,依據(jù)2.3節(jié)中變量匯總表內(nèi)的最大值和最小值的取值范圍,經(jīng)過模擬退火算法,Python輸出最優(yōu)解列表trace內(nèi)參數(shù)如圖8所示。
圖8 氣彈簧力波動(dòng)值ΔF
表5 優(yōu)化設(shè)計(jì)后參數(shù)匯總表
優(yōu)化前的計(jì)算結(jié)果和優(yōu)化后的計(jì)算結(jié)果如表4第4行和表5第6行所示,氣彈簧力波動(dòng)值表明了防護(hù)門打開的穩(wěn)定性,使用模擬退火算法計(jì)算后的結(jié)果要明顯優(yōu)于計(jì)算前的結(jié)果,氣彈簧力波動(dòng)值也從132降低到了46,降低了65%,而表5第6行即為整個(gè)防護(hù)門打開過程中氣彈簧所需要的最大力,也是后續(xù)選型的參考值,同時(shí)也利用Python計(jì)算出了氣彈簧的自由長(zhǎng)度、壓縮長(zhǎng)度等關(guān)鍵選型參數(shù),便于后續(xù)選型使用。
表4 優(yōu)化前氣彈簧參數(shù)表
將該結(jié)果用于最終設(shè)計(jì),并測(cè)量了最終防護(hù)門的開關(guān)性能,并且在開關(guān)過程當(dāng)中實(shí)現(xiàn)了上文所述的懸停。實(shí)測(cè)結(jié)果和優(yōu)化計(jì)算結(jié)果有很好的吻合度。
本文基于Python平臺(tái),利用模擬退火算法對(duì)氣彈簧的兩端固定點(diǎn)進(jìn)行了優(yōu)化設(shè)計(jì),降低了氣彈簧力波動(dòng)值,從而提高了防護(hù)門開關(guān)的穩(wěn)定性,減少了因設(shè)計(jì)者經(jīng)驗(yàn)或能力所限造成的氣彈簧選型錯(cuò)誤的問題。并且本文提供的氣彈簧選型的優(yōu)化設(shè)計(jì)思路,有效解決了傳統(tǒng)方法設(shè)計(jì)不準(zhǔn)確、需要反復(fù)核準(zhǔn)的問題,能夠一次準(zhǔn)確地找到最優(yōu)的設(shè)計(jì)結(jié)果,與此同時(shí)Python同步計(jì)算出氣彈簧選型所需要的關(guān)鍵參數(shù),直接完成選型工作,為廣大設(shè)計(jì)者提供了新的思路。