毛慧俊 ,周自強(qiáng) ,蔣波
(1.蘇州大學(xué)機(jī)電工程學(xué)院,江蘇蘇州215000;2.常熟理工學(xué)院機(jī)械工程學(xué)院,江蘇常熟215500;3.江蘇省機(jī)電產(chǎn)品循環(huán)利用技術(shù)重點(diǎn)建設(shè)實(shí)驗(yàn)室,江蘇常熟215500)
隨著我國(guó)汽車保有量的持續(xù)增加,目前中國(guó)已經(jīng)成為世界上汽車保有量最大的國(guó)家。但同時(shí)報(bào)廢汽車的回收與處理也成為日益嚴(yán)重的社會(huì)問題[1]。過去由于對(duì)拆解回收行業(yè)的技術(shù)支持不足,整個(gè)報(bào)廢汽車拆解行業(yè)大多處于簡(jiǎn)單的分解和材料回收的層面。實(shí)際上報(bào)廢汽車上仍然有大量的零部件是可以再利用或者再制造的,通過這種方式不僅可以增加報(bào)廢汽車拆解企業(yè)的整體經(jīng)濟(jì)效益,也有利于降低全社會(huì)對(duì)自然資源的消耗[2]。擋風(fēng)玻璃由于是非金屬材料,且不屬于運(yùn)動(dòng)部件,基本可以不考慮疲勞壽命。因此在無損拆解后是可以在維修市場(chǎng)上繼續(xù)利用的。而目前影響擋風(fēng)玻璃再利用的主要原因是拆卸成本較高,如果能夠通過自動(dòng)化設(shè)備快速高效地拆卸檔風(fēng)玻璃,就能夠大大提高擋風(fēng)玻璃的再利用率。
在用機(jī)器視覺對(duì)擋風(fēng)玻璃的邊緣數(shù)據(jù)進(jìn)行提取后,由于圖像中環(huán)境噪聲的影響,會(huì)使得很多邊緣點(diǎn)偏離理論輪廓。如何通過技術(shù)手段對(duì)這些存在誤差的輪廓特征點(diǎn)進(jìn)行光順處理,并生成運(yùn)動(dòng)控制系統(tǒng)能夠接受的指令,是整個(gè)擋風(fēng)玻璃自動(dòng)切割機(jī)的重要環(huán)節(jié)。
對(duì)報(bào)廢汽車擋風(fēng)玻璃的輪廓特征提取方法如圖1所示,首先通過攝像頭采集擋風(fēng)玻璃的平面圖像。然后通過邊緣銳化、最大輪廓提取、二值化等圖像處理算法,最后得到擋風(fēng)玻璃邊緣輪廓的連續(xù)離散點(diǎn)。對(duì)這些離散點(diǎn)可以通過曲率的變化關(guān)系提取其輪廓特征點(diǎn),然后將這些輪廓特征點(diǎn)擬合成曲線軌跡,擋風(fēng)玻璃自動(dòng)切割機(jī)的跟蹤傳感器在控制系統(tǒng)的作用下,沿該曲線軌跡運(yùn)行一周,通過所獲得的縱向偏差數(shù)據(jù)和原有的曲線軌跡形成擋風(fēng)玻璃的三維切割軌跡,并最終控制切割頭將擋風(fēng)玻璃的邊緣車身進(jìn)行切割分離。
圖1 擋風(fēng)玻璃輪廓特征提取方法
由于圖像噪聲的影響,這些輪廓特征點(diǎn)會(huì)存在一定的誤差,因此如果用小直線段直接擬合這些特征點(diǎn),就會(huì)造成很大的軌跡誤差。其次,全部用直線段表示的曲線軌跡對(duì)于設(shè)備的平穩(wěn)運(yùn)行也是不利的。因此需要通過理論方法來消除這些誤差數(shù)據(jù)。最小二乘法是一種優(yōu)化擬合算法,該方法并不要求擬合曲線通過所有的特征點(diǎn),大偏差特征點(diǎn)的作用會(huì)通過殘差計(jì)算而被抑制,因此可以從總體上提高擬合曲線的精度。
最小二乘法擬合的基本原理是構(gòu)造一條曲線,使原數(shù)據(jù)點(diǎn)與擬合點(diǎn)的誤差的平方和為最小,那么這條曲線就是最小二乘擬合曲線,該曲線的函數(shù)表達(dá)式為最小二乘擬合函數(shù)[3]。
在Matlab中,polyfit函數(shù)可以有效地處理最小二乘曲線擬合問題。如圖2所示,polyfit函數(shù)的基本原理是構(gòu)造一個(gè)多項(xiàng)式函數(shù)f(x)=a1xn+a2xn-1+···+anx+b,使其滿足最小二乘原理,并返回多項(xiàng)式的系數(shù)矩陣。
圖2 最小二乘擬合原理圖
由于通過最小二乘法得到的擬合曲線的方程是一個(gè)多項(xiàng)式方程,該方程無法直接對(duì)擋風(fēng)玻璃自動(dòng)切割機(jī)的運(yùn)動(dòng)控制系統(tǒng)進(jìn)行控制,必須將其轉(zhuǎn)換成運(yùn)動(dòng)控制系統(tǒng)能夠接受的指令信號(hào)。雖然目前很多運(yùn)動(dòng)控制系統(tǒng)可以接受插補(bǔ)方式的運(yùn)動(dòng)控制,但是該方法計(jì)算量大,系統(tǒng)的運(yùn)行速度受到很大限制。而一般的經(jīng)濟(jì)性運(yùn)動(dòng)控制系統(tǒng)只支持直線插補(bǔ)和圓弧插補(bǔ)指令,因此需要在指令數(shù)和指令精度之間進(jìn)行綜合優(yōu)化。
雙圓弧擬合方法的基本原理是在每?jī)蓚€(gè)相鄰的節(jié)點(diǎn)之間插入兩段彼此相切圓弧,同時(shí)過每一個(gè)節(jié)點(diǎn)的左右兩段圓弧也依次相切,從而形成整體的G1連續(xù)光滑的曲線[4]。為了確定唯一的雙圓弧擬合曲線,需要確定節(jié)點(diǎn)位置及公切點(diǎn)位置。目前,大多數(shù)研究集中在公切點(diǎn)的選取上,主要有以下3種方式:內(nèi)心法,即公切點(diǎn)的位置選在由相鄰節(jié)點(diǎn)及節(jié)點(diǎn)矢量所構(gòu)成的三角形的內(nèi)心;平行弦法,即取兩節(jié)點(diǎn)連線的斜率作為公切點(diǎn)的斜率;優(yōu)化雙圓弧擬合方法,它是通過改變公切點(diǎn)的斜率來控制誤差大小,使每段雙圓弧均在給定的誤差范圍內(nèi)。
采用優(yōu)化雙圓弧擬合方法,通過合理的選擇公切點(diǎn)的斜率,就可以將擬合誤差控制在給定范圍內(nèi),從而提高輪廓提取時(shí)的精度。如圖3所示,為了對(duì)雙圓弧擬合模型進(jìn)行研究,設(shè)曲線上相鄰的兩節(jié)點(diǎn)為Pi,Pi+1,它們的切矢方向分別為PiP,PPi+1,這兩條切線交于P,它們的斜率分別為Ti和Ti+1,N為雙圓弧擬合的公切點(diǎn),過N作雙圓弧的切線交PPi和PPi+1于點(diǎn)P3,P4,設(shè)a=PiP,b=PPi+1,c=PiPi+1,過點(diǎn) Pi作 P3P4的平行線交 PPi+1于點(diǎn)P5,此時(shí),若公切點(diǎn)N的斜率TN已知,則PiP5和Pi+1P5的長(zhǎng)度均可求出。
由圓的切線長(zhǎng)定理可得:PiP3=P3N,Pi+1P4=P4N,因此,要想求公切點(diǎn)N的坐標(biāo),首先要求點(diǎn)P3的坐標(biāo)。設(shè)m=PiP3,d=PiP5,e=Pi+1P5,由文獻(xiàn)[5]可知:
當(dāng)P3的坐標(biāo)確定后,即可由等式PiP3=P3N和TN的值進(jìn)一步確定公切點(diǎn)N的坐標(biāo)?,F(xiàn)對(duì)式(1)作進(jìn)一步討論。
(1)當(dāng) d>e時(shí),m>0,此時(shí)公切點(diǎn) N 唯一確定;若此時(shí) Ti<TN<Tp,則 m 可由式(1)確定;當(dāng) Tp<TN<Ti+1時(shí),此時(shí),點(diǎn)P5落在線段PPi+1的延長(zhǎng)線上,根據(jù)△PP3P4和△PPiPi+1相似,可得出:
(2)當(dāng) d<e時(shí),則 m<0,此時(shí)應(yīng)以點(diǎn) Pi+1為基點(diǎn),過Pi+1作P3P4的平行線,同理亦可求出公切點(diǎn)N的坐標(biāo)。
圖3 雙圓弧擬合基本原理圖
采用優(yōu)化雙圓弧擬合模型,最重要的就是公切點(diǎn)斜率TN的選取方法。選擇恰當(dāng)?shù)腡N值,可以有效地減小誤差。在以往的研究中,多是采用隨機(jī)取值的方法,滿足誤差要求則TN值符合要求,不滿足則重新取值。
文中在TN的取值方法上作了一定改進(jìn),由于目標(biāo)曲線的曲率變化較小,因此,可采用均分法取TN值,即將Ti~Ti+1均分為4~5段,計(jì)算出在每個(gè)TN取值下的最大擬合誤差,比較過后選取其中的最小值及其對(duì)應(yīng)的斜率TN,采用這種方法得到的誤差相對(duì)較小,但該方法僅適用于曲率變化不大的曲線,而對(duì)于曲率變化大的曲線,分段數(shù)會(huì)變多,大大增加計(jì)算量,延長(zhǎng)求解時(shí)間。
雙圓弧擬合曲線的誤差通常是用法向誤差來表示的,如圖3所示,當(dāng)數(shù)據(jù)點(diǎn)在以O(shè)1為圓心的圓弧一側(cè)時(shí),其誤差如式(3)所示:
相反,若數(shù)據(jù)點(diǎn)在以O(shè)2為圓心的圓弧一側(cè)時(shí),誤差表達(dá)式為:
為了求出最大誤差值,可對(duì)式(3)中根號(hào)內(nèi)部分進(jìn)行求導(dǎo)[6]:
整理得:
式中:x,y 為數(shù)據(jù)點(diǎn)的坐標(biāo);xO1,yO1為圓心 O1的坐標(biāo);y'為y的導(dǎo)數(shù)。
由式(6)可以看出,當(dāng)原始曲線上的點(diǎn)的法向量穿過所在圓弧的圓心位置時(shí),該處產(chǎn)生的誤差為最大值,只要該點(diǎn)滿足誤差要求,則該段雙圓弧曲線均能達(dá)到規(guī)定的誤差要求。
為驗(yàn)證優(yōu)化雙圓弧擬合及TN取值方法在輪廓提取時(shí)的正確性,使用Matlab軟件編寫程序,繪制經(jīng)過最小二乘擬合和雙圓弧擬合后整塊平面玻璃的輪廓曲線。圖4a為采集的汽車擋風(fēng)玻璃的平面圖像,在經(jīng)過邊緣銳化、最大輪廓提取、二值化等圖像處理后,獲得其部分輪廓點(diǎn)的坐標(biāo),如圖4b所示。
圖4
獲得輪廓數(shù)據(jù)點(diǎn)的坐標(biāo)后,使用Matlab軟件編程,求出雙圓弧擬合的節(jié)點(diǎn)坐標(biāo)、公切點(diǎn)N的坐標(biāo)及圓心O1,O2的坐標(biāo),并使用plot函數(shù)繪制整個(gè)經(jīng)過雙圓弧擬合后的擋風(fēng)玻璃輪廓曲線,程序運(yùn)行結(jié)果如圖5所示。
圖5 擋風(fēng)玻璃輪廓擬合程序運(yùn)行圖
提出一種將最小二乘法與雙圓弧擬合方法相結(jié)合的擋風(fēng)玻璃輪廓點(diǎn)擬合方法。首先通過圖像處理技術(shù)提取擋風(fēng)玻璃部分輪廓點(diǎn)的坐標(biāo),然后使用最小二乘擬合法對(duì)輪廓點(diǎn)進(jìn)行曲線擬合,最后采用優(yōu)化雙圓弧擬合方法對(duì)整個(gè)輪廓曲線進(jìn)行優(yōu)化擬合處理,以便控制擋風(fēng)玻璃自動(dòng)切割機(jī)的運(yùn)動(dòng)控制系統(tǒng),進(jìn)而規(guī)劃其切割路徑。采用該方法明顯消除了基于圖像處理所得到的輪廓點(diǎn)中誤差較大的特征點(diǎn),形成了較為光滑的擬合曲線,從而有利于后續(xù)的運(yùn)動(dòng)控制的實(shí)現(xiàn)。