本發(fā)明應(yīng)用于三維點(diǎn)云的獲取及機(jī)器人打磨,既涉及基于激光位移傳感器和機(jī)器人之間實(shí)時(shí)通信獲取三維點(diǎn)云的裝置,也涉及機(jī)器人基于三維點(diǎn)云的打磨軌跡規(guī)劃方法,提供了一套新的三維點(diǎn)云獲取方法,為機(jī)器人運(yùn)用于打磨領(lǐng)域提供了新的試驗(yàn)方法和裝置。
背景技術(shù):
當(dāng)今,三維點(diǎn)云的獲取設(shè)備主要有三維激光掃描儀,二維線激光位移傳感器加輔助運(yùn)動(dòng),上述兩種方法能夠獲取點(diǎn)數(shù)巨大的密集點(diǎn)云。另外也可以通過三坐標(biāo)測(cè)量?jī)x獲取點(diǎn)云,這種方法獲取的點(diǎn)云位置精度高,為點(diǎn)數(shù)較少的稀疏點(diǎn)云。這些設(shè)備價(jià)格昂貴,使得點(diǎn)云獲取成本較高,隨著消費(fèi)級(jí)產(chǎn)品的出現(xiàn),比如kinect,使得點(diǎn)云技術(shù)得到較快的發(fā)展。但是上述方法獲取的點(diǎn)云會(huì)包含目標(biāo)物體所處的環(huán)境信息,需要對(duì)原始點(diǎn)云進(jìn)行濾波、去噪、分割和配準(zhǔn)等處理,才能獲取目標(biāo)物的點(diǎn)云,后期處理復(fù)雜。
點(diǎn)云主要運(yùn)用于逆向工程,進(jìn)行現(xiàn)有物體的三維重構(gòu),為其創(chuàng)建數(shù)字化信息庫(kù);在機(jī)器視覺領(lǐng)域,點(diǎn)云可用于目標(biāo)識(shí)別、目標(biāo)三維檢測(cè)和地圖構(gòu)建等方向,為機(jī)器人提供視覺信息,輔助其決策和路徑規(guī)劃。
機(jī)器人技術(shù)已廣泛運(yùn)用于焊接、噴涂等領(lǐng)域,但是復(fù)雜形狀的工件打磨主要還是依靠人工打磨和數(shù)控機(jī)床加工,前者因?yàn)榇蚰ピ肼?、粉塵大,有損工人健康,且對(duì)工人的技術(shù)水平要求較高;后者加工精度高,但加工設(shè)備價(jià)格昂貴,柔性較差限制其廣泛應(yīng)用。
工業(yè)機(jī)器人具有多自由度,靈活性好,較適合運(yùn)用于打磨領(lǐng)域。目前,采用機(jī)器人離線編程技術(shù),已成功將機(jī)器人技術(shù)運(yùn)用于復(fù)雜工件打磨,但是離線編程技術(shù)要求提前對(duì)工具和工件坐標(biāo)系進(jìn)行標(biāo)定,且由于工件的裝夾誤差和加工不一致性,導(dǎo)致機(jī)器人打磨一批工件時(shí),出現(xiàn)精度不一致情況,甚至出現(xiàn)廢次品。
技術(shù)實(shí)現(xiàn)要素:
為解決三維點(diǎn)云的獲取問題及將點(diǎn)云運(yùn)用于機(jī)器人打磨領(lǐng)域,本發(fā)明提供了一種基于激光位移傳感器的三維點(diǎn)云的實(shí)時(shí)采集裝置及機(jī)器人打磨軌跡規(guī)劃方法。設(shè)計(jì)不同形狀的工件進(jìn)行實(shí)驗(yàn),規(guī)劃?rùn)C(jī)器人掃描軌跡,基于總線通信協(xié)議和實(shí)時(shí)操作系統(tǒng),通過總線通信方式實(shí)現(xiàn)機(jī)器人和激光位移傳感器的實(shí)時(shí)通信,獲取工件三維點(diǎn)云,為將三維點(diǎn)云運(yùn)用于機(jī)器人打磨軌跡規(guī)劃提供了外在條件。
為實(shí)現(xiàn)本發(fā)明的上述目的,本發(fā)明一方面提供了一種三維點(diǎn)云的實(shí)時(shí)采集裝置,包括機(jī)器人、激光位移傳感器、基于實(shí)時(shí)操作系統(tǒng)的機(jī)器人實(shí)時(shí)控制系統(tǒng),所述激光位移傳感器通過夾具設(shè)置在所述機(jī)器人的末端,所述機(jī)器人為六自由度關(guān)節(jié)機(jī)器人,所述機(jī)器人實(shí)時(shí)控制系統(tǒng)通過實(shí)時(shí)工業(yè)以太網(wǎng)總線連接機(jī)器人和激光位移傳感器,用于使激光位移傳感器的讀數(shù)和機(jī)器人的位姿得到同步,將一維測(cè)量擴(kuò)展為三維測(cè)量,從而通過掃描獲取工件的三維點(diǎn)云。
進(jìn)一步地,所述的機(jī)器人實(shí)時(shí)控制系統(tǒng)與機(jī)器人和激光位移傳感器之間為毫秒級(jí)通信。
本發(fā)明另一方面提供了一種基于所述裝置的機(jī)器人打磨軌跡規(guī)劃方法,包括步驟:
(1)通過多點(diǎn)標(biāo)定法標(biāo)定激光位移傳感器的測(cè)量坐標(biāo)系相對(duì)于機(jī)器人末端坐標(biāo)系的轉(zhuǎn)換矩陣;
(2)機(jī)器人驅(qū)動(dòng)激光位移傳感器掃描工件,實(shí)現(xiàn)將一維測(cè)量擴(kuò)展為三維測(cè)量,獲取工件的三維點(diǎn)云;
(3)對(duì)所述三維點(diǎn)云進(jìn)行法向估計(jì),同時(shí)基于三維點(diǎn)云包含的空間位置信息和法向信息規(guī)劃?rùn)C(jī)器人打磨時(shí)的位姿和走刀路徑,并以掃描軌跡加以修正作為機(jī)器人的打磨軌跡。
進(jìn)一步地,所述步驟(1)具體包括:
(11)首先在機(jī)器人末端安裝一個(gè)標(biāo)定頂尖,控制機(jī)器人到達(dá)空間某一固定點(diǎn),采用機(jī)器人工具坐標(biāo)系五點(diǎn)標(biāo)定法,工具坐標(biāo)系標(biāo)定完成后從示教器讀出該固定點(diǎn)相對(duì)于機(jī)器人基坐標(biāo)系的空間位置bp;
(12)然后在機(jī)器人末端裝夾激光位移傳感器,控制機(jī)器人將激光照射在所述固定點(diǎn),讀出機(jī)器人當(dāng)前末端相對(duì)于基坐標(biāo)系的位姿
式中bp——空間點(diǎn)p在機(jī)器人基坐標(biāo)系的坐標(biāo);
mp——空間點(diǎn)p在測(cè)量坐標(biāo)系的坐標(biāo);
(13)將式(1)轉(zhuǎn)換為
(14)基于多點(diǎn)標(biāo)定,將式(3)轉(zhuǎn)化成ax=k的形式,構(gòu)成一個(gè)超定方程組,并采用最小二乘來求解,形式如下:
使
(15)求解出x后即得到矩陣
進(jìn)一步地,步驟(2)中,所述將一維測(cè)量擴(kuò)展為三維測(cè)量的步驟是通過機(jī)器人實(shí)時(shí)控制系統(tǒng),工件點(diǎn)云的x,y位置由機(jī)器人末端位姿可知,工件點(diǎn)云的z位置由激光位移傳感器可知,通過實(shí)時(shí)總線通訊技術(shù),保證x、y、z的同步,從而實(shí)現(xiàn)將一維測(cè)量擴(kuò)展為三維測(cè)量。
進(jìn)一步地,所述的步驟(3)具體包括步驟:
(31)基于三維點(diǎn)云的每個(gè)點(diǎn)的空間位置信息及優(yōu)化調(diào)整后的法向信息規(guī)劃?rùn)C(jī)器人打磨位姿;
(32)定義點(diǎn)云的加工節(jié)點(diǎn),并以掃描先后順序依次將加工節(jié)點(diǎn)信息發(fā)送給機(jī)器人,機(jī)器人進(jìn)行逆運(yùn)動(dòng)學(xué)求解和插補(bǔ)運(yùn)動(dòng)將加工節(jié)點(diǎn)串聯(lián)生成一條連續(xù)的機(jī)器人打磨軌跡。
進(jìn)一步地,所述的步驟(31)具體包括步驟:
(301)確定打磨時(shí)刀具的位置,即利用三維點(diǎn)云中各點(diǎn)所包含的基于機(jī)器人基坐標(biāo)系的空間位置信息;通過機(jī)器人逆運(yùn)動(dòng)學(xué)控制機(jī)器人使得刀具到達(dá)打磨時(shí)的位置;
(302)確定打磨時(shí)刀具的姿態(tài),即基于三維點(diǎn)云的每個(gè)點(diǎn)的預(yù)估法向信息及優(yōu)化調(diào)整后的法向信息規(guī)劃?rùn)C(jī)器人打磨時(shí)刀具的姿態(tài)。
進(jìn)一步地,所述的步驟(302)具體包括步驟:
(311)通過改進(jìn)的k鄰域搜索算法搜索k個(gè)距離最近的點(diǎn),即將一個(gè)點(diǎn)作為體心,以固定步長(zhǎng)構(gòu)建自身的正方體,然后在正方體內(nèi)進(jìn)行k鄰域搜索,若找到k個(gè)距離最近的點(diǎn),即終止搜索,否則以固定步長(zhǎng)擴(kuò)大正方體的范圍,重新搜索k個(gè)距離最近的點(diǎn),直至在正方體內(nèi)搜索到距離最近的k個(gè)點(diǎn);
(312)采用改進(jìn)的pca算法,通過對(duì)某點(diǎn)的k鄰域內(nèi)的點(diǎn)賦予不同的權(quán)重函數(shù),采用最小二乘擬合法擬合出一個(gè)平面,將所擬合平面的法向作為該點(diǎn)的初始法向;接著基于所述初始法向自適應(yīng)的確定點(diǎn)云中各點(diǎn)的權(quán)重函數(shù),再對(duì)初始法向進(jìn)行優(yōu)化;
(313)點(diǎn)云重定向,即采用最小生成樹法對(duì)優(yōu)化后的法向進(jìn)行調(diào)整,使得點(diǎn)云法向指向一致。
進(jìn)一步地,所述的步驟(312)具體包括步驟:
(321)在pca算法中引入兩個(gè)權(quán)重函數(shù)使得擬合方法對(duì)點(diǎn)云中的外點(diǎn)和噪聲具有一定的魯棒性,最小二乘擬合可表示為:
s.t.||n||=1(5)
式中ωd(xi)——高斯權(quán)重函數(shù),使得距離該點(diǎn)近的點(diǎn)對(duì)擬合平面的作用大一點(diǎn),反之影響作用小,ωd(xi)表示為:
ωr(ri)——與擬合殘差有關(guān)的高斯權(quán)重函數(shù),ωr(ri)表示為:
rim——第m次迭代,xi點(diǎn)的擬合殘差,rim可表示為:rim=dm+(xi-x)tnm;
(322)求解式(5)構(gòu)造協(xié)方差矩陣c,表示如下:
式中
k——表示鄰域內(nèi)的點(diǎn)數(shù),
通過求解協(xié)方差矩陣c,其最小的特征值對(duì)應(yīng)的特征向量即為擬合平面的法向n,即作為該點(diǎn)的初始法向,且
(323)為點(diǎn)云中各個(gè)點(diǎn)定義一個(gè)特征系數(shù)fc來量化該點(diǎn)是位于平滑區(qū)域、尖銳特征區(qū)域或者過渡區(qū)域,特征系數(shù)可表示為:
式中s=2,表示當(dāng)比例為0.5時(shí),則判定該點(diǎn)位于尖銳特征區(qū)域;
δl——表示該點(diǎn)與其距離最近的6個(gè)點(diǎn)的平均距離;
(324)確定特征系數(shù)fc的取值先定義點(diǎn)云中某一點(diǎn)鄰域內(nèi)的點(diǎn)云簇,當(dāng)某一點(diǎn)云簇內(nèi)的點(diǎn)數(shù)大于鄰域內(nèi)的點(diǎn)數(shù)與點(diǎn)云簇的數(shù)量之商,則認(rèn)為該點(diǎn)云簇為主點(diǎn)云簇;為了自動(dòng)的獲得點(diǎn)云簇的數(shù)量,設(shè)置一個(gè)角度閾值,當(dāng)兩點(diǎn)的法向夾角大于閾值時(shí),即認(rèn)為該兩點(diǎn)位于不同的點(diǎn)云簇內(nèi);得到點(diǎn)云簇的數(shù)量,從而計(jì)算出各點(diǎn)對(duì)應(yīng)的特征系數(shù)fc,a,b兩點(diǎn)的法向夾角可表示為:
d(a,b)=cos-1(na,nb);(8)
(325)確定fc的值后,自適應(yīng)的計(jì)算出各個(gè)點(diǎn)的距離帶寬σd、擬合殘差帶寬σr、法向差異帶寬σn,表示如下:
σd=(1+fc)·δl(9)
σr=rmax/3fc(10)
σn=||ni-n||max/3fc;(11)
(326)在pca算法中引入第三個(gè)權(quán)重函數(shù),則最小二乘擬合表示為:
s.t.||n||=1(12)
式中ωn(ni)——與法向差異有關(guān)的權(quán)重函數(shù),表示為:
(327)通過步驟(325)中自適應(yīng)計(jì)算出的各個(gè)點(diǎn)的距離帶寬σd、擬合殘差帶寬σr、法向差異帶寬σn計(jì)算點(diǎn)云中每個(gè)點(diǎn)的權(quán)重函數(shù),替換協(xié)方差矩陣c中的
然后通過替換后的協(xié)方差矩陣c對(duì)式(12)求解,得到每個(gè)點(diǎn)的優(yōu)化法向。
進(jìn)一步地,所述步驟(313)具體包括步驟:
(331)選取點(diǎn)云中z坐標(biāo)最大的點(diǎn)作為根結(jié)點(diǎn),調(diào)整其法向使之與矢量(0,0,1)的點(diǎn)積大于0,這將使調(diào)整后的法向方向指向工件外側(cè);
(332)設(shè)置權(quán)重c=1-|ni·nj|,這樣保證了該權(quán)值非負(fù),且當(dāng)c越小表示兩鄰近點(diǎn)的法向方向越平行;
(333)根據(jù)權(quán)重c的大小進(jìn)行遍歷,若父結(jié)點(diǎn)ni與子結(jié)點(diǎn)nj滿足ni·nj<0,則將nj反向;
(334)遍歷所有結(jié)點(diǎn),將法向方向進(jìn)行傳播擴(kuò)散,傳播過程中設(shè)置一個(gè)閾值e,當(dāng)c≤e時(shí),一次擴(kuò)散至鄰域內(nèi)多點(diǎn),當(dāng)c>e時(shí),一次擴(kuò)散一個(gè)點(diǎn),完成后判斷是否滿足c≤e,再進(jìn)行多點(diǎn)擴(kuò)散,直至擴(kuò)散到整個(gè)點(diǎn)云空間;
(335)若未能遍歷所有的點(diǎn),則點(diǎn)云不連通,部分?jǐn)?shù)據(jù)形成局部孤島,如果未遍歷點(diǎn)數(shù)個(gè)數(shù)少于點(diǎn)云總數(shù)的千分之一,則將其作為噪聲舍棄,否則查找未遍歷的數(shù)據(jù)集中與已遍歷點(diǎn)之間距離最近的點(diǎn),將其作為繼續(xù)遍歷的起點(diǎn)并轉(zhuǎn)至步驟(334)。
相比現(xiàn)有技術(shù),本發(fā)明通過對(duì)掃描點(diǎn)云進(jìn)行法向估計(jì),基于工件三維點(diǎn)云的位置信息和法向信息來規(guī)劃?rùn)C(jī)器人打磨時(shí)的位姿,并以掃描軌跡加以修正作為機(jī)器人的打磨軌跡,穩(wěn)定可靠、精度高、具有實(shí)時(shí)性和柔性特點(diǎn),且結(jié)構(gòu)簡(jiǎn)單成本低,能夠滿足不同工件的加工。
附圖說明
圖1是本發(fā)明的點(diǎn)云實(shí)時(shí)采集裝置示意圖;
圖2是標(biāo)定裝置示意圖。
圖中:1-機(jī)器人,2-激光位移傳感器;3-機(jī)器人實(shí)時(shí)控制系統(tǒng);4-工件;5-標(biāo)定頂尖。
具體實(shí)施方式
為進(jìn)一步理解本發(fā)明,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步說明,但是需要說明的是,本發(fā)明要求保護(hù)的范圍并不局限于實(shí)施例表述的范圍。
實(shí)施例
如圖1所示,一種三維點(diǎn)云的實(shí)時(shí)采集裝置,包括機(jī)器人1、激光位移傳感器2、基于實(shí)時(shí)操作系統(tǒng)的機(jī)器人實(shí)時(shí)控制系統(tǒng)3,所述激光位移傳感器2通過夾具設(shè)置在所述機(jī)器人1的末端,所述機(jī)器人1為六自由度關(guān)節(jié)機(jī)器人,所述機(jī)器人實(shí)時(shí)控制系統(tǒng)3通過實(shí)時(shí)工業(yè)以太網(wǎng)總線連接機(jī)器人1和激光位移傳感器2,用于使激光位移傳感器2的讀數(shù)和機(jī)器人1的位姿得到同步,將一維測(cè)量擴(kuò)展為三維測(cè)量,從而通過掃描獲取工件4的三維點(diǎn)云。
所述的機(jī)器人實(shí)時(shí)控制系統(tǒng)與機(jī)器人1和激光位移傳感器2之間為毫秒級(jí)通信。
激光掃描時(shí),以示教再現(xiàn)的方式控制六軸垂直機(jī)器人運(yùn)動(dòng),帶著激光位移傳感器2掃描工件4,基于本發(fā)明裝置實(shí)時(shí)的采集工件4上的點(diǎn),最終得到基于機(jī)器人基坐標(biāo)系的工件三維點(diǎn)云。點(diǎn)云實(shí)時(shí)采集裝置如圖1所示。
基于實(shí)時(shí)操作系統(tǒng)和工業(yè)以太網(wǎng)總線技術(shù)構(gòu)建此裝置的機(jī)器人實(shí)時(shí)控制系統(tǒng)3,工件點(diǎn)云的x,y位置由機(jī)器人末端位姿可知,工件點(diǎn)云的z位置由激光位移傳感器2可知,通過實(shí)時(shí)總線通訊技術(shù),保證x、y、z的同步,從而實(shí)現(xiàn)將一維測(cè)量擴(kuò)展為三維測(cè)量,且該控制系統(tǒng)的通信周期可達(dá)1ms,滿足實(shí)時(shí)性要求,能夠使用該裝置掃描生成工件的三維點(diǎn)云。
所示機(jī)器人1末端裝夾激光位移傳感器2,由模擬量輸入輸出模塊讀取激光位移傳感器的模擬量輸出信號(hào)并與機(jī)器人的六個(gè)控制電機(jī)的脈沖信號(hào)串聯(lián),再基于工業(yè)以太網(wǎng)總線技術(shù)的實(shí)時(shí)操作系統(tǒng)通過總線通信方式將所有信號(hào)采集回來進(jìn)行數(shù)據(jù)處理,通信周期能達(dá)到毫秒級(jí),從而實(shí)現(xiàn)機(jī)器人的位姿和激光位移傳感器的讀數(shù)同步,將機(jī)器人1位姿和激光位移傳感器2距離通過機(jī)器人變換方程求解,得到機(jī)器人基坐標(biāo)系下的工件三維點(diǎn)云。
本實(shí)施例利用solidworks軟件設(shè)計(jì)不同的表面形狀的工件,用于掃描測(cè)試和打磨實(shí)驗(yàn)。本實(shí)驗(yàn)設(shè)計(jì)s形曲面工件,采用鋁合金,并加工出來,用于測(cè)試實(shí)驗(yàn)。
一種基于所述裝置的機(jī)器人打磨軌跡規(guī)劃方法,包括步驟:
(1)通過多點(diǎn)標(biāo)定法標(biāo)定激光位移傳感器2的測(cè)量坐標(biāo)系相對(duì)于機(jī)器人1末端坐標(biāo)系的轉(zhuǎn)換矩陣,為了將測(cè)量坐標(biāo)系下的點(diǎn)云轉(zhuǎn)換到機(jī)器人基坐標(biāo)系下,須提前標(biāo)定激光位移傳感器2的測(cè)量坐標(biāo)系相對(duì)于機(jī)器人末端坐標(biāo)系的轉(zhuǎn)換矩陣,簡(jiǎn)稱手眼標(biāo)定;
(2)機(jī)器人1驅(qū)動(dòng)激光位移傳感器2掃描工件,實(shí)現(xiàn)將一維測(cè)量擴(kuò)展為三維測(cè)量,獲取工件的三維點(diǎn)云;
(3)通過對(duì)三維點(diǎn)云中各點(diǎn)設(shè)置不同的自適應(yīng)權(quán)重函數(shù)對(duì)所述三維點(diǎn)云進(jìn)行法向估計(jì)和優(yōu)化,同時(shí)基于三維點(diǎn)云包含的空間位置信息和法向信息規(guī)劃?rùn)C(jī)器人1打磨時(shí)的位姿和走刀路徑,并以掃描軌跡加以修正作為機(jī)器人1的連續(xù)打磨軌跡。
具體而言,所述步驟(1)具體包括:
(11)首先在機(jī)器人1末端安裝一個(gè)標(biāo)定頂尖5,控制機(jī)器人1到達(dá)空間某一固定點(diǎn),采用機(jī)器人1工具坐標(biāo)系五點(diǎn)標(biāo)定法,工具坐標(biāo)系標(biāo)定完成后從示教器讀出該固定點(diǎn)相對(duì)于機(jī)器人1基坐標(biāo)系的空間位置bp;
(12)然后在機(jī)器人1末端裝夾激光位移傳感器2,控制機(jī)器人1將激光照射在所述固定點(diǎn),讀出機(jī)器人1當(dāng)前末端相對(duì)于基坐標(biāo)系的位姿
式中bp——空間點(diǎn)p在機(jī)器人1基坐標(biāo)系的坐標(biāo);
mp——空間點(diǎn)p在測(cè)量坐標(biāo)系的坐標(biāo);
(13)將式(1)轉(zhuǎn)換為
(14)為了減少標(biāo)定誤差,基于多點(diǎn)標(biāo)定,將式(3)轉(zhuǎn)化成ax=k的形式,構(gòu)成一個(gè)超定方程組,并采用最小二乘來求解,形式如下:
使
(15)求解出x后即得到矩陣
具體而言,步驟(2)中,所述將一維測(cè)量擴(kuò)展為三維測(cè)量的步驟是通過機(jī)器人1實(shí)時(shí)控制系統(tǒng),工件點(diǎn)云的x,y位置由機(jī)器人1末端位姿可知,工件點(diǎn)云的z位置由激光位移傳感器2可知,通過實(shí)時(shí)總線通訊技術(shù),保證x、y、z的同步,從而實(shí)現(xiàn)將一維測(cè)量擴(kuò)展為三維測(cè)量。
由上述裝置獲取的點(diǎn)云是否能夠真實(shí)的反映工件表面形狀特征,能否作為后續(xù)的機(jī)器人1打磨軌跡規(guī)劃數(shù)據(jù),可以通過下述的方法進(jìn)行驗(yàn)證。
進(jìn)行驗(yàn)證性實(shí)驗(yàn)時(shí),所加工的工件4已知其三維cad模型,可以將三維cad模型離散成點(diǎn)云作為標(biāo)準(zhǔn)點(diǎn)云,由于標(biāo)準(zhǔn)點(diǎn)云是基于工件坐標(biāo)系的,可以預(yù)先標(biāo)定工件相對(duì)于機(jī)器人1基坐標(biāo)系的齊次變換矩陣,標(biāo)定時(shí)先在工件上標(biāo)記若干點(diǎn)相對(duì)于工件坐標(biāo)系的坐標(biāo),再控制機(jī)器人1到對(duì)應(yīng)點(diǎn),獲得該點(diǎn)在機(jī)器人1基坐標(biāo)系的坐標(biāo)。獲得同一個(gè)點(diǎn)在兩個(gè)坐標(biāo)系下的表達(dá),再通過svd算法接算出兩個(gè)坐標(biāo)系的轉(zhuǎn)換矩陣,即工件坐標(biāo)系與機(jī)器人1基坐標(biāo)系的轉(zhuǎn)換矩陣。標(biāo)定完成后就可以將標(biāo)準(zhǔn)點(diǎn)云轉(zhuǎn)換到基坐標(biāo)系下,再與掃描所得工件點(diǎn)云進(jìn)行對(duì)比,即得到掃描點(diǎn)云與標(biāo)準(zhǔn)點(diǎn)云之間存在的誤差,從而驗(yàn)證該裝置的可行性。由于機(jī)器人1定位誤差、激光位移傳感器2的測(cè)量誤差和標(biāo)定誤差的存在,應(yīng)允許掃描點(diǎn)云與標(biāo)準(zhǔn)點(diǎn)云之間存在誤差,但這個(gè)誤差應(yīng)控制在合理范圍之內(nèi)。
具體而言,所述的步驟(3)具體包括步驟:
(31)基于三維點(diǎn)云的每個(gè)點(diǎn)的空間位置信息及通過自適應(yīng)權(quán)重函數(shù)優(yōu)化調(diào)整后的法向信息規(guī)劃?rùn)C(jī)器人1打磨位姿,所述打磨位姿的規(guī)劃依賴于三維點(diǎn)云采集的精確度及點(diǎn)云法向估計(jì)的準(zhǔn)確度,并且最終決定了工件的打磨質(zhì)量;
(32)定義點(diǎn)云的加工節(jié)點(diǎn),并以掃描先后順序依次將加工節(jié)點(diǎn)信息發(fā)送給機(jī)器人1,機(jī)器人1進(jìn)行逆運(yùn)動(dòng)學(xué)求解和插補(bǔ)運(yùn)動(dòng)將加工節(jié)點(diǎn)串聯(lián)生成一條連續(xù)的機(jī)器人1打磨軌跡。
具體而言,所述的步驟(31)具體包括步驟:
(301)確定打磨時(shí)刀具的位置,因?yàn)槿S點(diǎn)云中包含了掃描工件表面每個(gè)點(diǎn)的空間位置信息,并且點(diǎn)云的位置信息是基于機(jī)器人1基坐標(biāo)系的,從而利用三維點(diǎn)云中各點(diǎn)所包含的基于機(jī)器人1基坐標(biāo)系的空間位置信息;通過機(jī)器人1逆運(yùn)動(dòng)學(xué)控制機(jī)器人1使得刀具到達(dá)打磨時(shí)的位置;
(302)確定打磨時(shí)刀具的姿態(tài),即通過自適應(yīng)權(quán)重函數(shù)對(duì)三維點(diǎn)云的每個(gè)點(diǎn)的預(yù)估法向信息及優(yōu)化調(diào)整后的法向信息規(guī)劃?rùn)C(jī)器人1打磨時(shí)刀具的姿態(tài),因此準(zhǔn)確的點(diǎn)云法向估計(jì)對(duì)工件的打磨質(zhì)量具有重要影響。
具體而言,所述的步驟(302)具體包括步驟:
(311)通過改進(jìn)的k鄰域搜索算法搜索k個(gè)距離最近的點(diǎn),即將一個(gè)點(diǎn)作為體心,以固定步長(zhǎng)構(gòu)建自身的正方體,然后在正方體內(nèi)進(jìn)行k鄰域搜索,若找到k個(gè)距離最近的點(diǎn),即終止搜索,否則以固定步長(zhǎng)擴(kuò)大正方體的范圍,重新搜索k個(gè)距離最近的點(diǎn),直至在正方體內(nèi)搜索到距離最近的k個(gè)點(diǎn),這樣避免了搜索每個(gè)點(diǎn)的鄰域時(shí)都要遍歷所有點(diǎn),提高了搜索效率;而傳統(tǒng)的k鄰域搜索算法,是遍歷點(diǎn)云中的所有點(diǎn),算出對(duì)應(yīng)的歐式距離,并進(jìn)行升序排列,取出k個(gè)距離最近的點(diǎn)作為k鄰域;這種算法在計(jì)算每個(gè)點(diǎn)的鄰域時(shí)都需要遍歷點(diǎn)云中的每個(gè)點(diǎn),耗時(shí)較長(zhǎng),不適用大規(guī)模點(diǎn)云的情況;
(312)采用改進(jìn)的pca算法,通過對(duì)某點(diǎn)的k鄰域內(nèi)的點(diǎn)賦予不同的權(quán)重函數(shù),采用最小二乘擬合法擬合出一個(gè)平面,將所擬合平面的法向作為該點(diǎn)的初始法向;接著基于所述初始法向自適應(yīng)的確定點(diǎn)云中各點(diǎn)的權(quán)重函數(shù),再對(duì)初始法向進(jìn)行優(yōu)化;傳統(tǒng)的pca算法是在點(diǎn)云中某點(diǎn)的k鄰域內(nèi),采用最小二乘擬合法,擬合出一個(gè)平面,將擬合平面的法向作為該點(diǎn)的法向,由于點(diǎn)云中不可避免的存在噪聲、外點(diǎn)和尖銳特征,所以本步驟對(duì)pca算法進(jìn)行改進(jìn),對(duì)鄰域內(nèi)的點(diǎn)賦予不同的權(quán)重函數(shù),從而提高擬合平面的質(zhì)量,最終提高法向估計(jì)的精度。
(313)點(diǎn)云重定向,即采用最小生成樹法對(duì)優(yōu)化后的法向進(jìn)行調(diào)整,使得點(diǎn)云法向指向一致,最小生成樹法是:先規(guī)定一點(diǎn)的法向指向,然后根據(jù)各點(diǎn)的權(quán)重生成擴(kuò)散路徑,最終擴(kuò)散到整個(gè)點(diǎn)云空間,完成點(diǎn)云法向的調(diào)整。
具體而言,所述的步驟(312)具體包括步驟:
(321)要使pca算法擬合的平面準(zhǔn)確反映該點(diǎn)處的法向,應(yīng)盡量保證擬合鄰域內(nèi)的點(diǎn)位于同一面片上,但是常規(guī)的測(cè)量手段會(huì)使帶有測(cè)量偏差的空間外點(diǎn)和噪聲點(diǎn)存在掃描點(diǎn)云中,故在pca算法中引入兩個(gè)權(quán)重函數(shù)使得擬合方法對(duì)點(diǎn)云中的外點(diǎn)和噪聲具有一定的魯棒性,最小二乘擬合可表示為:
s.t.||n||=1(5)
式中ωd(xi)——高斯權(quán)重函數(shù),使得距離該點(diǎn)近的點(diǎn)對(duì)擬合平面的作用大一點(diǎn),反之影響作用小,ωd(xi)表示為:
ωr(ri)——與擬合殘差有關(guān)的高斯權(quán)重函數(shù),ωr(ri)表示為:
rim——第m次迭代,xi點(diǎn)的擬合殘差,rim可表示為:rim=dm+(xi-x)tnm;
(322)求解式(5)構(gòu)造協(xié)方差矩陣c,表示如下:
式中
k——表示鄰域內(nèi)的點(diǎn)數(shù),
通過求解協(xié)方差矩陣c,其最小的特征值對(duì)應(yīng)的特征向量即為擬合平面的法向n,即作為該點(diǎn)的初始法向,且
(323)為點(diǎn)云中各個(gè)點(diǎn)定義一個(gè)特征系數(shù)fc來量化該點(diǎn)是位于平滑區(qū)域、尖銳特征區(qū)域或者過渡區(qū)域,特征系數(shù)可表示為:
式中s=2,表示當(dāng)比例為0.5時(shí),則判定該點(diǎn)位于尖銳特征區(qū)域;
δl——表示該點(diǎn)與其距離最近的6個(gè)點(diǎn)的平均距離;
(324)確定特征系數(shù)fc的取值,先定義點(diǎn)云中某一點(diǎn)鄰域內(nèi)的點(diǎn)云簇,當(dāng)某一點(diǎn)云簇內(nèi)的點(diǎn)數(shù)大于鄰域內(nèi)的點(diǎn)數(shù)與點(diǎn)云簇的數(shù)量之商,則認(rèn)為該點(diǎn)云簇為主點(diǎn)云簇;為了自動(dòng)的獲得點(diǎn)云簇的數(shù)量,設(shè)置一個(gè)角度閾值,當(dāng)兩點(diǎn)的法向夾角大于閾值時(shí),即認(rèn)為該兩點(diǎn)位于不同的點(diǎn)云簇內(nèi);得到點(diǎn)云簇的數(shù)量,從而計(jì)算出各點(diǎn)對(duì)應(yīng)的特征系數(shù)fc,a,b兩點(diǎn)的法向夾角可表示為:
d(a,b)=cos-1(na,nb);(8)
(325)確定fc的值后,自適應(yīng)的計(jì)算出各個(gè)點(diǎn)的距離帶寬σd、擬合殘差帶寬σr、法向差異帶寬σn,表示如下:
σd=(1+fc)·δl(9)
σr=rmax/3fc(10)
σn=||ni-n||max/3fc;(11)
(326)因工件不可避免的存在邊緣和拐角等尖銳特征,使得鄰域內(nèi)的點(diǎn)處在多個(gè)面片上,從而導(dǎo)致較大的法向估計(jì)誤差,因此在pca算法中引入第三個(gè)權(quán)重函數(shù),則最小二乘擬合表示為:
s.t.||n||=1(12)
式中ωn(ni)——與法向差異有關(guān)的權(quán)重函數(shù),表示為:
(327)通過步驟(325)中自適應(yīng)計(jì)算出的各個(gè)點(diǎn)的距離帶寬σd、擬合殘差帶寬σr、法向差異帶寬σn計(jì)算點(diǎn)云中每個(gè)點(diǎn)的權(quán)重函數(shù),替換協(xié)方差矩陣c中的
然后通過替換后的協(xié)方差矩陣c對(duì)式(12)求解,得到每個(gè)點(diǎn)的優(yōu)化法向。
利用上述步驟求解時(shí),影響各點(diǎn)的權(quán)重函數(shù)的分別是距離帶寬σd、擬合殘差帶寬σr和法向差異帶寬σn,上述步驟先根據(jù)工件的形狀及掃描點(diǎn)云的分布情況,預(yù)先設(shè)定σd和σr的初值,利用式(6)算出初始法向,并基于初始法向自適應(yīng)的確定點(diǎn)云中各點(diǎn)的帶寬參數(shù),再利用式(7)對(duì)初始法向進(jìn)行優(yōu)化。
傳統(tǒng)的算法是人為的設(shè)定全局的帶寬參數(shù),實(shí)驗(yàn)證明這個(gè)參數(shù)并不能適應(yīng)所有的點(diǎn)。本發(fā)明根據(jù)所處區(qū)域的不同設(shè)置不同的帶寬參數(shù)來完成法向估計(jì)。采用自適應(yīng)的方式,根據(jù)點(diǎn)云中各點(diǎn)的鄰域特征,來確定相應(yīng)的帶寬參數(shù),從而完成點(diǎn)云的法向估計(jì)。
具體而言,由上述步驟估計(jì)的點(diǎn)云法向,具有二義性,即法向既可以指向工件內(nèi)部,也可以指向工件外部,所以本發(fā)明采用最小生成樹法對(duì)法向進(jìn)行調(diào)整,使得點(diǎn)云法向指向一致,其原理是通過設(shè)點(diǎn)云中xi、xj是距離很近的兩點(diǎn),計(jì)算兩者的點(diǎn)積,若ni·nj≈1,則表示兩點(diǎn)的法向方向相同,否則xi或xj應(yīng)當(dāng)反向,因此,所述步驟(313)具體包括步驟:
(331)選取點(diǎn)云中z坐標(biāo)最大的點(diǎn)作為根結(jié)點(diǎn),調(diào)整其法向使之與矢量(0,0,1)的點(diǎn)積大于0,這將使調(diào)整后的法向方向指向工件外側(cè);
(332)設(shè)置權(quán)重c=1-|ni·nj|,這樣保證了該權(quán)值非負(fù),且當(dāng)c越小表示兩鄰近點(diǎn)的法向方向越平行;
(333)根據(jù)權(quán)重c的大小進(jìn)行遍歷,若父結(jié)點(diǎn)ni與子結(jié)點(diǎn)nj滿足ni·nj<0,則將nj反向;
(334)遍歷所有結(jié)點(diǎn),將法向方向進(jìn)行傳播擴(kuò)散,傳播過程中設(shè)置一個(gè)閾值e,當(dāng)c≤e時(shí),一次擴(kuò)散至鄰域內(nèi)多點(diǎn),當(dāng)c>e時(shí),一次擴(kuò)散一個(gè)點(diǎn),完成后判斷是否滿足c≤e,再進(jìn)行多點(diǎn)擴(kuò)散,直至擴(kuò)散到整個(gè)點(diǎn)云空間;
(335)若未能遍歷所有的點(diǎn),則點(diǎn)云不連通,部分?jǐn)?shù)據(jù)形成局部孤島,如果未遍歷點(diǎn)數(shù)個(gè)數(shù)少于點(diǎn)云總數(shù)的千分之一,則將其作為噪聲舍棄,否則查找未遍歷的數(shù)據(jù)集中與已遍歷點(diǎn)之間距離最近的點(diǎn),將其作為繼續(xù)遍歷的起點(diǎn)并轉(zhuǎn)至步驟(334)。
本發(fā)明通過對(duì)點(diǎn)云進(jìn)行法向估計(jì)得到其法向信息,然后將包含法向信息和位置信息的三維點(diǎn)作為加工節(jié)點(diǎn),再通過軌跡規(guī)劃,生成加工節(jié)點(diǎn)的x、y、z、rx、ry、rz信息,并以掃描的先后順序?qū)⒓庸す?jié)點(diǎn)依次同步地發(fā)送給機(jī)器人1,機(jī)器人1進(jìn)行插補(bǔ)運(yùn)動(dòng)和逆運(yùn)動(dòng)學(xué)求解,生成打磨姿態(tài),從而完成掃描工件的打磨。
完成上述步驟,即完成了基于本發(fā)明裝置的三維點(diǎn)云采集,并且僅根據(jù)三維點(diǎn)云的信息生成了機(jī)器人1打磨軌跡。
本發(fā)明的上述實(shí)施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對(duì)本發(fā)明的實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無需也無法對(duì)所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。