一種基于圖像特征數據進行路徑規劃的方法
【專利摘要】本發明提供了一種基于圖像特征數據進行路徑規劃的方法,屬于計算機制造加工領域。本發明先將基于圖像特征數據進行路徑規劃的數控系統初始化,導入圖像文件,對圖像數據進行預處理,再對加工對象的特征進行提取,利用提取得到的加工對象的特征數據求取加工時所要的特征點;經過刀路規劃方法的計算,得到實際加工時的刀位點的序列;再根據相鄰兩個特征刀位點的位置關系,確定相應的插補方式,最后驅動刀頭的運動。本發明將數控系統結合圖像處理技術進行路徑規劃,提高了加工源的適應性,同時避免了大量的計算,時間響應較快。
【專利說明】
一種基于圖像特征數據進行路徑規劃的方法
技術領域
[0001]本發明屬于計算機制造加工領域,具體涉及一種基于圖像特征數據進行路徑規劃的方法。
【背景技術】
[0002]目前制造加工業中廣泛采用數控加工,數控加工(CNC,Computernumericalcontrol)是利用由程序控制的機床,通過控制器處理控制編碼或指令,使加工裝置執行設定的動作,通過使刀具做過特定的路徑使加工材料成為半成品或成品工件。
[0003]在工業設計和加工中,一般主要是有專業的或從事時間較長的設計人員使用CAD軟件進行設計,主要的設計軟件主要有MasterCAM、SOLIDWORDS、UG、Pr0/E等進行模具體設計,設計完后產生工業生產用的G代碼,最后由技術人員將其導入到CNC加工機器加工。加工過程可能需要設計和制造兩類人員或者設計和制造都會的一類人員,如果是兩類人會導致企業人員增多,如果是一類人又需要有較高的要求。而且整個過程需要的軟件和設備也較多,生產效率不是太高。
[0004]通常的生產設計中,加工對象需要設計人員設計實現,且對象越隨機越復雜,設計的時間就越長。每一次不同的對象都需要耗費較長的時間,不利于較快地適應市場。
[0005]中國專利CN104252153A公開了一種CNC加工程序生成系統及方法,通過CAD圖形讀入模塊讀入CAD圖形的輪廓線和圖形預處理模型生成所屬輪廓線的點云集,計算點集每個點和相鄰點的法向量和向量夾角,再調整法向量方向,計算模塊優化輪廓線上的點集,使曲率小的輪廓線分布較少,曲率大的分布較多,輸出生成模型。但該方法中使用的CAD圖形需要事先得到,需要先一步的操作計算,且對于點集中的每個點的實際法向量會造成大量的計算,對于加工路徑生成的部分很少。
[0006]中國專利CN102799144A公開了一種基于特征的數控加工程序移植方法,基于CAD三維模型進行特征識別,根據特征識別結果提取刀軌的驅動幾何,進行初步工藝決策,然后將零件的總體信息、特征信息及決策信息存儲在XML文件中做進一步工藝決策的基礎。該專利中雖然是用XML方式移植加工信息,但是很多方面,例如特征識別和刀軌生成等都是基于CAM軟件的,方法對于CAM特征識別和刀軌生成等方面的不透明性未做深入較深入的分析。
【發明內容】
[0007]針對現有技術中存在的不足,本發明提供了一種基于圖像特征數據進行路徑規劃的方法,解決計算量較大、方式復雜、需要額外借助CAD處理的問題,直接對加工對象的圖片進行處理,更好地實現實體對象的加工。
[0008]本發明是通過以下技術手段實現上述技術目的的。
[0009]—種基于圖像特征數據進行路徑規劃的方法,包括以下步驟:
[0010]步驟I),構建基于圖像特征數據進行路徑規劃的數控系統;
[0011]步驟2),數控系統初始化,選擇圖片,利用圖片地址將源圖像進行解析計算得到源圖像的圖像數組數據,再根據對稱的旋轉體對象的中心軸位置選擇工件圖像的上半部數據;
[0012]步驟3),利用圖像顏色閾值把圖像數據二值化,利用八鄰域法將圖像的輪廓特征數據找出,并按找出的順序存儲起來作為圖像的輪廓數據;
[0013]步驟4),利用代表加工層面的等距平行直線與圖片邊界和工件外輪廓求取交點,作為加工時的特征刀位點;
[0014]步驟5),將步驟4)中得到的特征點作為路徑生成方法的輸入,按照路徑生成方法獲得的結果順序地存儲起來,得到實際加工的刀位點的序列;
[0015]所述路徑生成方法:在一個要加工的谷中,根據所在加工行按設置的標志位的正負來確定在軸向切割的方向,當標志位為正且下一行無峰凸出時,沿軸向坐標增大的方向進刀,并將下一行的標志位改為負;當標志位為正且下一行有峰凸出時,則回刀,且將下一行的行的標志位由原來的負改為正,在下一行進刀;當標志位為負時,沿標志位為正時方向的相反方向進刀,并將下一行的標志位改為正;每次所在的加工行加工完后再沿徑向深入一行,直至沿軸向的谷向著徑向加工區域加工完,再沿軸向轉至下一個軸向未加工的谷向著徑向按照本方法重復加工;
[0016]步驟6),根據刀位點的序列中相鄰兩點間的位置關系確定直線還是曲線插補。
[0017]進一步,所述步驟I)中基于圖像特征數據進行路徑規劃的數控系統包括圖像數據預處理單元、特征數據提取單元、特征點計算單元、路徑規劃單元和插補單元。
[0018]進一步,所述步驟5)中的谷指的是:在代表加工層面的等距平行直線中,從最外層的一行開始每次取相鄰兩點,前一點所在行的序號為偶數、后一點所在行的序號為奇數的沿徑向的全部可加工的區域。
[0019]進一步,所述步驟5)中每次都在可加工的谷中加工,若在同一行中的相鄰兩點,前一點所在行的序號為奇數,后一點所在行的序號為偶數間的區域不進行加工。
[0020]進一步,所述步驟6)中當相鄰兩點的對應的橫坐標或者縱坐標中只有一個相等時,選擇直線插補;若相鄰兩點對應的橫坐標和縱坐標同時不相等時,利用已有的輪廓數據上兩點間的連續數據,選擇曲線插補。
[0021 ]本發明具有的有益效果是:
[0022]1.將加工對象的圖片作為源文件讀入到述系統中,利用數字圖像處理技術根據圖片格式對圖片進行解析,得到圖像的數字信息,再求得實體圖像的邊緣數據,對于邊緣特性是隨機、任意的曲線邊緣加工具有較強的適應性,直接利用圖像的數字信息避免了復雜的數學建模和計算;且圖像數據截取一半,減少了一半的數據處理時間。
[0023]2.通過將圖像的邊緣數據進行壓縮得到加工的特征加工點,即通過軸向直線求取交點得到的點,進行路徑生成,生成待加工點的序列,避免對輪廓每個點的附加計算和資源,并且加快了系統過程。
[0024]3.系統最后一步中對曲線部分的插補,可以直接利用具有連續分布性的輪廓數據中相鄰兩點的對應的橫縱坐標的差值來決定插補的要進行的方向和進給步數。
【附圖說明】
[0025]圖1為本發明所述的一種基于圖像特征數據進行路徑規劃的方法的數控系統功能方塊圖;
[0026]圖2(a)為本發明所述的一種基于圖像特征數據進行路徑規劃的方法的一種實施例的一個輪廓曲線圖;圖2(b)為本發明所述的一種基于圖像特征數據進行路徑規劃的方法的一種實施例的加工路線圖;
[0027]圖3為本發明所述的一種基于圖像特征數據進行路徑規劃的方法的流程圖。
【具體實施方式】
[0028]下面結合附圖以及具體實施例對本發明作進一步的說明,但本發明的保護范圍并不限于此。
[0029]參照圖1,一種基于圖像特征數據進行路徑規劃的方法的數控系統功能方塊圖,數控系統包括圖像數據預處理單元、特征數據提取單元、特征點計算單元、路徑規劃單元和插補單元。
[0030]圖像數據預處理單元讀入圖片進行預處理,得到特征,并提取需要用到的二值圖像數據;特征數據提取單元從已知圖像數據中提取對象的輪廓數據;特征點計算單元從輪廓數據中計算得出位于輪廓上的特征點并用于路徑規劃單元,路徑規劃得到待加工序列點;插補單元則根據加工過程中的相鄰兩點的位置關系進行插補選擇。
[0031 ] 一種基于圖像特征數據進行路徑規劃的方法的流程圖,包括步驟:
[0032]步驟I),構建基于圖像特征數據進行路徑規劃的數控系統。
[0033]步驟2),數控系統初始化,選擇圖片,利用圖片地址將源圖像進行解析計算得到源圖像的圖像數組數據,再根據對稱的旋轉體對象的中心軸位置選擇工件圖像的上半部數據。
[0034]先指定一個存放輪廓數據的二維數組m_a[i][j]。通過圖片地址將圖片讀入程序,先找到旋轉體的中心軸,需要找到圖像的徑向坐標的最小值和最大值,取平均后即得旋轉體的中心軸坐標,再由此將圖像數據壓縮分成兩半,取中心軸坐標分界的上半部分。
[0035]根據圖片的格式(即BMP或者JPG格式)將指定路徑的圖像信息提取到一個一維數組中,每個數組元素,即每個像素用R、G、B、alpha通道表示,其中R、G、B分別為顏色的分量。對圖像中的點進行插值計算,對圖像的縮放,本發明中采用雙線性插值法。
[0036]雙線性插值算法是一種比較好的圖像縮放算法,它充分的利用了源圖中虛擬點四周的四個真實存在的像素值來共同決定目標圖中的一個像素值,因此縮放效果比簡單的最鄰近插值要好很多,計算量比零階插值大,但縮放后圖像質量高,不會出現像素值不連續的情況。雙線性插值算法描述如下:對于一個目的像素,設置坐標通過反向變換得到的源圖像中的浮點坐標為(i+uj+v)(其中1、j均為浮點坐標的整數部分,u、v為浮點坐標的小數部分,是取值[0,1)區間的浮點數),則這個像素得值f(i+u,j+v)可由原圖像中坐標為(i,j)、(i+1,j)、( i,j+1)、( i+1,j+1)所對應的周圍四個像素的值決定,即:f (i+u,j+v) = (1-u) (1-v)f(i,j) + (l-u)vf(i, j+l)+u(l-v)f(i+l,j)+uvf(i+l,j+1),其中f(i,j)表示源圖像(i,j)處的的像素值,以此類推。
[0037]步驟3),利用圖像顏色閾值把圖像數據二值化,利用八鄰域法將圖像的輪廓特征數據找出,并按找出的順序存儲起來作為圖像的輪廓數據。
[0038]插值運算后,根據處理后的一維數組再進行二值化處理。將R、G、B顏色分量大于190的像素置為白色,即將R、G、B顏色分量重新置為255;而分量小于等于190的像素置為黑色,即將R、G、B顏色分量重新置為0,至此二值化結束。再將得到的二值化的一維數組轉換為二維數組,用于輪廓特征提取。
[0039]然后建立二維數組m_a[i][j],第一維存放輪廓坐標的X軸,第二維存放輪廓坐標的y軸,數組中元素存放的位置為在輪廓數據的位置,從所得圖像的左下角開始沿軸向比較尋找黑色像素,找到后將其作為種子,利用八鄰域法從該處出發,指定順時針方向為鄰域掃描方向,比較尋找邊界坐標的數據,找到黑色點后存放在m_a[i][j],當y軸坐標再一次到起始掃描時的坐標時就停止,并記錄下輪廓坐標點的個數,于是,特征數據點被全部得到,即得到如圖2(a)所示的輪廓曲線。
[0040]八鄰域法即八鄰域邊界跟蹤算法,是先用指定的某種方法找到圖像輪廓上的一點,然后從找到的該點利用數字圖像中相鄰像素之間的位置關系,即一個像素周圍的八個方向都存在與其相鄰的像素,就像九宮格布局一樣,指定順時針或者逆時針的尋找方向,并在各點統一尋找下一點時采用的尋找方向,當在一個邊界點找到下一個邊界點時,轉到下一個邊界點,方向沿與原來尋找方向相反的方向逆著轉過一定角度,再沿該方向用原來尋找方向繼續尋找下一個邊界點,直至邊界點被全部找出。
[0041]步驟4),利用代表加工層面的等距平行直線與圖片邊界和工件外輪廓求取交點,作為加工時的特征點。
[0042]記錄交點總個數、兩個二維數組乂[1][」]、¥[1][」]分別記下每個交點的橫坐標、縱坐標和表示該行的交點數的一維數組Z[i],其中X[i][j]中的第一維表示交點所在直線的行數,第二維表示第j個交點的軸向坐標;Y[i][j]中的第一維表示交點所在直線的行數,第二維表示第η個交點的徑向坐標;Z [ i ]記錄第η行(即所在行)的點的總數。將特征數據壓縮求得特征加工點的數據。在內存建立一個和分割所得的圖像一樣大小的圖像數據,將其全部置為白,再將所得的輪廓數據坐標全部繪在其中,用一系列等距直線與新建的圖像數據求交線(包括輪廓和圖像邊界),指定切割深度(即每行交線之間的像素距離),記錄下交點的總個數,至此得到特征加工點的坐標。
[0043]步驟5),將步驟4)中得到的特征點作為路徑生成方法的輸入,按照路徑生成方法獲得的結果順序地存儲起來,得到實際加工的刀位點的序列;
[0044]所述路徑生成方法:在一個要加工的谷中,根據所在加工行按設置的標志位的正負來確定在軸向切割的方向,當標志位為正且下一行無峰凸出時,沿軸向坐標增大的方向進刀,并將下一行的標志位改為負;當標志位為正且下一行有峰凸出時,則回刀,且將下一行的行的標志位由原來的負改為正,在下一行進刀;當標志位為負時,沿標志位為正時方向的相反方向進刀,并將下一行的標志位改為正;每次所在的加工行加工完后再沿徑向深入一行,直至沿軸向的谷向著徑向加工區域加工完,再沿軸向轉至下一個軸向未加工的谷向著徑向按照本方法重復加工。
[0045]其中的谷指的是:在代表加工層面的等距平行直線中,從最外層的一行開始每次取相鄰兩點,前一點所在行的序號為偶數、后一點所在行的序號為奇數的沿徑向的全部可加工區域;每次都在可加工的谷中加工,若在同一行中的相鄰兩點,前一點所在行的序號為奇數,后一點所在行的序號為偶數間的區域不進行加工。
[0046]如圖3所示,分塊區域加工,從上往下,從左向右,指定切割的所在行的標志位flag,若其為I,則表示切割從左向右,若其為-1,則表示從右向左。M[i][j]為規劃路徑中安排加工的點、N[i]為第i行(即所在行)已加工的點的個數,并將M[i][j]、N[i]全部置零。指定規劃順序沿徑向方向從外向內,規劃從第一行開始。為了減少加工走刀次數,即第一刀的進刀方向,將圖像沿徑向從外向內等距地分割,并計算出每個分割的行與圖像輪廓和圖像兩側邊緣的交點數目和各行的總交點數目,沿徑向從外向內尋找第一個交點數目大于2的所在行。判斷該行的奇偶性,若為偶數,則第一行從左向右進刀;若為奇數,則第一行從右向左進刀。并將下一行標志取反,進刀方向也取反,重復操作直到分割行的交點數目大于2的那一行的上一行。上述執行完后,則進行交點數目大于2的該行及以下各行的規劃。分割行以上的連接左右邊界的交點,直接用直線插補切割,從分割行開始往下,則開始與上面不同的規劃路徑。分割行及以下的各行規劃,依次加工谷內每一行,若該行的標志位為正,則先將該行X[i][j]、Y[i][j]中按照順序的未加工的但即將加工兩點順序依次放入M[i][j]中,再將該行的已加工點數目N[i]加2,并將總交點數目減2;若該行標志位為負,則先將該行X
[i][j]、Y[i][j]中按照順序的未加工的但即將加工兩點逆序依次放入M[i][j]中,在將該行的已加工點數目N[i]加2,并將總交點數目減2。根據該行的標志位的正負來確定加工進刀的左右方向,再看該行下一行在所在谷內是否有峰凸出,若有,則軸向回刀,轉向下一行,標志位不變,從左向右進刀,將每層的已加工點數目N[i]加2,并將總交點數目減2;若無,則軸向回刀,轉向下一行,標志位取反,從右向左進刀,將每層的已加工點數目N[i]加2,并將總交點數目減2。當一行的已規劃點數大于等于該行的需規劃點數時,停止該行的規劃;當總交點數目為O時,則停止全部規劃。重復操作,直到沿著徑向加工完該谷內可加工范圍。分兩層循環,內循環負責沿徑向向軸加工,外循環負責沿軸向從左向右加工。當一次內循環結束時,進入外循環執行下一次的內循環。內循環時,在每一行規劃時,并判斷沿徑向離軸最近的一行的位置,且判斷加工方向,如果該行在軸所在位置,且是沿著從右向左的方向,則沿軸返回到工件表面,轉到下一個可加工谷的第一行;如果該行在軸所在位置,而方向是沿著從左向右,則直接轉到下一個可加工谷的第一行,依照上述反復操作。關于加工域的識另Ij,如圖2(b)所示,當所在加工層的下一層有峰凸出時,為避免錯誤把峰切掉,則規定在該谷內的有效加工范圍加工完時回刀,該層回刀到原位置,向下繼續從左向右加工,下一行標志繼續為正。在內循環(即每次加工一次谷形狀區域時)開始之前,先將切割標志置I,并把新谷內的最上面需加工層記下(為方便加工到谷內最下一層時回刀)。依次加工谷內每一層,當切割標志位為正時,先將該行內乂[幻[」]3[1][」]未規劃的從左向右兩點依次放在1
[i][j]中,再將N[i]加2,再看N[i]是否超過在行Z[i]點的個數,當層內沒有全部加工完時加2,加工完了就不再加數停止該行加工。再判斷所在谷內是否還有下一行需要規劃加工,若有,且下一行無峰凸出,則翻轉切割標志,再將下一行內乂[1][」]3[1][」]未規劃的從左向右兩點依次逆序放在M[i][j]中,若沒有,則忽略轉至下一個可加工谷。當切割標志位為負時,類似。當谷內規劃完時,若最下面一行不是中心軸所在行,則執行回刀,垂直回刀谷內起始行,再向左回到谷內起始行的(N[i]-2)個數的點,接著再回刀所在谷內(細分后的谷)的規劃的最后一點。若最下面一行和谷內起始行為同一行,則表不該谷內只有一刀,從左向右切割后,需要再回刀從右向左,再計算該行左右兩點在輪廓數據中的位置,平均后,再添加該點。然后檢測右邊新谷的起始行,并轉到新谷的起始行。每行有效規劃一次時,交點總數減2,回刀時不減,當交點總數為O時,則停止規劃并退出。
[0047]步驟6),根據刀位點的序列中相鄰兩點間的位置關系確定直線還是曲線插補。
[0048]由于之前的點的分布不同,即若需要軸向切割或者徑向切割,則通過判斷兩點的位置關系,當X和Y兩坐標中只有一個相等、且曲線插補已結束時,選擇為直線插補;若需要沿輪廓表面曲線切割,則通過判斷兩點的X和Y坐標,當X和Y同時不相等時,利用已有的輪廓數據上兩點間的連續數據,選擇為曲線插補。直線插補的選擇為數字積分插補的直線插補,直線插補的方向,由起始點和終點決定;而對于曲線插補的選擇可以使用之前數字圖像處理技術中得到的輪廓數據,由于輪廓數據中輪廓點是連續分布,可以計算前后兩點Χ、γ對應兩軸的坐標的差值(即-1、0、I)確定Χ、Υ單軸進退一步或者X和Y軸兩軸聯動進退一步,曲線插補的順、逆方向,潛在地由曲線兩點在輪廓數據中的位置決定。插補執行時,用位于曲線的起點和終點之間的輪廓數據,沿起點向終點執行。
[0049]所述實施例為本發明優選的實施方式,但本發明并不限于上述實施方式,在不背離本發明的實質內容的情況下,本領域技術人員能夠做出的任何顯而易見的改進、替換或變形均屬于本發明的保護范圍。
【主權項】
1.一種基于圖像特征數據進行路徑規劃的方法,其特征在于,包括以下步驟: 步驟I),構建基于圖像特征數據進行路徑規劃的數控系統; 步驟2),數控系統初始化,選擇圖片,利用圖片地址將源圖像進行解析計算得到源圖像的圖像數組數據,再根據對稱的旋轉體對象的中心軸位置選擇工件圖像的上半部數據; 步驟3),利用圖像顏色閾值把圖像數據二值化,利用八鄰域法將圖像的輪廓特征數據找出,并按找出的順序存儲起來作為圖像的輪廓數據; 步驟4),利用代表加工層面的等距平行直線與圖片邊界和工件外輪廓求取交點,作為加工時的特征點; 步驟5),將步驟4)中得到的特征點作為路徑生成方法的輸入,按照路徑生成方法獲得的結果順序地存儲起來,得到實際加工的刀位點的序列; 所述路徑生成方法:在一個要加工的谷中,根據所在加工行按設置的標志位的正負來確定在軸向切割的方向,當標志位為正且下一行無峰凸出時,沿軸向坐標增大的方向進刀,并將下一行的標志位改為負;當標志位為正且下一行有峰凸出時,則回刀,且將下一行的行的標志位由原來的負改為正,在下一行進刀;當標志位為負時,沿標志位為正時方向的相反方向進刀,并將下一行的標志位改為正;每次所在的加工行加工完后再沿徑向深入一行,直至沿軸向的谷向著徑向加工區域加工完,再沿軸向轉至下一個軸向未加工的谷向著徑向按照本方法重復加工; 步驟6),根據刀位點的序列中相鄰兩點間的位置關系確定直線還是曲線插補。2.根據權利要求1所述的一種基于圖像特征數據進行路徑規劃的方法,其特征在于,所述步驟I)中基于圖像特征數據進行路徑規劃的數控系統包括圖像數據預處理單元、特征數據提取單元、特征點計算單元、路徑規劃單元和插補單元;所述圖像數據預處理單元讀入圖片進行預處理,得到特征,并提取需要用到的二值圖像數據;所述特征數據提取單元從已知圖像數據中提取對象的輪廓數據;所述特征點計算單元從輪廓數據中計算得出位于輪廓上的特征點并用于所述路徑規劃單元,路徑規劃得到待加工序列點;所述插補單元則根據加工過程中的相鄰兩點的位置關系進行插補選擇。3.根據權利要求1所述的一種基于圖像特征數據進行路徑規劃的方法,其特征在于,所述步驟5)中的谷指的是:在代表加工層面的等距平行直線中,從最外層的一行開始每次取相鄰兩點,前一點所在行的序號為偶數、后一點所在行的序號為奇數的沿徑向的全部可加工區域。4.根據權利要求1所述的一種基于圖像特征數據進行路徑規劃的方法,其特征在于,所述步驟5)中每次都在可加工的谷中加工,若在同一行中的相鄰兩點,前一點所在行的序號為奇數,后一點所在行的序號為偶數間的區域不進行加工。5.根據權利要求1所述的一種基于圖像特征數據進行路徑規劃的方法,其特征在于,所述步驟6)中當相鄰兩點的對應的橫坐標或者縱坐標中只有一個相等、且曲線插補已結束時,選擇為直線插補;若相鄰兩點對應的橫坐標和縱坐標同時不相等時,利用已有的輪廓數據上兩點間的連續數據,選擇為曲線插補。
【文檔編號】G05B19/19GK105955191SQ201610257676
【公開日】2016年9月21日
【申請日】2016年4月22日
【發明人】潘天紅, 周智勇, 鄒小波
【申請人】江蘇大學