本發明涉及機器人領域,特別是涉及一種噴涂機器人加工工件的方法以及系統。
背景技術:
隨著機器人技術的發展進步,機器人已經廣泛應用于各行各業。
噴涂機器人主要用于對工件進行噴涂加工,例如,木材。其一般是抓取噴槍等噴涂工具按照一定的軌跡運動,以完成對工件的噴涂加工,其中,噴涂機器人可以通過運行已編寫好的G代碼,來使噴槍按特定的軌跡進行加工。
噴涂自動化的關鍵在于加工軌跡和G代碼的自動生成。而現有的噴涂機器人的軌跡生成方法主要是離線編程法,離線編程法采用人機交互方式編寫G代碼,即具備相應的工藝經驗以及軌跡編程經驗編程人員,利用人機交互進行編寫代碼。噴涂機器人的G代碼以及加工軌跡均是人為生成的,進而在一定程度上降低了噴涂機器人的加工效率。
技術實現要素:
本發明的目的是提供一種噴涂機器人加工工件的方法以及系統,目的在于解決現有人為地生成噴涂機器人的加工軌跡和G代碼從而造成加工效率較低的問題。
為解決上述技術問題,本發明提供一種噴涂機器人加工工件的方法,該方法包括:
獲取待加工工件的點云數據;
提取所述點云數據的邊界點,生成所述待加工工件的輪廓圖形,對所述輪廓圖形進行區域分割,得出多個規則的子輪廓圖形,建立所述子輪廓圖形的噴涂模型;
根據所述子輪廓圖形的形狀,選擇相應的加工工藝,基于所述噴涂模型,生成所述子輪廓圖形的加工軌跡以及加工參數;
根據所述加工軌跡以及所述加工參數,自動生成G代碼,以使噴涂機器人自動化加工所述待加工工件。
可選地,所述提取所述點云數據的邊界點,生成所述待加工工件的輪廓圖形,對所述輪廓圖形進行區域分割,得出多個規則的子輪廓圖形,建立所述子輪廓圖形的噴涂模型包括:
利用邊界提取算法對所述點云數據進行分析,找出所述邊界點,所述邊界提取算法為經緯線掃描法、網格劃分法以及最小凸邊法中的任意一種;
連接所述邊界點,生成所述待加工工件的所述輪廓圖形;
基于點云數據切割算法,將所述輪廓圖形分割成多個規則的所述子輪廓圖形;
分別建立多個所述子輪廓圖形的噴涂模型。
可選地,在所述獲取待加工工件的點云數據之后還包括:
對所述點云數據進行預處理,去除所述點云數據的噪聲點以及冗余數據。
可選地,所述根據所述子輪廓圖形的形狀,選擇相應的加工工藝,基于所述噴涂模型,生成所述子輪廓圖形的加工軌跡以及加工參數包括:
根據所述子輪廓圖形的形狀,選擇相應的加工工藝;
對所述噴涂模型進行分析處理,自動生成所述加工軌跡;
根據所述加工軌跡,計算得出所述加工參數;
其中,所述加工參數包括噴槍方向參數以及噴槍速度參數。
可選地,所述根據所述加工軌跡以及所述加工參數,自動生成G代碼,以使噴涂機器人自動化加工所述待加工工件包括:
將所述加工參數轉換為預設格式的參數數據;
根據所述參數數據以及所述加工軌跡,自動生成所述G代碼,以使噴涂機器人自動化加工所述待加工工件。
此外,本發明還提供了一種噴涂機器人加工工件的系統,該系統包括:
獲取模塊,獲取待加工工件的點云數據;
噴涂模型建立模塊,用于提取所述點云數據的邊界點,生成所述待加工工件的輪廓圖形,對所述輪廓圖形進行區域分割,得出多個規則的子輪廓圖形,建立所述子輪廓圖形的噴涂模型;
軌跡生成模塊,用于根據所述子輪廓圖形的形狀,選擇相應的加工工藝,基于所述噴涂模型,生成所述子輪廓圖形的加工軌跡以及加工參數;
G代碼生成模塊,用于根據所述加工軌跡以及所述加工參數,自動生成G代碼,以使噴涂機器人自動化加工所述待加工工件。
可選地,所述噴涂模型建立模塊包括:
邊界點提取單元,用于利用邊界提取算法對所述點云數據進行分析,找出所述邊界點,所述邊界提取算法為經緯線掃描法、網格劃分法以及最小凸邊法中的任意一種;
邊界點連接單元,用于連接所述邊界點,生成所述待加工工件的所述輪廓圖形;
分割單元,用于基于點云數據切割算法,將所述輪廓圖形分割成多個規則的所述子輪廓圖形;
建立單元,用于分別建立多個所述子輪廓圖形的噴涂模型。
可選地,還包括:
預處理模塊,用于對所述點云數據進行預處理,去除所述點云數據的噪聲點以及冗余數據。
可選地,所述軌跡生成模塊包括:
選擇單元,用于根據所述子輪廓圖形的形狀,選擇相應的加工工藝;
軌跡自動生成單元,用于對所述噴涂模型進行分析處理,自動生成所述加工軌跡;
參數計算單元,根據所述加工軌跡,計算得出所述加工參數;
其中,所述加工參數包括噴槍方向參數以及噴槍速度參數。
可選地,所述G代碼生成模塊包括:
轉換單元,用于將所述加工參數轉換為預設格式的參數數據;
代碼自動生成單元,用于根據所述參數數據以及所述加工軌跡,自動生成所述G代碼,以使噴涂機器人自動化加工所述待加工工件。
本發明所提供的一種噴涂機器人加工工件的方法以及系統,通過獲取待加工工件的點云數據;提取所述點云數據的邊界點,生成所述待加工工件的輪廓圖形,對所述輪廓圖形進行區域分割,得出多個規則的子輪廓圖形,建立所述子輪廓圖形的噴涂模型;根據所述子輪廓圖形的形狀,選擇相應的加工工藝,基于所述噴涂模型,生成所述子輪廓圖形的加工軌跡以及加工參數;根據所述加工軌跡以及所述加工參數,自動生成G代碼,以使噴涂機器人自動化加工所述待加工工件。基于獲取的點云數據,建立相應的矢量方程即噴涂模型,然后根據噴涂模型生成所需的加工軌跡以及加工參數,最終根據加工參數和加工軌跡,自動生成G代碼,不用人為地參與編寫G代碼以及加工軌跡的生成。可見,本申請自動生成噴涂機器人的G代碼以及加工軌跡,實現了噴涂自動化,提高了噴涂機器人的加工效率。
附圖說明
為了更清楚的說明本發明實施例或現有技術的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例所提供的噴涂機器人加工工件方法的一種具體實施方式的流程示意圖;
圖2為本發明實施例提供的噴涂機器人加工工件系統的結構示意框圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明方案,下面結合附圖和具體實施方式對本發明作進一步的詳細說明。顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
請參見圖1,圖1為本發明實施例所提供的噴涂機器人加工工件方法的一種具體實施方式的流程示意圖,該方法包括:
步驟101:獲取待加工工件的點云數據;
需要說明的是,上述待加工工件可以是指待噴涂工件,其可以是木材材質工件,也可以是其它材質的工件,例如,待加工工件可以為待噴涂的桌子。而待加工工件可以是指整體的工件,例如,整個桌子;也可以是指物體的其中一部分,例如,汽車的車門。
上述點云數據是指待加工工件的三維數據,即可以通過點云數據可以重構出待加工工件的三維圖像。點云數據可以是通過檢測裝置掃描待加工工件得到的。
獲取得到的點云數據可能存在著一些干擾數據以及冗余數據,為了保證后續處理步驟的準確性以及效率性,故需要對點云數據進行預處理操作。
在本發明的一些實施例中,其預處理過程可以具體為:對所述點云數據進行預處理,去除所述點云數據的噪聲點以及冗余數據。
可以理解的是,由于檢測裝置存在著系統誤差和隨機誤差,以及待加工工件的表面粗糙度不同,表面存在有波紋以及缺陷等原因,使得采集得到的點云數據有干擾點,即在點云數據采樣過程中,不可避免地在真實數據點中混有不合理的噪聲點。
去除點云數據中的噪聲點例如可以利用平滑濾波算法,也可以利用其它的去噪算法,在此不作限定。
在處理龐大的點云數據時,需要占用大量計算機資源以及花費大量時間。進一步地,過多的點云數據反而可能會影響待加工工件三維曲面的光順性,故對測量的海量數據進行數據簡化是十分必要的。
數據簡化的方法有很多,例如,可以采用最小距離法對點云數據進行精簡,其通過設定一個最小距離dmin,沿掃描線方向依次比較相鄰兩點間的距離d;若d<dmin,則記錄后一個數;逐一判斷所有掃描點,最后根據實際情況判斷這些記錄點是否要剔除。顯而易見地,去除點云數據的冗余數據的方法并不限于上述所提及的方法。
步驟102:提取所述點云數據的邊界點,生成所述待加工工件的輪廓圖形,對所述輪廓圖形進行區域分割,得出多個規則的子輪廓圖形,建立所述子輪廓圖形的噴涂模型;
需要說明的是,上述噴涂模型可以是指三維矢量方程。可以通過基于同一剖面上的若干點坐標,得到待加工工件與剖面交線的三維矢量方程。對矢量方程進行處理,可以生成并優化得到的加工軌跡。
基于獲取的點云數據,經過邊界提取以及區域分割,最終生成相應的矢量方程即噴涂模型。
在本發明的一些實施例中,點云數據生成矢量方程的過程可以具體為:利用邊界提取算法對所述點云數據進行分析,找出所述邊界點,所述邊界提取算法為經緯線掃描法、網格劃分法以及最小凸邊法中的任意一種;連接所述邊界點,生成所述待加工工件的所述輪廓圖形;基于點云數據切割算法,將所述輪廓圖形分割成多個規則的所述子輪廓圖形;分別建立多個所述子輪廓圖形的噴涂模型。
將點云數據分割成多個小部分數據進行處理,可以大大減少后續軌跡優化的計算量,從而提高了計算速度,提高了加工效率。
可以理解的是,點云數據中的數據點可以分為邊界點和內部點,點云數據邊界點可以是指能夠描述點云數據形態輪廓的少量點集。點云數據邊界點通常都有一個特性:它附近的鄰近點都位于同一側分布,而不是分布在四周。基于邊界點特性,可以采用數據點及其鄰近點的分布均勻性來判定邊界點和非邊界點。然后根據相應的邊界點,可以確定待加工工件的幾何圖形形狀。
常見的平面點云的邊界特征提取方法有很多,例如可以有經緯線掃描法、網格劃分法、最小凸邊算法。
網格劃分法一般包括三個流程,即網格劃分、尋找邊界網格以及提取邊界線。其首先建立點云數據的最小包圍矩形,用設定間隔的矩形網格將數據分割;然后尋找邊界網格,把邊界網格依順序連接構成一條由邊界網格組成的“粗邊界”;最后對每個邊界網格中的數據依據一定的規則判斷其是否是邊界點,從而得到點云的邊界點信息。
顯而易見地,上述經緯線掃描法以及最小凸邊算法均是本領域技術人員所熟知的技術,在此不再贅述。當然,點云數據的邊界點提取方法還可以為其它方法,在此不作限定。
將提取出邊界點連接起來,可以生成待加工工件的輪廓圖形形狀,而由于生成的輪廓圖形形狀不一定滿足加工工藝的要求,因此,還可以對點云數據進行區域分割,即將整體的待加工工件根據加工工藝的要求,分割為若干個規則的幾何圖形。
為了使得噴涂機器人加工工件的路徑更優,故可以在對點云數據進行分片時,遵從多個分片原則,例如規則多邊形原則、凸多邊形原則、盡量減少轉折點原則以及片之間的公共邊長盡量短原則。
由于規則多邊形的路徑規劃相對簡單,分片時應盡量分解為規則多邊形。例如,當子輪廓圖形近似于直角多邊形,噴涂機器人的加工路徑規劃及機器人的運動控制效果較好;而子輪廓圖形為內角為銳角的多邊形,由于存在一些較小的邊角,使得噴涂機器人運動控制實現比較困難。
可以理解的是,與凸多邊形相比,凹多邊形的噴涂路徑方向變化更多一些,沿著凸多邊形上的噴涂路徑進行噴涂效果會更好一些,故可以使得子輪廓圖形盡可能為凸多邊形。
需要說明的是,在噴涂路徑的轉折點處,噴涂機器人的運動控制難度較大,進而導致噴涂效果變差;進一步地,噴涂機器人在轉折點處必須經過減速和加速過程才能平穩過渡,進而使得噴涂時間也會變長,噴涂效率降低。因此,點云數據分割過程中應盡量選擇轉折點較少的分割方案,即垂直于噴涂路徑方向的子輪廓圖形的邊長長度要盡量小。
各個子輪廓圖形交界處上的涂層厚度是由兩個子輪廓圖形上的噴涂軌跡所決定的,因此,如果子輪廓圖形交界處的公共邊長較長,可能造成公共邊周圍涂層厚度的不一致,故應遵循子輪廓圖形之間的公共邊長盡量短原則。
將待加工工件分割成多個規則的子輪廓圖形后,可以生成每個子輪廓圖形的矢量方程即噴涂模型。
步驟103:根據所述子輪廓圖形的形狀,選擇相應的加工工藝,基于所述噴涂模型,生成所述子輪廓圖形的加工軌跡以及加工參數;
具體地,根據子輪廓圖形的幾何形狀,確定每個子輪廓圖形的加工工藝,例如,當子輪廓圖形為正方形時,則該子輪廓圖形使用的噴涂路徑為螺旋形加工軌跡。然后利用相應的轉換算法,對噴涂模型即矢量方程進行處理,即可生成對應的加工軌跡,并對生成的加工軌跡進行優化;最后由生成加工軌跡生成幾何信息即加工參數。例如,確定噴涂的起始位置,噴槍的加速、勻速以及減速階段,噴槍角度問題,轉彎階段以及噴涂不同位置時噴槍的轉向角度等,以完成加工軌跡的規劃。
需要說明的是,上述子輪廓圖形的形狀一般為規則的多邊形,例如,正方形、長方形、類正方形以及類長方形。子輪廓圖形的劃分一般是按區域分割的,例如,對整個桌子進行分割,可以將桌面分割為子輪廓圖形,將底座作為一個子輪廓圖形。
上述加工工藝可以是指預先根據子輪廓圖形的集合圖形形狀的不同,將加工工藝進行分類。一般地,噴涂機器人噴涂路徑通常有兩種模式:Z字形路徑和螺旋形路徑。Z字形路徑規劃比較簡單,缺點是噴涂后在每一片的邊界處涂層厚度均勻性較差;螺旋形路徑避免了這個缺點,但在噴涂過程中噴槍路徑上容易出現斷點。在實際生產中,機器人噴涂路徑一般都為Z字形路徑。螺旋形路徑適合噴涂中空的區域。
在本發明的一些實施例中,軌跡生成以及優化的過程可以具體為:根據所述子輪廓圖形的形狀,選擇相應的加工工藝;對所述噴涂模型進行分析處理,自動生成所述加工軌跡;根據所述加工軌跡,計算得出所述加工參數;其中,所述加工參數包括噴槍方向參數以及噴槍速度參數。
可以理解的是,上述加工參數可以是指噴槍等噴涂工具相關的參數,例如,噴槍方向以及噴槍速度,當然,加工參數還包括其它的加工參數,均是本領域技術人員所熟知的,在此不再贅述。
自動生成加工軌跡,以及利用矢量方程對加工軌跡進行優化,以得出最優的加工路徑,提高了噴涂質量,降低了材料的消耗,提高了加工效率。
步驟104:根據所述加工軌跡以及所述加工參數,自動生成G代碼,以使噴涂機器人自動化加工所述待加工工件。
具體地,可以將加工參數,以及加工軌跡按照預設的格式輸入到硬件執行機構,以自動生成可執行的G代碼,然后噴涂機器人運行生成的G代碼,對待加工工件進行加工。
可以理解的是,由于加工軌跡以及加工參數均是子輪廓圖形的,即生成的加工軌跡以及加工參數對應于待加工工件的局部區域。在對整個工件進行加工噴涂時,可以將多個區域的加工軌跡按照一定的加工順序組合起來,即整個工件的加工階段,按區域分為多個階段。例如,當待加工工件為桌子時,將桌子劃分為桌面和底座兩個子輪廓,生成相應的加工軌跡以及加工參數;加工工件時,可以根據桌面的加工路徑以及參數加工完桌面,再根據底座的加工路徑以及加工參數加工底座,最后完成整個工件的加工。當然,工件的各個區域的加工先后順序可以是任意地,在此不作限定。
在本發明的一些實施例中,自動生成G代碼的過程可以具體為:將所述加工參數轉換為預設格式的參數數據;根據所述參數數據以及所述加工軌跡,自動生成所述G代碼,以使噴涂機器人自動化加工所述待加工工件。
需要說明的是,上述預設格式數據可以是指文本格式,即將加工參數按照一定的先后順序填寫在text文本中,然后將text文本輸入至硬件平臺,以使硬件平臺讀取文本中的數據,根據相應的加工軌跡,自動生成相應的G代碼。運行相應的G代碼,可以實現噴涂機器人的自動化,即自動生成加工軌跡以及G代碼,繼而自動加工相應的工件。顯而易見地,自動生成G代碼的方法并不限于上述所提及的方法。
本發明實施例所提供的噴涂機器人加工工件的方法,基于獲取的點云數據,建立相應的矢量方程即噴涂模型,然后根據噴涂模型生成所需的加工軌跡以及加工參數,最終根據加工參數和加工軌跡,自動生成G代碼,不用人為地參與編寫G代碼以及加工軌跡的生成。可見,該方法自動生成噴涂機器人的G代碼以及加工軌跡,實現了噴涂自動化,提高了噴涂機器人的加工效率。
下面對本發明實施例提供的噴涂機器人加工工件系統進行介紹,下文描述的噴涂機器人加工工件的系統與上文描述的噴涂機器人加工工件的方法可相互對應參照。
圖2為本發明實施例提供的噴涂機器人加工工件系統的結構示意框圖,參照圖2噴涂機器人加工工件系統可以包括:
獲取模塊201,獲取待加工工件的點云數據;
噴涂模型建立模塊202,用于提取所述點云數據的邊界點,生成所述待加工工件的輪廓圖形,對所述輪廓圖形進行區域分割,得出多個規則的子輪廓圖形,建立所述子輪廓圖形的噴涂模型;
軌跡生成模塊203,用于根據所述子輪廓圖形的形狀,選擇相應的加工工藝,基于所述噴涂模型,生成所述子輪廓圖形的加工軌跡以及加工參數;
G代碼生成模塊204,用于根據所述加工軌跡以及所述加工參數,自動生成G代碼,以使噴涂機器人自動化加工所述待加工工件。
可選地,所述噴涂模型建立模塊包括:
邊界點提取單元,用于利用邊界提取算法對所述點云數據進行分析,找出所述邊界點,所述邊界提取算法為經緯線掃描法、網格劃分法以及最小凸邊法中的任意一種;
邊界點連接單元,用于連接所述邊界點,生成所述待加工工件的所述輪廓圖形;
分割單元,用于基于點云數據切割算法,將所述輪廓圖形分割成多個規則的所述子輪廓圖形;
建立單元,用于分別建立多個所述子輪廓圖形的噴涂模型。
可選地,還包括:
預處理模塊,用于對所述點云數據進行預處理,去除所述點云數據的噪聲點以及冗余數據。
可選地,所述軌跡生成模塊包括:
選擇單元,用于根據所述子輪廓圖形的形狀,選擇相應的加工工藝;
軌跡自動生成單元,用于對所述噴涂模型進行分析處理,自動生成所述加工軌跡;
參數計算單元,根據所述加工軌跡,計算得出所述加工參數;
其中,所述加工參數包括噴槍方向參數以及噴槍速度參數。
其中,所述加工參數包括噴槍方向參數以及噴槍速度參數。
可選地,所述G代碼生成模塊包括:
轉換單元,用于將所述加工參數轉換為預設格式的參數數據;
代碼自動生成單元,用于根據所述參數數據以及所述加工軌跡,自動生成所述G代碼,以使噴涂機器人自動化加工所述待加工工件。
本發明實施例所提供的噴涂機器人加工工件的系統,基于獲取的點云數據,建立相應的矢量方程即噴涂模型,然后根據噴涂模型生成所需的加工軌跡以及加工參數,最終根據加工參數和加工軌跡,自動生成G代碼,不用人為地參與編寫G代碼以及加工軌跡的生成。可見,該系統自動生成噴涂機器人的G代碼以及加工軌跡,實現了噴涂自動化,提高了噴涂機器人的加工效率。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。
以上對本發明所提供的噴涂機器人加工工件的方法以及系統進行了詳細介紹。本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護范圍內。