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

?

人工蜂群算法在螺絲內(nèi)紋偏轉(zhuǎn)角度計算中的應(yīng)用

2021-06-17 07:56姜金華姜景科
自動化儀表 2021年5期
關(guān)鍵詞:曲線擬合螺絲蜂群

姜金華,王 倩,姜景科

(1.上海第二工業(yè)大學(xué)智能制造與控制工程學(xué)院,上海 201209;2.上海大學(xué)機電工程與自動化學(xué)院,上海 200444)

0 引言

近年來,智能制造以飛躍式的跨度在制造業(yè)的各個維度得到了體現(xiàn)。螺絲作為零部件中重要的連接器件,在各類設(shè)備中都有廣泛的應(yīng)用。而在拆解設(shè)備的過程,如果不能有效地對螺絲進行拆解,則會造成設(shè)備的暴力拆解。這將大大降低拆解的效率與廢舊材料的回收利用率。

機器視覺在當(dāng)前的工業(yè)應(yīng)用非常廣泛,包括視覺測量、產(chǎn)品分揀、視覺定位等[1-4]。本文中,機器視覺主要應(yīng)用到拆解流水線的螺絲拆解中,主要用于獲取目標(biāo)測量物的特征點,并對其進行相應(yīng)的處理轉(zhuǎn)換,從而獲得所需的物理量[5-6]。

人工蜂群(artificial colony algorithm,ABC)算法是一種元啟發(fā)式群體智能優(yōu)化算法[7],由土耳其學(xué)者 Karaboga 在2005年提出。該算法是一種模擬蜜蜂群體尋找優(yōu)良蜜源的仿生類智能計算方法[8-9]。人工蜂群算法的主要特點是不需要了解問題的特殊信息,只需要對問題的尋優(yōu)結(jié)果進行優(yōu)劣的比較[10-11]。通過蜂群個體在局部的尋優(yōu)行為,最終在群體中使全局最優(yōu)值凸顯出來,使得整個算法具有較好的全局搜索能力。這是一種廣義的鄰域搜索算法,有著較快的收斂速度,具有較強的通用性,能夠很好地與實際問題相結(jié)合,應(yīng)用方向較為廣泛[12]。

1 系統(tǒng)結(jié)構(gòu)設(shè)計

基于圖像處理的螺絲內(nèi)紋偏轉(zhuǎn)角度測量的程序設(shè)計結(jié)構(gòu)流程如圖1所示。

圖1 程序設(shè)計結(jié)構(gòu)流程圖

首先,需要對原始圖像進行灰度化、濾波和二值化處理,從而將原始的彩色圖像轉(zhuǎn)換為理想的二值化圖像。對獲得的二值化圖像進行濾波、填充,然后將螺絲內(nèi)紋的圖像剪裁,并獲內(nèi)紋的輪廓圖像。將輪廓的像素信息轉(zhuǎn)換為坐標(biāo)信息,對輪廓的坐標(biāo)進行轉(zhuǎn)換、分割,并對分割的各部分數(shù)據(jù)進行曲線擬合。最后,應(yīng)用人工蜂群算法對每條擬合曲線求最大值并計算各部分的偏轉(zhuǎn)角度,利用均值濾波減小各部分偏轉(zhuǎn)角度在求解中造成的誤差。

2 圖像處理

2.1 圖像預(yù)處理

在獲取螺絲的原始圖像后,首先將彩色圖像轉(zhuǎn)換為灰度圖像,從而降低圖像的數(shù)據(jù)量,減小后續(xù)圖像的計算量?;叶然幚硪话阌校浩骄捣ā⒆畲笾捣ê图訖?quán)平均值法。這里采用R(0.30)、G(0.59)、B(0.11)的加權(quán)平均值法。對轉(zhuǎn)換后的圖像進行均值濾波,從而對圖像中的高頻噪點進行處理。為了更進一步降低圖像數(shù)據(jù)量,以減小后續(xù)圖像處理的計算量,需要對濾波后的圖像進行二值化處理。圖像的二值化處理不僅減小了圖像數(shù)據(jù)的大小,也使得圖像的邊緣信息更加清晰。在此采用閾值變化法實現(xiàn)圖像的二值化處理。圖2為螺絲的原始圖像。圖3為二值化圖像。

圖2 原始圖像

圖3 二值化圖像

從圖3可以看出,螺絲內(nèi)紋的二值化圖像中存在孔洞,會對后續(xù)的輪廓提取造成影響。為了避免二值化圖像中存在的噪點,在填充孔洞之前使用中值濾波再進行一次濾波。首先,對處理后的圖像進行取反操作,并對螺絲內(nèi)紋中的孔洞區(qū)域進行填充操作。然后,對填充后的圖像進行邊緣特征的提取,獲取螺絲內(nèi)紋的邊緣輪廓。最后,將螺絲內(nèi)紋的輪廓圖從處理后的圖像中剪裁下來并求內(nèi)紋區(qū)域的中心坐標(biāo)。螺絲內(nèi)紋輪廓如圖4所示。

圖4 螺絲內(nèi)紋輪廓圖

2.2 坐標(biāo)轉(zhuǎn)換

將圖像的原點平移至內(nèi)紋的中心坐標(biāo)以建立新的坐標(biāo)系,計算當(dāng)前坐標(biāo)系下輪廓各像素點的新坐標(biāo)值。將直角坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換為相對應(yīng)的極坐標(biāo)值,得到齒輪輪廓的極坐標(biāo)集合C(i為坐標(biāo)點個數(shù))。

C={(r1,θ1),(r2,θ2),...,(ri,θi)}

(1)

極坐標(biāo)系下的輪廓如圖5所示。將集合C中的坐標(biāo)序列根據(jù)角度ri進行從小到大的排序,獲得新的坐標(biāo)集合C′。將新的坐標(biāo)集合C′映射到直角坐標(biāo)系中,得到如圖6所示的直角坐標(biāo)系下的輪廓。

圖5 極坐標(biāo)系下的輪廓圖

圖6 直角坐標(biāo)系下的輪廓圖

2.3 坐標(biāo)數(shù)據(jù)分割與曲線擬合

本次使用十字形螺絲,內(nèi)紋的輪廓在直角坐標(biāo)系中呈現(xiàn)四個波峰。但圖像不符合標(biāo)準的周期函數(shù)圖像,所以采用將坐標(biāo)數(shù)據(jù)分割的方法將坐標(biāo)數(shù)據(jù)分割為四個單峰波形。單峰波形在曲線擬合中可以采用高斯曲線擬合。

坐標(biāo)數(shù)據(jù)的分割中,四個波峰的大致相位差為90°。所以在數(shù)據(jù)的分割中,首先需要找到一個合適的分割原點。在此,對所有坐標(biāo)的幅值尋找最小值,將幅值最小值rmin的坐標(biāo)作為坐標(biāo)數(shù)據(jù)的分割原點,將坐標(biāo)軸上該點左邊的數(shù)據(jù)平移至數(shù)據(jù)的末尾,得到新的坐標(biāo)集合A。

A={(rmin,θmin),(rmin+1,θmin+1),...,(ri,θi),...,

(ri+min-1,θi+min-1)}

(2)

以每90°為一個范圍,將集合A的數(shù)據(jù)根據(jù)角度值進行四等分,得到{A1,A2,A3,A4}。由于每一組數(shù)據(jù)都是根據(jù)角度值進行均分,會導(dǎo)致每一組數(shù)據(jù)的首個數(shù)據(jù)或者最后一個數(shù)不為最小值的情況。為了保證擬合曲線的二階導(dǎo)數(shù)始終小于零,需要對分割后的四個集合進行數(shù)據(jù)調(diào)整,確保擬合出的曲線均為單一的凸函數(shù)。

數(shù)據(jù)調(diào)整的主要步驟為:將每一組數(shù)據(jù)根據(jù)角度值分為兩部分,分別求這兩部分幅值的最小值。將前半部分數(shù)據(jù)中幅值最小值左邊的數(shù)據(jù)調(diào)整至前一個數(shù)據(jù)集合的尾部,將后半部分數(shù)據(jù)中最小值右邊的數(shù)據(jù)調(diào)整至下一個數(shù)據(jù)集合的頭部。

每一組數(shù)據(jù)呈高斯曲線形式,故在曲線擬合部分采用高斯曲線擬合。為簡化程序設(shè)計中初始參數(shù)的選取,將四組數(shù)據(jù)分別平移至第一象限,使每組數(shù)據(jù)均能使用同一組初始參數(shù)進行曲線擬合。本文在將各組數(shù)據(jù)平移至第一象限內(nèi)時,將每組數(shù)據(jù)的第一個數(shù)據(jù)平移至0°處、同組其余數(shù)據(jù)平移相同的相位角度,并記錄下每組數(shù)據(jù)的平移角度(θ1,θ2,θ3,θ4)。調(diào)整后的坐標(biāo)數(shù)據(jù)如圖7所示。

圖7 調(diào)整后的坐標(biāo)數(shù)據(jù)圖

根據(jù)圖7的數(shù)據(jù)可以看出,每個波峰部分的數(shù)據(jù)在幅值上有較大波動。在使用傳統(tǒng)的方法時,需要截取波峰部分的數(shù)據(jù),選擇出其最大值或這部分波峰數(shù)據(jù)的中間數(shù)值作為波峰峰值點。截取波峰數(shù)據(jù)對波峰極值點的選擇有較大的影響,會造成最終得到的偏轉(zhuǎn)角度有較大的誤差。本文采用了曲線擬合的方法獲取每個波峰的極值點,根據(jù)數(shù)據(jù)的分布選擇高斯曲線擬合,對比一階、二階及高階高斯曲線的效果,在保證曲線的擬合度的情況下選擇三階高斯曲線擬合。擬合函數(shù)為:

(3)

分別對四組數(shù)據(jù)進行三階高斯曲線擬合,得到的數(shù)據(jù)擬合曲線如圖8所示。

圖8 數(shù)據(jù)擬合曲線圖

3 人工蜂群算法設(shè)計

在人工蜂群算法中,蜂群由觀察蜂、采蜜蜂和偵查蜂組成,每個蜜源只對應(yīng)一個采蜜蜂。當(dāng)蜜源被采蜜蜂和觀察蜂耗盡時,即在最大搜索次數(shù)內(nèi)無法在找到更優(yōu)解,采蜜蜂變?yōu)閭刹榉?,隨機尋找新的蜜源。在人工蜂群算法中主要有三個控制參數(shù):蜜源的數(shù)目(采蜜蜂的數(shù)量)、最大搜索次數(shù)Limit和最大迭代次數(shù)maxCycle。

初始時刻所有蜜蜂沒有先驗知識,所有蜜蜂的角色全部為偵查蜂。全局隨機搜索蜜源,得出各自的“收益度”。根據(jù)蜜源“收益度”對比,將蜜蜂轉(zhuǎn)為采蜜蜂和觀察蜂兩類。其中,“收益度”較高的一半轉(zhuǎn)為采蜜蜂。

①初始時刻,隨機生成N個可行解(X1,X2,...,XNs)。具體隨機產(chǎn)生的可行解Xi為:

(4)

式中:j∈{1,2,…,D},j為D維解向量的某個分量。

通過分別計算各個向量的適應(yīng)度函數(shù)值并進行排序,適應(yīng)度值較高的一半作為初始采蜜蜂種群X(0)。

②第n步的采蜜蜂X(n)在當(dāng)前位置附近的領(lǐng)域范圍內(nèi)搜索新的蜜源位置。搜索公式為:

(5)

式中:j∈{1,2,…,D},k∈{1,2,…,N},N為采蜜蜂個體數(shù)量,i≠k,j和k均為隨機生成。

③在采蜜搜索到的新位置向量new_Xi和原位置向量Xi中,采用貪婪選擇算子選取更優(yōu)適應(yīng)度的繼承給下一代種群,保證種群進化方向不會后退。其概率分布為:

P{Ts(Xi,new_Xi)=new_Xi=

(6)

④觀察蜂依照采蜜蜂種群適應(yīng)度值,采用選擇算子計算選擇一個采蜜蜂,并在其領(lǐng)域內(nèi)進行新位置的搜索。選擇概率為:

(7)

⑤同步驟②和步驟③,記錄下更新后達到的最優(yōu)適應(yīng)度值及其相應(yīng)參數(shù)。

⑥當(dāng)個體采蜜蜂在蜜源周圍搜索次數(shù)s達到最大搜索次數(shù),但仍未獲得到更優(yōu)解,則重新初始化該采蜜蜂的位置。初始化公式為:

Xi(n)=Xmin+rand()(Xmax-Xmin)

(8)

⑦滿足停止條件(iter>maxCycle),則停止計算并輸出最優(yōu)解及其相應(yīng)的參數(shù),否則轉(zhuǎn)向步驟②。

本文設(shè)置初始種群總數(shù)30,采蜜蜂數(shù)量15,偵查蜂5,最大迭代次數(shù)100,最大搜索次數(shù)3。根據(jù)采蜜蜂數(shù)來初始隨機解的數(shù)量,通過隨機生成15個角度值,計算得到15個幅值并記錄下其中最大的幅值與角度值。然后計算觀察蜂跟隨采蜜蜂的概率,判斷觀察蜂是否在采蜜蜂所在解的鄰域內(nèi)尋找新的解求幅值,偵查蜂則在角度值的范圍內(nèi)隨機生成新的角度值求解幅值。如果求出的幅值為當(dāng)前最優(yōu)解,則偵查蜂轉(zhuǎn)換為采蜜蜂。采蜜蜂在各自當(dāng)前解的鄰域內(nèi)搜索新的解,判斷得到的幅值是否更優(yōu)。當(dāng)循環(huán)三次不能得到更優(yōu)解時,則采蜜蜂放棄當(dāng)前解并成為偵查蜂尋找新解。尋找新解的最大迭代次數(shù),即采蜜蜂、觀察蜂、偵查蜂尋找新解的總次數(shù)。函數(shù)優(yōu)化曲線如圖9所示。

圖9 函數(shù)優(yōu)化曲線圖

4 試驗分析

通過人工蜂群算法,能夠快速求得函數(shù)的最大值。在對四個函數(shù)的最大值求解過程中,在算法迭代到40次左右就能夠獲取各個擬合函數(shù)的最大值。

通過獲取每一部分擬合函數(shù)的最大值,確定其相對應(yīng)的內(nèi)紋輪廓的峰值位置,即每一部分內(nèi)紋輪廓的中心點。該中心點與整個螺絲內(nèi)紋的中心點相連的軸線與X軸正方向所構(gòu)成的夾角,即為當(dāng)前內(nèi)紋的偏轉(zhuǎn)角度。通過前文中對圖像輪廓進行坐標(biāo)系的轉(zhuǎn)換,其相對應(yīng)的偏轉(zhuǎn)角度即為幅值最大值相對應(yīng)的角度值。

φi=θi+ri±90k

(9)

(10)

式中:k的取值根據(jù)φi決定。

將φi的取值范圍控制在±45°范圍內(nèi),使得偏轉(zhuǎn)角度控制在最小范圍內(nèi),后期在旋轉(zhuǎn)螺絲刀的姿態(tài)中實現(xiàn)最優(yōu)化。最后通過對獲得的四個偏轉(zhuǎn)角度進行均值處理。本文測試圖像最終獲得的偏轉(zhuǎn)角度為38.08°。旋轉(zhuǎn)效果圖如圖10所示。對原始圖像進行所求偏轉(zhuǎn)角度的旋轉(zhuǎn),可以看出效果較為理想。

圖10 旋轉(zhuǎn)效果圖

5 結(jié)論

本文通過使用圖像處理與人工蜂群算法相結(jié)合的方法來實現(xiàn)螺絲當(dāng)前姿態(tài)下的偏轉(zhuǎn)角度計算:使用圖像處理技術(shù),獲取螺絲內(nèi)紋的輪廓,并將輪廓數(shù)據(jù)進行轉(zhuǎn)換與函數(shù)擬合;利用人工蜂群算法,對擬合出的函數(shù)進行尋優(yōu),最終獲取當(dāng)前姿態(tài)下的偏轉(zhuǎn)角度。本方法結(jié)合了圖像處理的精度高與人工蜂群算法計算量小、快速獲取全局最優(yōu)的特點,計算出精度較高的偏轉(zhuǎn)角度。同時,該方法有較好的拓展性,適用于各種類型的螺絲內(nèi)紋的偏轉(zhuǎn)角度計算。

猜你喜歡
曲線擬合螺絲蜂群
丟失的螺絲
治理“吃心不改”需要擰緊螺絲
葉輪類零件多軸數(shù)控機床加工的誤差控制與優(yōu)化——基于NURBS曲線擬合優(yōu)化方案
不同階曲線擬合擾動場對下平流層重力波氣候特征影響研究*
“蜂群”席卷天下
淺談Lingo 軟件求解非線性曲線擬合
罕見的螺絲
曲線擬合的方法
改進gbest引導(dǎo)的人工蜂群算法
蜂群夏季高產(chǎn)管理