摘 要 為了滿足機器人焊縫磨削的要求,提出了一種基于點云數據的改進型焊縫骨架提取算法。該方法首先采用基于八叉樹的體素濾波對焊縫原始點云進行降采樣,然后使用隨機采樣和WLOP算子獲取初始骨架點,接著通過迭代收縮提取焊縫骨架,引入斥力函數避免錯誤分支的生成,最后通過擬合曲線連接骨架線。實驗結果表明:該算法能夠適應多種不同類型的焊縫,提取出質量良好的焊縫骨架,并正確地表達焊縫的主體特征。
關鍵詞 點云處理 骨架提取 焊縫特征提取 焊縫磨削
中圖分類號 TP14"" 文獻標志碼 A"" 文章編號 1000 3932(2025)01 0094 08
當前,焊接技術已經被廣泛應用于航空航天、軍工等國家重大戰(zhàn)略領域方向,在列車廂體、輪船船體及飛機機身等大型結構件的成形連接中都起著不可替代的作用[1,2]。焊接后需要去除多余的金屬材料。磨削去除多余的焊接金屬材料不僅是結構件表面光滑一致的要求,同時焊縫磨削過程也能減小焊接應力,改善焊接接頭質量,從而提高結構件服役壽命[3]。目前絕大部分焊接結構件焊縫都需要操作人員手工打磨,這種人力勞動效率低、精度差,且打磨過程中產生的粉塵還會危害操作人員的身體健康[4]。隨著“工業(yè)4.0”和“中國制造2025”的提出,工業(yè)生產逐步向自動化、智能化方向發(fā)展,工業(yè)機器人因其高精度、高效率、低成本的優(yōu)點被廣泛應用于各類制造場景中,機器人代替人工進行焊縫磨削已經是未來的必然趨勢[5]。由于結構件焊縫工況較為復雜,因此采用機器視覺進行焊縫特征的檢測識別成為了機器人焊縫磨削的關鍵技術之一[6,7]。然而,當前業(yè)界廣泛使用的焊縫特征提取技術多為傳統(tǒng)點云特征提取方法,如Zhang Suen細化算法[8,9]、點云切片法[10]及最小二乘法[11]等,這類方法存在運行效率低、提取特征效果較差的問題,亟需解決。
國內外對機器人焊縫打磨領域已經開展了一定的研究。南洋理工大學的PANDIYAN V等提出了一種基于神經網絡深度學習的焊后焊縫檢測方法,并采用機器人砂帶打磨的方式進行焊縫磨拋,該方法通過對打磨過程中的焊縫輪廓進行監(jiān)測來控制砂帶打磨參數,從而實現焊縫磨拋作業(yè)[12]。印度威洛爾大學的MANISH R等采用基于機器視覺的方法檢測磨削后焊縫表面的平整度和缺陷情況,主要使用邊緣檢測和直方圖來檢測不同磨削條件下的焊縫表面情況,從而便于對焊縫磨削參數進行調整[13]。山東大學的楊帥設計了一種基于3D視覺的工業(yè)機器人焊縫打磨系統(tǒng),該系統(tǒng)采用一種改進型點云切片方法進行焊縫特征提取,能夠自動確定點云切平面,并對焊縫中心特征點識別定位[14]。吉林大學的趙軍提出了一種基于動態(tài)ROI技術與Steger算法的焊縫特征提取方法,該方法能夠快速提取焊縫圖像的結構光中心線亞像素坐標,為其設計的機器人焊縫打磨系統(tǒng)奠定了基礎[15]。哈爾濱工業(yè)大學的高奎針對異形鑄件機器人打磨應用場景,采用區(qū)域生長算法提取點云邊界信息,能夠完整提取鑄件曲面待打磨區(qū)域的點云信息[16]。但以上研究主要針對焊縫打磨和磨拋的工業(yè)應用,對機器人焊縫磨削應用中的研究較少,因此筆者針對該問題進行相關研究,填補技術空缺。
綜上所述,筆者提出一種基于點云數據的焊縫骨架提取算法,直接對三維焊縫點云進行特征提取。通過基于八叉樹分割的體素濾波進行點云降采樣,之后采用隨機采樣和加權局部最優(yōu)投影(Weighted Locally Optimal Projection,WLOP)算子獲取初始采樣點,通過改進后的L1中值算法迭代收縮得到焊縫主體骨架,最后使用擬合曲線完成骨架連接和平滑處理,得到完整的焊縫點云骨架。
1 點云降采樣
結構件焊縫的三維原始點云的數量一般為200 000左右,龐大的點云數量會導致計算量過大,算法運行效率低下。因此,需要對焊縫點云進行降采樣處理,并有序分割點云數據,從而建立便捷高效的點云搜索方式,提高算法運行效率。
1.1 八叉樹分割
筆者采用八叉樹結構進行分割,八叉樹是多維空間中數據檢索的一種常見結構。使用八叉樹結構對焊縫原始點云進行覆蓋分割,將無序散亂的原始點云數據有序地組織排列,便于檢索搜尋,同時按索引有序簡化點云數據,為焊縫特征點定義其鄰域點[17]。
八叉樹結構對點云圖像空間中的所有節(jié)點進行分割,每一個節(jié)點生成8個相同的子節(jié)點,將同一點云空間中所有體素的幾何信息統(tǒng)一,使其保持一致。八叉樹分割使用樹形結構遍歷算法來檢索查找節(jié)點,且可在節(jié)點上有序地次第分割生成新節(jié)點。圖1為八叉樹結構分割點云數據示意圖,可以看出,八叉樹具有良好的拓撲結構,有利于不同節(jié)點之間點集的運算。對于空間分布均勻的點云數據,八叉樹結構具有較高的檢索效率,適合用于分割工件表面的點云數據,因此選用八叉樹來處理焊縫原始點云圖像數據。
1.2 體素濾波降采樣
目前針對三維點云數據進行降采樣的方法主要為統(tǒng)計濾波降采樣、隨機降采樣及體素濾波降采樣等。統(tǒng)計濾波法主要通過計算局部鄰域內的統(tǒng)計值,如均值、中值、最值等來提取點云紋理信息,但會導致局部特征的缺失。隨機降采樣法是在點云中隨機采集一定數目的點云,作為點云降采樣的結果,由于其具有隨機性,有可能會導致點云圖像特征的部分缺失。
筆者采用體素濾波降采樣的方法,它是使用體素化方法減少點云數量,采用體素格中接近中心點的點替代體素內的所有點云,相較于直接使用中心點更加精確[18]。筆者以體素中值點而非中心點來替代體素內的其他點云,從而實現以較少的點云數量最大程度地保留焊縫特征的目標,同時降低點云計算量,提高算法運行速度?;诎瞬鏄浞指畹捏w素濾波降采樣步驟如下:
a. 首先使用八叉樹結構分割焊縫原始點云圖像數據,建立焊縫點云的鄰域點數據結構,找到每一個點的K個近鄰點;
b. 計算單個點與其K個近鄰點的距離均值d,并統(tǒng)計所有點鄰域距離均值的平均值D=,從而得到體素中心的均值點C;
c. 基于體素中心求解得到體素中值點x=,其中,J為體素點云序列集,ω=,當前體素點集為{q},ω為點q的權重,與該點到體素中心的距離成反比;
d. 設置點云體素尺寸參數μ,通過體素濾波對焊縫點云進行降采樣。
點云體素大小μ設置為0.5,焊縫點云圖像中點云數量為200 000左右,經體素濾波降采樣后,圖像點云數為10 000左右,大幅降低了點云計算量,并最大程度地保留了焊縫特征。
1.3 點云降采樣結果
采用基于八叉樹的體素濾波對3種不同類型的焊縫進行降采樣,降采樣前后折線型焊縫點云圖如圖2所示,降采樣前后焊縫點云數量見表1。
由圖2和表1可見,在采用基于八叉樹分割的體素濾波進行降采樣處理后,焊縫點云數量大幅減少,點云精簡率保持在95.00%左右,但依舊能夠有效保留焊縫三維特征,且在一定程度上去除了光反射造成的離群點、毛刺和噪點。
2 焊縫骨架提取
2.1 初始采樣點的獲取
通過隨機采樣將體素濾波后的焊縫點云收縮為初始采樣點,以作為初始骨架點。一般來說,初始采樣點越多,穩(wěn)定性越好,但過多的點云數量會導致計算量增大,算法運行效率降低。通過多次采樣實驗發(fā)現采樣點數量對骨架提取結果影響較小,為保證算法的運行速度,筆者將采樣點數量設置為焊縫點云數的8%。
針對體素濾波后的焊縫無序點云P={p}?奐R(I為點云序列集,R為笛卡爾三維坐標系)采用軸對齊包圍盒[19]進行歸一化,得到歸一化后的焊縫點云P′={p′}?奐Ω(I′為歸一化后的點云序列集),歸一化公式如下:
P′="""""""" """"" (1)
其中,c為歸一化前軸對齊包圍盒的中心位置,a為軸對齊包圍盒最長邊的長度,其計算公式為:
c=(,,)""" (2)
a=max(a,a,a)"""""" (3)
a=x-xa=y-ya=z-z""""""" (4)
其中,x、y、z分別表示焊縫無序點云P中x、y、z坐標的最大值,x、y、z分別表示焊縫無序點云P中x、y、z坐標的最小值。
通過式(1)將初始點云P中所有點云的空間坐標縮放至區(qū)間[-1,1]內,同時將點云包圍盒的中心位置對齊重合至坐標系原點位置。點云歸一化如圖3所示。
加權局部最優(yōu)投影算法的核心是一個帶密度均勻化項的加權局部最優(yōu)投影算子,可以在原始密集點云上產生一組去噪、去異常值、均勻分布的粒子。WLOP對非均勻采樣有彈性,能夠生成分布更均勻的采樣點,輸入的樣本點鄰域應當至少包括兩個相鄰樣本點的環(huán)。使用較小的鄰域可能無法生成正則化結果,而使用較大的鄰域會產生欠擬合情況,導致樣本點收縮到局部表面內部。因此筆者將鄰域半徑參數設置為0.5,對隨機采樣的原始點進行WLOP算子重采樣,獲得較為均勻的初始采樣點,采樣點集為S={s}?奐R。
圖4所示為初始采樣點獲取結果,圖4a為隨機采樣結果,圖4b為WLOP算子重采樣后的結果。由圖4可見,經過WLOP算子重采樣后的采樣點,相較于隨機采樣結果,分布更加均勻,更有利于焊縫骨架提取。
2.2 焊縫骨架點提取
通過對降采樣后的焊縫點云使用隨機采樣和WLOP重采樣得到初始采樣點后,使用L1中值算法對焊縫點云進行骨架收縮提取。L1中值算法通過選取采樣點鄰域內的中值,而非均值進行骨架點的收縮提取,在持續(xù)的迭代收縮過程中,不斷擴大鄰域半徑,將生成的新骨架點重新分配至鄰域內的源點中心[20]。將L1中值算法直接應用于焊縫骨架點云提取,會導致稀疏分布情況的產生,使得焊縫骨架中心點過度收縮,產生團狀點簇,甚至會生成多余錯誤的分支。為解決這一問題,引入了斥力函數進行調整,以在點云空間的各點之間形成一種排斥力,避免骨架點距離過近,從而完成焊縫點云骨架點的規(guī)整排布。
輸入焊縫點云P′={p′}?奐R,其原始采樣點為S={s}?奐R,對應鄰域點為X={x}?奐R,利用最優(yōu)化式可得到一系列骨架點:
arg ‖x-s‖θ(‖x-s‖)+R(X)""""" (5)
R(X)=γ""""""""""""""" (6)
式(5)為最優(yōu)化式,使用L1中值算法對焊縫點云進行骨架點收縮,采樣點在輸入點集中的鄰域點產生引力作用,使得局部骨架點向區(qū)域中值點移動;規(guī)整項R(X)用于生成采樣點集鄰域點之間的斥力,來避免所提取的骨架點收縮距離過近,其點分布情況見式(6),其中γ是平衡參數,用于平衡點之間的引力和斥力;σ為骨架點的線性度,用于連接骨架點。
θ(r)=exp[-4]2"""""" (7)
其中,θ(r)是高斯權重函數;h為定義局部范圍的半徑長度,通常取h=;d為包圍盒斜對角線長度,|I′|為歸一化后點云P′的大小。由式(7)可知,在同一鄰域半徑內,距離采樣點越遠的點,其貢獻權重越小,從而起到了中值濾波的作用。將式(6)代入L1中值求解項中得出:
x=+μσ"" (8)
其中,α=,j∈J;β=,
i′∈I′;σ=σ(x);k為迭代次數。
經多次參數調整實驗,對于長度50 mm以下的直線型焊縫μ取0.35效果最好,長度在50~200 mm的直線型焊縫μ在0.55~0.60內效果較好;對于折角60°以下的多段折線型焊縫,μ在0.35~0.42內效果最好,而對于折角較大的折線型焊縫,如直角折線型焊縫,μ取0.40效果較好;對于曲線型焊縫,μ在0.49~0.52內效果最佳。
2.3 骨架平滑與連接
在2.2節(jié)中所得參數σ為骨架點s的線性程度,用于連接骨架點。如果σgt;0.9,表明骨架點在鄰域內呈線性分布,將其標記為可選骨架點。找到最大σ對應的骨架點,作為骨架分支起點,連接K近鄰點,一般設置K=5,連接K近鄰點中滿足條件cos(∠,)≤-0.9,j=(…,-1,0,1,…)且未被連接的骨架點(∠,表示一個骨架點與其前后兩骨架點連線的夾角)。在分叉位置或者邊緣位置無法滿足上述條件,停止連接骨架點,將已經連接好的骨架點所產生的單分支b放入集合B,在剩余可選骨架點中找到最大σ對應的骨架點,重復上述過程,直到沒有可選骨架點為止,得到骨架分支集合B。
收縮得到的初始骨架不夠平滑連續(xù),會影響到最終焊縫骨架的準確性,所以筆者在原有最優(yōu)化公式上添加了一個正則項,用于對骨架分支進行曲線擬合,從而形成平滑連續(xù)的緊密骨架。定義以下平滑函數:
P(X)=xi-x""" (9)
N(x)是點x的鄰域點集,v(x)是鄰域中點的個數。平滑函數P(X)通過將鄰域點的距離最小化來優(yōu)化焊縫骨架點的位置,得到局部擬合的曲線骨架。針對與相鄰點不呈曲線分布的局部點,平滑函數在空間坐標軸主方向上貢獻最小化方差,從而得到平滑分布的骨架點。
3 實驗結果與分析
筆者根據結構件焊縫形狀將其分為直線型、折線型和曲線型三大類型,采用改進后的焊縫骨架提取算法對這三類焊縫進行骨架提取。圖5為直線型焊縫點云骨架提取結果,圖中綠色為焊縫骨架點,紅色為焊縫骨架線(圖6~8相同)。
圖6是折線型焊縫點云骨架提取結果。實驗結果表明,筆者所提算法能夠很好地處理直線型和折線型焊縫點云,可以提取出平滑連續(xù)的焊縫點云特征骨架,且焊縫骨架取向符合焊縫主體特征。
圖7是曲線型焊縫點云骨架提取結果,圖中為C型曲線焊縫點云骨架。由實驗結果可以看出,筆者所提算法能夠有效處理復雜曲線焊縫點云,可以提取出平滑連續(xù)的焊縫骨架。同時,焊縫點云中含有噪點和離群點,而由于環(huán)境光變化導致掃描采集的點云圖像中出現莫爾條紋,使得點云密度不夠均勻,且由于金屬結構件表面反光造成了點云圖像中產生空洞缺失。在這種情況下,依然能夠有效提取出質量較高的焊縫骨架,證明了筆者所提算法的穩(wěn)定性和魯棒性。
筆者所提算法與L1中值骨架算法效果對比如圖8所示。對于圖8中區(qū)域類Ⅰ所示情況,由于L1中值算法在迭代收縮骨架時會根據鄰域搜索半徑確定骨架點,導致選取的部分骨架點在焊縫主體點云之外,而通過引入平滑函數,在骨架連接時去除錯誤骨架點和相應分支,確保提取的骨架點生成在點云內部。在區(qū)域類Ⅱ所示的情況中,筆者所提算法對焊縫主體骨架的分支取向進行了改進,使其更接近焊縫的中心位置,提取得到的骨架能夠更好地表現焊縫特征。而區(qū)域類Ⅲ中使用L1中值算法直接進行骨架提取時出現了點云稀疏分布,導致產生了錯誤的骨架分支,筆者所提算法通過引入斥力函數,避免了錯誤骨架分支的生成。區(qū)域類Ⅳ中,L1中值算法提取得到的骨架已在焊縫主體之外,筆者所提算法對其進行了相應的改進,使得提取所得焊縫骨架點生成在焊縫主體點云內。
4 結束語
筆者主要對焊后焊縫的點云圖像處理和焊縫特征提取問題進行了研究。針對結構件焊縫點云數量較為龐大的問題,采用基于八叉樹分割的體素濾波對焊縫點云進行降采樣處理,以較少的點云數有效保留了焊縫三維特征信息;提出了一種基于L1中值算法的焊縫點云骨架提取算法,通過引入斥力函數,避免了骨架點距離過近產生點簇和錯誤分支的情況,能夠有效提取多種類型焊縫點云骨架。最后將筆者所提算法與L1中值算法進行了比較,實驗結果表明,筆者所提算法提取的焊縫點云骨架連續(xù)平滑,具有更好的骨架分支取向和中心性,能夠更好地表達焊縫的主體結構和特征信息,為機器人焊縫磨削新技術的研究奠定了基礎。
參 考 文 獻
[1] 李海嬌.自動化焊接設備的技術發(fā)展與應用前景[J].自動化應用,2023,64(21):144-146.
[2]"""""" ERDEN M S,MARI B.Assisting manual welding with robot[J].Robotics and Computer Integrated Manufactu "ring,2011,27(4):818-828.
[3]"""""" HUYNH H N,ASSADI H,DAMBLY V,et al.Direct method for updating flexible multibody systems applied to a milling robot[J].Robotics and Computer Integrated Manufacturing,2021,68:102049.
[4]"""""" 田鳳杰,韓曉,李論.機器人自動打磨焊縫裝備與實驗分析[J].組合機床與自動化加工技術,2022(4):139-142.
[5]"""""" WU L,WANG G F,LIU H T,et al.An improved algorithm to predict the pose dependent cutting stability in robot milling[J].The International Journal of Advanced Manufacturing Technology,2022,120(5 6):2979-2991.
[6]"""""" ZHANG Y,GUO K,SUN J.Investigation on the milling performance of amputating clamping supports for machining with industrial robot[J].The International Journal of Advanced Manufacturing Technology,2019 ,102(9 12):3573-3586.
[7]"""""" LI C L,DUN X F,LI L,et al.Vision guided robot application for metal surface edge grinding[J].SN Applied Science,2023,5(9):236.
[8]"""""" 郭宏陽.基于線結構光視覺傳感的板件焊縫提取方法研究與應用[D].烏魯木齊:新疆大學,2021.
[9]"""""" YAO J J,QIAN C,ZHANG Y K,et al.Multi Objective Redundancy Optimization of Continuous Point Robot Milling Path in Shipbuilding[J].Computer Modeling in Engineering amp; Sciences,2023,134(2):1283-1303.
[10] 張?zhí)煊?,夏仁波,趙吉賓,等.基于結構光的焊縫表面質量檢測[J].組合機床與自動化加工技術,2022(1):81-84.
[11] 王傳璽.基于點云的曲線焊縫識別方法研究[J].現代機械,2024(2):89-92.
[12] PANDIYAN V,MURUGAN P,TJAHJOWIDODO T,et al.In process virtual verification of weld seam removal in robotic abrasive belt grinding process using deep learning[J].Robotics and Computer Integrated Manuf "acturing,2019,57:477-487.
[13] MANISH R,VENKATESH A,ASHOK S D.Machine Vision Based Image Processing Techniques for Surface Finish and Defect Inspection in a Grinding Process[J].Materials Today Proceedings,2018,5(5):12792-128 02.
[14] 楊帥.基于3D視覺的機器人焊縫打磨路徑規(guī)劃與控制技術研究[D].濟南:山東大學,2024.
[15] 趙軍.大構件焊縫磨拋機器人視覺測量技術的研究[D].長春:吉林大學,2014.
[16] 高奎.基于點云信息的異型鑄件機器人打磨規(guī)劃技術研究[D].哈爾濱:哈爾濱工業(yè)大學,2021.
[17] QUE Z,LU G,XU D.VoxelContext Net:An Octree based Framework for Point Cloud Compression[C]//2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE,2021:6038-6047.
[18] LV C L,LIN W S,ZHAO B Q.Voxel Structure Based Mesh Reconstruction from a 3D Point Cloud[J].IEEE Transactions on Multimedia,2022,24:1815-1829.
[19] LI C,ZHOU M,GENG G H,et al.EPCS:Endpointba "sed part aware curve skeleton extraction for low qua "lity point clouds[J].Computers amp; Graphics,2023, 117:209-221.
[20] HUANG H,WU S,COHEN OR D,et al.L1 Medial Skeleton of Point Cloud[J].ACM Transactions on Graphics,2013,32(4):65.
(收稿日期:2024-05-17,修回日期:2024-10-31)
The Improved Pick up Algorithm for Weld Seam Skeleton Extraction Based on Point Cloud Data
GU Xin hao1,2, LIU Xia1, GONG Ye fei2, LIU Ji cheng2, XIE Yu xin2,3,
HE Rong cheng2,4, FENG Yi bin1,2
(1. School of Physics and Electronic Engineering, Northeast Petroleum University; 2. School of Electrical and Automation, Changshu Institute of Technology; 3. College of Information and Control Engineering, China University of Mining and Technology; 4. School of Mechanical Engineering, Yancheng Institute of Technology)
Abstract"" With a view to satisfying the robot’s requirements for weld grinding, an improved algorithm for the weld seam skeleton extraction based on point cloud data was proposed. Firstly, having the octree based
voxel filtering used to downsample original point cloud of the welding seam; and then, having both random sampling and WLOP operator adopted to obtain initial skeleton points, including having the weld seam skeleton extracted by iterative contraction and having the repulsive function introduced to avoid the generation of wrong branches; finally, having the skeleton lines connected by fitting curves. The experimental results show that, the algorithm can adapt to many different welds, extract the weld seam skeleton with good quality and correctly express the main features of welds.
Key words"" point cloud processing, skeleton extraction, welding seam feature extraction," weld seam grinding