本發(fā)明涉及智能噴涂技術(shù)領(lǐng)域,具體涉及一種基于機(jī)器視覺技術(shù)的智能噴涂方法及系統(tǒng)。
背景技術(shù):
目前主流的噴涂機(jī)器人有兩種類型,一種是示教型,另一種是離線編程型。此類噴涂機(jī)器人在一定程度上實(shí)現(xiàn)了自動(dòng)化,使用噴涂機(jī)器人代替了油漆工人的工作,但它們都還存在著不足:
適應(yīng)性不強(qiáng),針對不同的噴涂件,甚至是同一噴涂件換了個(gè)位置或角度,都需要重新進(jìn)行編程;編程過程需要專業(yè)人士人為參與,且繁瑣、效率低。精度不易掌控,基本都是靠示教者目測來決定。近來也出現(xiàn)了依靠三維成像技術(shù)來對噴涂件建模的技術(shù),但不夠成熟:建模過程依賴人為參與,需要針對三維模型進(jìn)行后處理,來手工進(jìn)行編輯和優(yōu)化。這樣做的缺點(diǎn)一方面無法做到完全自動(dòng)化,需要專業(yè)的三維模型編輯人士參與;另一方面人工編輯難免出現(xiàn)誤差,導(dǎo)致模型不夠精準(zhǔn),影響最終的噴涂效果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種基于機(jī)器視覺技術(shù)的智能噴涂方法及系統(tǒng),克服了現(xiàn)有技術(shù)的缺陷。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:提供了一種基于機(jī)器視覺技術(shù)的智能噴涂方法,包括:
S1,獲取噴涂件的不同方位的點(diǎn)云數(shù)據(jù);
S2,對所述噴涂件的不同方位的點(diǎn)云數(shù)據(jù)做合成處理,得到噴涂件的三維模型;
S3,基于所述噴涂件的三維模型,依據(jù)三維模型的表面特征,采用預(yù)定方式計(jì)算出每一個(gè)噴涂區(qū)域的噴涂路徑和噴涂時(shí)噴槍的朝向;
S4,控制機(jī)器人到指定位置,按照噴涂區(qū)域生成的噴涂路徑以及噴涂時(shí)噴槍的朝向,對噴涂件的噴涂區(qū)域進(jìn)行走槍噴涂。
為了解決本發(fā)明的技術(shù)問題,還提供了一種基于機(jī)器視覺技術(shù)的智能噴涂系統(tǒng),包括:
點(diǎn)云數(shù)據(jù)獲取模塊,用于獲取噴涂件的不同方位的點(diǎn)云數(shù)據(jù);
合成處理模塊,用于對所述噴涂件的不同方位的點(diǎn)云數(shù)據(jù)做合成處理,得到噴涂件的三維模型;
噴涂路徑計(jì)算模塊,用于基于所述噴涂件的三維模型,依據(jù)三維模型的表面特征,采用預(yù)定方式計(jì)算出噴涂區(qū)域的噴涂路徑和噴涂時(shí)噴槍的朝向;
噴涂控制模塊,用于控制機(jī)器人到指定位置,按照噴涂區(qū)域生成的噴涂路徑以及噴涂時(shí)噴槍的朝向,對噴涂件的噴涂區(qū)域進(jìn)行走槍噴涂。
本發(fā)明的有益效果為:不需要針對噴涂件對噴涂噴涂機(jī)器人進(jìn)行編程,噴涂路徑是依據(jù)噴涂件的表面動(dòng)態(tài)生成,即使更換了噴涂件,也無需作人工干預(yù);可以自動(dòng)識別噴涂件的三維模型,無需人工干預(yù),既可針對不同的噴涂件進(jìn)行噴涂工作,又無需專業(yè)建模人士對噴涂件進(jìn)行三維建模。
附圖說明
圖1為實(shí)施例1的一種基于機(jī)器視覺技術(shù)的智能噴涂方法流程圖;
圖2為實(shí)施例2的一種基于機(jī)器視覺技術(shù)的智能噴涂系統(tǒng)框圖。
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
實(shí)施例1、一種基于機(jī)器視覺技術(shù)的智能噴涂方法。
參見圖1,本實(shí)施例提供的智能噴涂方法包括:
S1,獲取噴涂件的不同方位的點(diǎn)云數(shù)據(jù);
S2,對所述噴涂件的不同方位的點(diǎn)云數(shù)據(jù)做合成處理,得到噴涂件的三維模型;
S3,基于所述噴涂件的三維模型,依據(jù)三維模型的表面特征,采用預(yù)定方式計(jì)算出噴涂區(qū)域的噴涂路徑和噴涂時(shí)噴槍的朝向;
S4,控制機(jī)器人到指定位置,按照噴涂區(qū)域生成的噴涂路徑以及噴涂時(shí)噴槍的朝向,對噴涂件的噴涂區(qū)域進(jìn)行走槍噴涂。
下面對上述步驟具體說明:
在獲取噴涂件的不同方位的點(diǎn)云數(shù)據(jù)時(shí),可采用多個(gè)深度相機(jī)對噴涂件的不同方位進(jìn)行拍攝獲取噴涂件的不同方位的點(diǎn)云數(shù)據(jù),其中,一部深度相機(jī)對應(yīng)拍攝噴涂件一個(gè)方位的點(diǎn)云數(shù)據(jù);或者,利用一部相機(jī)通過轉(zhuǎn)換位置對噴涂件的不同方位進(jìn)行拍攝獲取噴涂件的不同方位的點(diǎn)云數(shù)據(jù)。在本實(shí)施例中,采用多部相機(jī)對噴涂件的不同方位進(jìn)行拍攝。由于相機(jī)之間的參數(shù)是存在細(xì)微差異的,相機(jī)本身的參數(shù)隨著使用的時(shí)間也會(huì)存在差異,為了精確計(jì)算出相機(jī)的這些參數(shù),同時(shí)為了獲得各個(gè)相機(jī)之間的位置關(guān)系(當(dāng)使用一個(gè)相機(jī)來拍攝噴涂件的不同方位的點(diǎn)云數(shù)據(jù)時(shí),位置關(guān)系即為相機(jī)放置的不同方位)。從不同的方位對噴涂件進(jìn)行拍攝得到的點(diǎn)云數(shù)據(jù)彼此是獨(dú)立的。本實(shí)施例可以借助于標(biāo)定板,對各個(gè)相機(jī)自身的參數(shù)予以修正,得到標(biāo)準(zhǔn)參數(shù),即對相機(jī)的參數(shù)進(jìn)行標(biāo)定。同時(shí)還需要確定各個(gè)相機(jī)的位置關(guān)系,具體包括每一個(gè)相機(jī)的三維坐標(biāo)參數(shù)和角度參數(shù),利用這些參數(shù),可以精確知道空間中各個(gè)相機(jī)之間的三維關(guān)系,從而對相機(jī)獲取的噴涂件的點(diǎn)云數(shù)據(jù)進(jìn)行后期的合成處理。
具體標(biāo)定過程為:預(yù)設(shè)多個(gè)相機(jī)拍攝噴涂件的位置,借助于標(biāo)定板,運(yùn)用視覺算法庫,通過計(jì)算棋盤格在圖像平面中角點(diǎn)的圖像二維坐標(biāo),通過小孔成像原理,建立各相機(jī)坐標(biāo)之間以及各相機(jī)坐標(biāo)與世界坐標(biāo)之間的映射關(guān)系。具體為:設(shè)計(jì)一個(gè)棋盤格立方體,將棋盤格立方體的體中心定義為世界坐標(biāo)系原點(diǎn);每兩個(gè)相鄰相機(jī)稱為一組相機(jī)對,獲取每對相機(jī)的公共事業(yè)區(qū)里棋盤長方體的一部分棋盤格表面圖像;根據(jù)所述棋盤格表面圖像并運(yùn)用OpenCV庫標(biāo)定算法計(jì)算角點(diǎn)的圖像二維坐標(biāo);根據(jù)所述圖像二維坐標(biāo)運(yùn)用OpenKinect庫中算法計(jì)算出3D點(diǎn)云組對坐標(biāo)數(shù)據(jù);根據(jù)兩兩3D點(diǎn)云組對坐標(biāo)數(shù)據(jù),運(yùn)用PCL庫中的SVD算法計(jì)算兩兩組對之間的外參變換矩陣;優(yōu)化各相機(jī)外參矩陣得到以參考相機(jī)為參考的各組外參變換矩陣,得到各個(gè)相機(jī)之間在空間中的三維位置關(guān)系。
完成相機(jī)的標(biāo)定工作后,就可以在預(yù)定好的位置上對噴涂件進(jìn)行拍攝獲取噴涂件的點(diǎn)云數(shù)據(jù),多部相機(jī)所拍攝到的點(diǎn)云數(shù)據(jù)彼此都是獨(dú)立的,只能從一個(gè)角度反映出噴涂件的表面數(shù)據(jù)。但是通過上述標(biāo)定的相機(jī)參數(shù),對這些點(diǎn)云數(shù)據(jù)進(jìn)行計(jì)算,將各個(gè)不同角度獲取的點(diǎn)云數(shù)據(jù)進(jìn)行合成,從而獲取到噴涂件的完整三維模型。
上述對各相機(jī)的參數(shù)進(jìn)行了標(biāo)定之后,所述步驟S2具體包括:
選擇多個(gè)相機(jī)中的一個(gè)相機(jī)的角度信息作為參考位置坐標(biāo),通過標(biāo)定獲取到的相機(jī)之間的兩兩變換關(guān)系,將各個(gè)相機(jī)拍攝到的噴涂件不同方位的點(diǎn)云數(shù)據(jù)通過變換統(tǒng)一到所述參考位置坐標(biāo),最終變換到世界坐標(biāo)系中;將變換到了世界坐標(biāo)系中的各點(diǎn)云數(shù)據(jù)進(jìn)行合成,進(jìn)而獲取到噴涂件的三維模型。
基于噴涂件的三維模型,所述步驟S3具體包括:
S31,基于噴涂件的三維模型,將噴涂區(qū)域的點(diǎn)云數(shù)據(jù)進(jìn)行三角面片重構(gòu),形成噴涂區(qū)域表面;
S32,根據(jù)噴涂區(qū)域的表面曲率和面積大小,確定噴涂區(qū)域表面的噴涂控制點(diǎn)的位置和個(gè)數(shù);
S33,將所有噴涂控制點(diǎn)以接近工人人工噴涂的形式連接起來形成噴涂路徑,其中,每一個(gè)噴涂控制點(diǎn)為噴槍噴涂時(shí)的走位,法線方向?yàn)閲姌寚娡繒r(shí)的朝向。
通過上述步驟S31-S33,能夠得到噴涂區(qū)域的噴涂路徑以及噴涂時(shí)噴槍的走向和朝向,最后控制噴涂機(jī)器人到指定位置,按照生成的噴涂路徑對噴涂區(qū)域表面進(jìn)行走槍噴涂,完成對噴涂區(qū)域的噴涂過程。
實(shí)施例2、一種基于機(jī)器視覺技術(shù)的智能噴涂系統(tǒng)。
參見圖2,本實(shí)施例提供的智能噴涂系統(tǒng)包括點(diǎn)云數(shù)據(jù)獲取模塊2、合成處理模塊3、噴涂路徑計(jì)算模塊4和噴涂控制模塊5。
點(diǎn)云數(shù)據(jù)獲取模塊2,用于獲取噴涂件的不同方位的點(diǎn)云數(shù)據(jù);
合成處理模塊3,用于對所述噴涂件的不同方位的點(diǎn)云數(shù)據(jù)做合成處理,得到噴涂件的三維模型;
噴涂路徑計(jì)算模塊4,用于基于所述噴涂件的三維模型,依據(jù)三維模型的表面曲率和面積大小,采用預(yù)定方式計(jì)算出噴涂區(qū)域的噴涂路徑和噴涂時(shí)噴槍的朝向;
噴涂控制模塊5,用于控制機(jī)器人到指定位置,按照噴涂區(qū)域生成的噴涂路徑以及噴涂時(shí)噴槍的朝向,對噴涂件的噴涂區(qū)域進(jìn)行走槍噴涂。
其中,所述點(diǎn)云數(shù)據(jù)獲取模塊2具體用于:
利用多個(gè)深度相機(jī)對噴涂件的不同方位進(jìn)行拍攝獲取噴涂件的不同方位的點(diǎn)云數(shù)據(jù),其中,一部深度相機(jī)對應(yīng)拍攝噴涂件一個(gè)方位的點(diǎn)云數(shù)據(jù)。
在點(diǎn)云數(shù)據(jù)獲取模塊2之前還包括:
相機(jī)參數(shù)標(biāo)定模塊1,用于用于預(yù)設(shè)多個(gè)相機(jī)拍攝噴涂件的位置,借助于標(biāo)定板,運(yùn)用視覺算法庫,通過計(jì)算棋盤格在圖像平面中角點(diǎn)的圖像二維坐標(biāo),通過小孔成像原理,建立各相機(jī)坐標(biāo)之間以及各相機(jī)坐標(biāo)與世界坐標(biāo)之間的映射關(guān)系。
具體的借助于標(biāo)定板,運(yùn)用視覺算法庫,建立各相機(jī)坐標(biāo)之間以及各相機(jī)坐標(biāo)與世界坐標(biāo)之間的映射關(guān)系具體為:
設(shè)計(jì)一個(gè)棋盤格立方體,將棋盤格立方體的體中心定義為世界坐標(biāo)系原點(diǎn);
每兩個(gè)相鄰相機(jī)稱為一組相機(jī)對,獲取每對相機(jī)的公共事業(yè)區(qū)里棋盤長方體的一部分棋盤格表面圖像;
根據(jù)所述棋盤格表面圖像并運(yùn)用OpenCV庫標(biāo)定算法計(jì)算角點(diǎn)的圖像二維坐標(biāo);
根據(jù)所述圖像二維坐標(biāo)運(yùn)用OpenKinect庫中算法計(jì)算出3D點(diǎn)云組對坐標(biāo)數(shù)據(jù);
根據(jù)兩兩3D點(diǎn)云組對坐標(biāo)數(shù)據(jù),運(yùn)用PCL庫中的SVD算法計(jì)算兩兩組對之間的外參變換矩陣;
優(yōu)化各相機(jī)外參矩陣得到以參考相機(jī)為參考的各組外參變換矩陣,得到各個(gè)相機(jī)之間在空間中的三維位置關(guān)系。
所述合成處理模塊2,具體用于選擇多個(gè)相機(jī)中的一個(gè)相機(jī)的角度信息作為參考位置坐標(biāo),通過標(biāo)定獲取到的相機(jī)之間的兩兩變換關(guān)系,將各個(gè)相機(jī)拍攝到的噴涂件不同方位的點(diǎn)云數(shù)據(jù)通過變換統(tǒng)一到所述參考位置坐標(biāo),最終變換到世界坐標(biāo)系中,將變換到了世界坐標(biāo)系中的各點(diǎn)云數(shù)據(jù)進(jìn)行合成,進(jìn)而獲取到噴涂件的三維模型。
所述噴涂路徑計(jì)算模塊4具體包括:
三角面片重構(gòu)模塊41,用于基于噴涂件的三維模型,將噴涂區(qū)域的點(diǎn)云數(shù)據(jù)進(jìn)行三角面片重構(gòu),形成噴涂區(qū)域表面;
控制點(diǎn)確定模塊42,用于根據(jù)噴涂區(qū)域的表面曲率和面積大小,確定噴涂區(qū)域表面的控制噴涂點(diǎn)的位置和個(gè)數(shù),以及噴涂控制點(diǎn)的噴槍朝向;
路徑生成模塊43,用于以簡潔有效的原則將所有噴涂控制點(diǎn)串起來形成一條噴涂路徑。路徑生成用模仿工人噴漆的方式讓噴槍盡量按照直線來行走,并在一條直線過渡到另外一條時(shí)以圓弧的方式補(bǔ)充過渡點(diǎn),這樣可以讓噴槍走起來更加平滑。
本發(fā)明提供的一種基于機(jī)器視覺技術(shù)的智能噴涂方法及智能噴涂系統(tǒng),不需要針對噴涂件對噴涂噴涂機(jī)器人進(jìn)行編程,噴涂路徑是依據(jù)噴涂件的表面動(dòng)態(tài)生成,即使更換了噴涂件,也無需作人工干預(yù);可以自動(dòng)識別噴涂件的三維模型,無需人工干預(yù),既可針對不同的噴涂件進(jìn)行噴涂工作,又無需專業(yè)建模人士對噴涂件進(jìn)行三維建模;對噴涂件的擺放位置和擺放角度沒有嚴(yán)格要求,只要擺放在噴涂區(qū)域即可;在整個(gè)噴涂的過程中,只需要下達(dá)簡單的幾個(gè)指令即可,不需要太多的培訓(xùn)即可上手,完全可以替代一般噴涂工人的工作,從而實(shí)現(xiàn)噴涂過完全自動(dòng)化。
在本說明書的描述中,參考術(shù)語“實(shí)施例一”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體方法、裝置或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實(shí)施例或示例。而且,描述的具體特征、方法、裝置或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。