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