国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于遺傳算法的共軛凸輪機(jī)構(gòu)計算機(jī)輔助設(shè)計*

2021-02-25 02:56:26葛樂樂胡凱文
機(jī)電工程 2021年2期
關(guān)鍵詞:動件擺桿共軛

葛樂樂,張 龍,胡凱文

(南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094)

0 引 言

兩個凸輪固結(jié)在同一回轉(zhuǎn)軸,分別稱為主凸輪和回凸輪,用于控制從動件的推程與回程,固結(jié)的兩凸輪稱為共軛凸輪,一般將控制從動件推程的凸輪稱為主凸輪。共軛凸輪機(jī)構(gòu)因其傳動精確,能夠精確控制機(jī)構(gòu)從動件的推程和回程,被廣泛應(yīng)用于打緯、開口、引緯等精密機(jī)械中[1,2]。

為了保證共軛凸輪機(jī)構(gòu)的精確性,需要設(shè)計有較高精度的凸輪廓曲線。凸輪機(jī)構(gòu)的設(shè)計方法大致分為圖解法和解析法兩大類。圖解法的設(shè)計任務(wù)量比較大,而且不能滿足設(shè)計精度的要求;因此,大多采用解析法,利用計算機(jī)進(jìn)行求解。

蔡漢明等[3]使用C#語言對AutoCAD進(jìn)行了二次開發(fā),得到了凸輪輪廓曲線的DWG格式文件,實現(xiàn)了共軛凸輪的參數(shù)化設(shè)計;魏奔等[4,5]為了實現(xiàn)共軛凸輪機(jī)構(gòu)滿足許用壓力角的要求,利用MATLAB開發(fā)計算機(jī)輔助設(shè)計軟件,通過人機(jī)交互的方式獲得了凸輪廓線特征點數(shù)據(jù);LIU Qing-li等[6]使用Creo軟件輸入公式生成凸輪輪廓曲線,實現(xiàn)了共軛凸輪的參數(shù)化設(shè)計,并對機(jī)構(gòu)進(jìn)行了運(yùn)動仿真,驗證了從動件運(yùn)動規(guī)律;趙曉芬[7]在NX5草圖環(huán)境下,利用弗洛克近似法求解,確定了凸輪機(jī)構(gòu)的基本尺寸,通過輸入輪廓曲線表達(dá)式生成了凸輪草圖,拉伸生成了凸輪三維模型。上述方法不能實現(xiàn)共軛凸輪機(jī)構(gòu)壓力角最小化,不能使機(jī)構(gòu)的傳動效率達(dá)到最優(yōu);而且,以上方法只能得到凸輪的輪廓曲線特征點或零件圖,不能直接獲得凸輪的三維模型。

本文建立最大壓力角最小化的優(yōu)化模型,采用遺傳算法進(jìn)行求解,得到共軛凸輪機(jī)構(gòu)的基本尺寸,編寫指令式共軛凸輪機(jī)構(gòu)計算機(jī)輔助設(shè)計軟件,對SolidWorks進(jìn)行二次開發(fā),并對機(jī)構(gòu)進(jìn)行ADAMS仿真驗證。

1 共軛凸輪機(jī)構(gòu)的數(shù)學(xué)模型

1.1 從動件運(yùn)動規(guī)律曲線

以凸輪的角位移(φ)為x軸,以從動件的角位移(ψ)為y軸,繪制函數(shù)ψ=f(φ),所得曲線稱為凸輪機(jī)構(gòu)從動件運(yùn)動規(guī)律曲線。一般來說,從動件規(guī)律的給出方式有兩種:

(1)將從動件運(yùn)動規(guī)律曲線分解成若干段,每一段以標(biāo)準(zhǔn)傳動函數(shù)的形式給出,標(biāo)準(zhǔn)傳動函數(shù)通常選?。盒葜惯\(yùn)動、多項式運(yùn)動規(guī)律、簡諧加速度運(yùn)動規(guī)律,等[8];

(2)以離散點{φi,ψi},{dψ/dφ}來表示運(yùn)動特性曲線。

本文計算實例的從動件運(yùn)動規(guī)律以方式1給出,從動件運(yùn)動規(guī)律如表1所示。

表1 從動件運(yùn)動規(guī)律

1.2 凸輪機(jī)構(gòu)的壓力角

凸輪機(jī)構(gòu)壓力角是機(jī)構(gòu)最重要的參數(shù)之一,對機(jī)構(gòu)的傳動效率有著重大影響。

凸輪機(jī)構(gòu)壓力角示意圖如圖1所示。

圖1 凸輪壓力角示意圖

圖1中,O為凸輪轉(zhuǎn)動中心,A為擺桿的轉(zhuǎn)動中心,凸輪與擺桿接觸點處的公法線與OA連線交于點P,可知P為擺桿從動件與凸輪的瞬心;凸輪與擺桿在P點處的速度大小相等,速度方向相同。所以,當(dāng)凸輪的轉(zhuǎn)動方向與擺桿轉(zhuǎn)動方向相反時,當(dāng)且僅當(dāng)P點在OA的連線上,凸輪與擺桿在P點的速度方向才相同;同理,當(dāng)凸輪的轉(zhuǎn)動方向與擺桿轉(zhuǎn)動方向相同時,當(dāng)且僅當(dāng)P點在OA的延長線上,凸輪與擺桿在P點的速度方向才相同。

過P點作PC⊥AB,則有∠BPC=α,即機(jī)構(gòu)此時的壓力角??傻脡毫菨M足:

(1)

式中:LBC—BC的長度;LPC—PC的長度。

其表達(dá)式分別為:

LBC=LAP·cos(ψG-ψ)-LAB

(2)

LPC=LAPsin(ψG-ψ)

(3)

式中:LAP—AP的長度;LAB—AB的長度;ψG—擺桿初始時刻與y軸負(fù)半軸的夾角。

其表達(dá)式為:

(4)

因為P點為擺桿與凸輪的瞬心,根據(jù)瞬心的定義有:

(5)

根據(jù)圖1可得:

(6)

式中:η—轉(zhuǎn)向標(biāo)志量,當(dāng)凸輪轉(zhuǎn)向與擺桿轉(zhuǎn)向相同時η=1,當(dāng)凸輪轉(zhuǎn)向與擺桿轉(zhuǎn)向相反時η=-1。

根據(jù)式(1~5),壓力角可改寫為:

(7)

1.3 凸輪廓線的數(shù)學(xué)模型

對于給定的{φi,ψi},可以利用反轉(zhuǎn)法與機(jī)構(gòu)學(xué)的知識得到凸輪廓線的數(shù)學(xué)模型。

共軛凸輪廓線求解示意圖如圖2所示。

圖2 共軛凸輪廓線求解示意圖

(8)

式中:α—凸輪機(jī)構(gòu)中心矩;L1—擺桿1的長度。

所以,可得主凸輪的理論廓線坐標(biāo)方程:

(9)

同理,回凸輪的理論廓線坐標(biāo)方程為:

(10)

式中:L2—擺桿2的長度。

則凸輪的實際廓線坐標(biāo)方程:

(11)

式中:R—滾子半徑;θ—理論輪廓曲線對應(yīng)點處法線的升角。

(12)

因為計算機(jī)的離散性,本文將表1從動件運(yùn)動規(guī)律曲線離散化,得到一系列離散點,將其代入上述公式,便可得到凸輪輪廓曲線的離散點。

2 優(yōu)化計算與分析

2.1 遺傳算法簡介

遺傳算法是20世紀(jì)60年代末期由Michigan大學(xué)教授JOHN H提出的一種模擬生物進(jìn)化機(jī)制來進(jìn)行全局優(yōu)化搜索的算法[9]。與傳統(tǒng)的梯度下降算法等優(yōu)化方法相比,遺傳算法并不要求計算目標(biāo)函數(shù)的梯度,對目標(biāo)函數(shù)的凹凸性也相對要求較低,這些使得遺傳算法可以更加有效地解決優(yōu)化問題。

遺傳算法的計算過程一般分為:初始化種群,每個個體按二進(jìn)制或十進(jìn)制進(jìn)行編碼;計算每個個體的適應(yīng)度,通常是由目標(biāo)函數(shù)進(jìn)行變換得到的;根據(jù)個體的適應(yīng)度,利用交叉算子和變異算子對種群進(jìn)行更新,直至優(yōu)化準(zhǔn)則得到滿足,結(jié)束計算。

本文以種群大小為100,交叉概率0.8,變異概率0.2進(jìn)行遺傳算法求解。

2.2 優(yōu)化模型

共軛凸輪的基本尺寸主要有:

中心矩α,基圓半徑rG,擺桿1長度L1,擺桿2長度L2,擺桿夾角αR,滾子半徑rR,通常有L1=L2=L,本文中αR=100°,rR=7。

基本尺寸主要根據(jù)壓力角來確定,基本尺寸選取不好,可能會導(dǎo)致機(jī)構(gòu)壓力角過大、傳動效率降低、更容易磨損。通常確定凸輪機(jī)構(gòu)基本尺寸的方法,主要是根據(jù)許用壓力角的要求,使用作圖法確定基本尺寸。但是,這種方法并不能使得機(jī)構(gòu)的壓力角達(dá)到最小,不能使機(jī)構(gòu)的傳動效率達(dá)到最優(yōu)。

本文采用遺傳算法的優(yōu)化方法,以最小化凸輪機(jī)構(gòu)的最大壓力角為優(yōu)化目標(biāo),建立相應(yīng)的約束方程,進(jìn)而求解機(jī)構(gòu)的基本尺寸。

優(yōu)化模型的目標(biāo)函數(shù)為:

min: max(α1(X,φi,ψi),α2(X,φi,ψi))

(13)

式中:X—優(yōu)化模型決策變量,X=[x1,x2,x3]=[α,rG,L]。

壓力角計算見式(6),決策變量的取值范圍需要根據(jù)機(jī)構(gòu)的工作空間進(jìn)行確定,本文取下限為[20,20,15],取上限為[45,30,30]。

因為決策變量需要構(gòu)成三角形,所以應(yīng)該有約束方程:

(14)

2.3 計算與分析

本文利用遺傳算法對優(yōu)化模型進(jìn)行三次求解,遺傳算法計算結(jié)果如表2所示。

表2 遺傳算法計算結(jié)果

由表2可以看出:算法每次計算求得的目標(biāo)函數(shù)的差距不超過0.1°,說明遺傳算法具有較好的穩(wěn)定性。

選取第一組解的結(jié)果進(jìn)行分析。第一次優(yōu)化,其每代適應(yīng)度的均值與最優(yōu)值隨遺傳算法迭代次數(shù)的優(yōu)化收斂圖如圖3所示。

圖3 共軛凸輪參數(shù)優(yōu)化收斂圖

從圖3可以看出:算法在第20代左右即達(dá)到了最優(yōu)值,之后的迭代計算也沒有出現(xiàn)大幅度波動,可以看出遺傳算法具有較好的收斂性。

因為本文的決策變量有3個,為了能更直觀地分析遺傳算法的準(zhǔn)確性,現(xiàn)令中心矩為第1次的優(yōu)化結(jié)果α=35.65 mm;以基圓半徑為x軸,擺長為y軸,繪制共軛最大壓力角凸輪壓力角等高線圖,如圖4所示。

圖4 共軛凸輪最大壓力角等高線圖

從圖4中可以看出:當(dāng)中心矩為35.65 mm時,目標(biāo)函數(shù)最優(yōu)值為23.366 4°,與遺傳算法優(yōu)化結(jié)果相同。由此可見,遺傳算法求解具有較好的準(zhǔn)確性。

3 軟件設(shè)計與實例驗證

3.1 輔助設(shè)計軟件

本文使用MFC開發(fā)共軛凸輪計算機(jī)輔助設(shè)計軟件[10],具體步驟為:

采用指令式的設(shè)計方法,將共軛凸輪機(jī)構(gòu)設(shè)計的每個步驟設(shè)計成一個指令,將每一個共軛凸輪機(jī)構(gòu)的設(shè)計抽象為一組指令程序;用戶通過拖動的方式將指令集內(nèi)的指令添加到指令程序內(nèi),軟件給與每個指令相應(yīng)的反饋;用戶設(shè)計完成一個共軛凸輪機(jī)構(gòu)時,一組對應(yīng)的指令程序也就相應(yīng)地編寫完成,可以對該指令程序進(jìn)行保存;保存好的指令程序可以在軟件內(nèi)打開,實現(xiàn)上次設(shè)計的重現(xiàn)。

共軛凸輪機(jī)構(gòu)的數(shù)字化設(shè)計流程如圖5所示。

圖5 共軛凸輪機(jī)構(gòu)數(shù)字化設(shè)計流程

3.2 實例驗證

本文以表1的運(yùn)動規(guī)律為例,進(jìn)行共軛凸輪的數(shù)字化設(shè)計實例驗證。

添加輸入從動件運(yùn)動規(guī)律指令,可得運(yùn)動規(guī)律輸入界面,如圖6所示。

圖6 運(yùn)動規(guī)律輸入界面

在圖6對話框中輸入從動件運(yùn)動規(guī)律,然后添加輸入基本尺寸指令,可得運(yùn)動學(xué)尺寸參數(shù)輸入界面,如圖7所示。

圖7 運(yùn)動學(xué)尺寸參數(shù)輸入界面

在圖7的對話框中輸入基本尺寸參數(shù),用戶可以選擇是否使用遺傳算法進(jìn)行參數(shù)的優(yōu)化。遺傳算法的參數(shù)優(yōu)化可以利用Galib類庫來實現(xiàn)[11]。輸入?yún)?shù)之后,添加計算凸輪輪廓指令,計算完成之后可以在繪圖區(qū)域內(nèi)得到凸輪的輪廓曲線。

為了能夠直接獲得凸輪的三維模型,軟件設(shè)有生成SolidWorks零件模型指令,實現(xiàn)SolidWorks二次開發(fā)。為了方便二次開發(fā),SolidWorks提供了幾百個API函數(shù),這些函數(shù)使得程序員得以直接訪問SolidWorks[12]。在MFC中要使用這些函數(shù),只需要導(dǎo)入SolidWorks便可。添加生成SolidWorks零件模型指令后,SolidWorks軟件便會自動啟動,繪制凸輪的草圖,進(jìn)行拉伸后得到零件的三維模型。

其主要程序如下:

{

CComPtr swApp;

swApp.CoCreateInstance (__uuidof(SldWorks));

VARIANT_BOOL *visibility=NULL;

swApp -> get_Visible(visibility);

swApp -> put_Visible(TRUE);

IPartDocPtr myPart = swApp -> INewPart();

IModelDoc2 *m_pModelDoc;

myPart ->QueryInterface(&m_pModelDoc);

VARIANT_BOOL retval;

retval=m_pModelDoc->SelectByID(_T("前視基準(zhǔn)面"),_T("PLANE"),0,0,0);

m_pModelDoc -> InsertSketch();

}

得到的共軛凸輪主、回凸輪三維模型如圖8所示。

圖8 主、回凸輪三維模型

至此便實現(xiàn)了一例共軛凸輪機(jī)構(gòu)的數(shù)字化設(shè)計,同時軟件也生成了一組指令程序,可以選擇將其保存為TXT文件,方便下次打開,實現(xiàn)設(shè)計過程的復(fù)現(xiàn)。

4 運(yùn)動仿真

為了驗證軟件計算的準(zhǔn)確性,本文利用SolidWorks制作共軛凸輪機(jī)構(gòu)的虛擬樣機(jī)。將制作好的虛擬樣機(jī)導(dǎo)入Adams,在凸輪、擺桿以及滾子的轉(zhuǎn)動中心添加轉(zhuǎn)動副,并給主凸輪和回凸輪添加固定約束;給主凸輪施加驅(qū)動,進(jìn)行運(yùn)動仿真,得到從動件運(yùn)動規(guī)律。

與表1所給的從動件運(yùn)動規(guī)律相比,可得運(yùn)動規(guī)律的設(shè)計要求曲線與仿真曲線比較圖,如圖9所示。

圖9 設(shè)計要求曲線與仿真曲線的比較

從圖9可看出:仿真曲線與設(shè)計要求曲線基本吻合,最大誤差值為0.5°。由此可見,該軟件所設(shè)計的共軛凸輪機(jī)構(gòu)可以比較好地滿足要求。

5 結(jié)束語

基于遺傳算法的共軛凸輪機(jī)構(gòu)優(yōu)化設(shè)計的方法,筆者通過優(yōu)化計算的方法,使得機(jī)構(gòu)的最大壓力角達(dá)到全局最優(yōu)值附近,提高了機(jī)構(gòu)的傳動效率;對SolidWorks的二次開發(fā),降低了機(jī)構(gòu)設(shè)計的工作量;對設(shè)計結(jié)果進(jìn)行仿真分析,檢驗了設(shè)計方法的正確性。

本研究給出的基于遺傳算法的共軛凸輪機(jī)構(gòu)的計算機(jī)輔助設(shè)計方法,為共軛凸輪的優(yōu)化設(shè)計提供了理論工具和設(shè)計手段。這種方法在減輕設(shè)計工作量的同時,優(yōu)化了機(jī)構(gòu)的傳動效率,使得共軛凸輪的設(shè)計更加自動化。

同時,本研究的不足之處,即共軛凸輪機(jī)構(gòu)在實際使用中可能存在很多受制條件,在今后的研究中,需要考慮增加相應(yīng)約束,改進(jìn)算法,以實現(xiàn)更加通用的設(shè)計方法。

猜你喜歡
動件擺桿共軛
基于ANSYS的船舶凸輪機(jī)構(gòu)瞬態(tài)動力學(xué)分析
限位條件下直軌倒立擺擺起控制量的分析研究
一個帶重啟步的改進(jìn)PRP型譜共軛梯度法
一個改進(jìn)的WYL型三項共軛梯度法
巧用共軛妙解題
一種自適應(yīng)Dai-Liao共軛梯度法
一種圓織機(jī)擺桿裝置
塑料包裝(2019年6期)2020-01-15 07:55:48
磁浮列車Z 向支撐擺桿斷裂失效成因分析
發(fā)射平臺擺桿機(jī)構(gòu)可靠性分析
封裝設(shè)備中偏心輪機(jī)構(gòu)的運(yùn)動分析與仿真
延安市| 凯里市| 金阳县| 滦平县| 泾源县| 陆川县| 白城市| 乡城县| 城步| 定襄县| 冀州市| 静乐县| 香河县| 黄骅市| 宣武区| 牟定县| 兴业县| 凤凰县| 祁门县| 杭锦旗| 海原县| 炎陵县| 张家港市| 梅河口市| 达孜县| 长沙市| 朝阳区| 金川县| 牙克石市| 营山县| 石家庄市| 洪雅县| 东乡县| 崇左市| 兰州市| 建湖县| 繁昌县| 徐闻县| 阿巴嘎旗| 昌宁县| 大冶市|