盧 冉,何秋生,王 垚
(太原科技大學(xué) 電子信息工程學(xué)院,太原 030024)
在機器人笛卡爾空間規(guī)劃中[1],機器人末端的運動軌跡一般都是圓弧或者直線,對于一些形狀復(fù)雜的曲線、曲面,傳統(tǒng)的方法是將曲線劃分為大量微小直線段或圓弧段,然后進行線性插補。在通過這些微線段的過程中機器人需頻繁加減速,可能導(dǎo)致電機振動,降低機器人壽命;對大量微線段的運算處理也會增加系統(tǒng)的負擔(dān),影響實時性。針對這些缺陷,一些高檔數(shù)控系統(tǒng)引入了樣條插補功能。
不同于傳統(tǒng)的小線段插補或圓弧段插補,樣條插補無需將曲線離散化為大量微線段,可直接對參數(shù)曲線進行插補,不僅能減少工件的程序量,還能避免機器人的頻繁加減速控制,為高速、高精、高質(zhì)量加工提供了新思路[2-3]。
常用的樣條曲線有三次樣條曲線、B樣條曲線和NURBS曲線等[4-5]。NURBS插補算法的研究一直是數(shù)控插補算法研究中的熱點和重點[6-7]。目前已經(jīng)有許多學(xué)者針對NURBS的擬合開展了大量研究工作。Yeh和Su等[8]采用了最小二乘法將離散的數(shù)據(jù)點擬合成連續(xù)的NUBRS曲線,然后進行樣條插補。Wang和Yau[9]則采用三角形測試和雙弦高誤差測試識別出連續(xù)的加工區(qū)域,然后擬合成NURBS曲線進行插補。由于NURBS曲線并不能穿過每一個數(shù)據(jù)點,其擬合形狀有時會與數(shù)據(jù)點的真實輪廓有一定差距,一些研究人員對此進行了改進。董甲甲[10]在三次均勻B樣條曲線基礎(chǔ)上進行改進,通過增加控制頂點,獲得了一種新的通過型值點、首尾點的B樣條曲線,獲得了更高精度,且保留了傳統(tǒng)B樣條曲線局部性、凸包性。陳爽[11]通過曲線反算的方法生成了一條經(jīng)過所有示教點的曲線,實驗證明該方法能以較少的示教點生成所需的復(fù)雜曲線,提高了示教效率。孔慶博[12]提出了一種改進的5次多項式插值法,在5次多項式插值的基礎(chǔ)上加入B樣條插值,優(yōu)化后的關(guān)節(jié)曲線更加光滑平穩(wěn),能較好地消除突變現(xiàn)象,避免了機器人在運動過程中的振動和沖擊。
為了達到平滑路徑,提高擬合精度的目的,本文分別分析了三次樣條曲線和NURBS樣條曲線的優(yōu)缺點,以實驗室六自由度機器人為研究對象,采用改進的曲線擬合方法規(guī)劃機器人的末端路徑,并進行曲線擬合實驗,驗證方法的有效性。
設(shè)區(qū)間在[a,b]內(nèi),通過一組插值節(jié)點將其分為小空間,a=x0 (1)在每一個結(jié)點上滿足S(xi)=yi,(i=1,2,3,…,n-1); (2)在每一個子區(qū)間[xk-1,xk](k=1,2,…,n)上,S(xi)是一個不超過三次的多項式; (3)S(x),S′(x),S″(x)在[a,b]上連續(xù)。 則稱S(x)為結(jié)點x上插值與y的三次樣條插值函數(shù)。 三次樣條曲線可以精確的穿過每一個數(shù)據(jù)點,但是三次樣條曲線的局部性較差,任何一個數(shù)據(jù)點或坐標(biāo)點位置的改變,會對整個樣條曲線產(chǎn)生影響。而且隨著路徑點的增多,計算的復(fù)雜度也隨之增大。 NURBS曲線是在貝塞爾曲線和普通B樣條曲線的基礎(chǔ)上發(fā)展來的,且很好的兼容了兩種參數(shù)曲線。其原理是通過控制點組成的多邊形來擬合曲線,能夠通過控制頂點及權(quán)因子修改曲面與曲線的形狀。NURBS曲線的方程可以表示成如下形式[14]。 (1) 其中,u為NURBS曲線的參數(shù),di為控制點,ωi為對應(yīng)控制點的權(quán)因子,Ni,k(u)為定義在非周期節(jié)點矢量U=[u0,u1,…,un+k+1]上的k次B樣條基函數(shù),基函數(shù)的遞推公式為: (2) 若{ωi}={1,…,1},則NURBS曲線表達式變?yōu)锽樣條。 NURBS曲線的形狀控制功能強大靈活,能統(tǒng)一精確地表示自由曲線和曲面,在曲線局部調(diào)整方面優(yōu)于三次樣條插值,但NURBS曲線并不會完整地經(jīng)過每一個示教點,而對于高精度機器人運動控制系統(tǒng)中,常常需要能經(jīng)過示教點的樣條插值曲線。 對擬合后的曲線參數(shù)化,進行NURBS插值時,利用用弦長ΔLi逼近弧長ΔSi的方法。設(shè)當(dāng)前插補點C(ui)理想進給速度為V(u,),理想的下一個插補點C(ui+1)的插補參數(shù)為ui+1.根據(jù)微分幾何,沿曲線移動所需的速度為: (3) 通過上式,可以得到: (4) 本文采用一階泰勒展開方法來進行參數(shù)求解。設(shè)T為插補周期,則可得: (5) 通過上式即可算出的參數(shù)ui+1對應(yīng)的插補點C(ui+1)的位置。 為了確保擬合精度同時計算減小量,本文在選取控制點時引入了弦誤差約束對方法進行改進。針對三次樣條插值與NURBS插值的優(yōu)缺點,本文采用了對三次樣條形成的插補點進行篩選,篩選后的點作為NURBS的控制點的改進的擬合方法。 在進行曲線擬合前,需要選取控制點,為了保證擬合的精度,需要獲得關(guān)鍵控制點。但如果控制點太多,小于最大弦誤差,就會增加計算量。所以引入最大弦誤差來除去多余控制點[13]。 圖1所示為弦誤差示意圖,設(shè)Pi-1,Pi,Pi+1是三個相鄰的控制點,li-1,li是連接這三個點的直線段。Pi-1,Pi,Pi+1三點可構(gòu)成一個圓弧,設(shè)該圓的半徑為R,通過圖中幾何關(guān)系,可得到弦誤差σ1,σ2的計算公式為: 圖1 弦誤差示意圖 δ1=R(1-cosβ) (6) δ2=R(1-cos(π-θi-β)) (7) 規(guī)定最大弦誤差為σmax,如果弦誤差σ1,σ2同時小于σmax,則控制點Pi為多余點,移除該點,繼續(xù)計算下一組相鄰控制點的弦誤差,直到篩選完所有的控制點,則完成控制點的選取。 如圖所示,相鄰插補點Qi-1,Qi,Qi+1的連線形成夾角θi,θi的求解公式為: (8) 設(shè)定插補點連線間的最大允許夾角為σmax,如果θi<θmax,則移除插補點Qi,繼續(xù)計算下一組相鄰插補點連線的夾角,直到完成所有插補點的篩選,就可以作為NURBS曲線的控制點,其原理與控制點的選取相同。通過夾角約束篩選的插補點作為NURBS曲線的控制點,在達到精度的同時也可以減少計算量。 本文方法的整體流程如圖2所示。方法的具體步驟為: 圖2 插補點連線夾角示意圖 (1)通過引入最大弦誤差δmax從離散點中選取合適的控制點; (3)篩選的插補點作為NURBS函數(shù)的控制點,根據(jù)公式(1)生成NURBS樣條曲線。 圖3 總體方法流程圖 (1)實驗一: 在空間中任取九個控制點(0,-40)、(0.75,-6.9)、(1.5,8.75)、(2.25,12)、(3,8)、(3.75,1.71)、(4.5,-1.75)、(5.25,2.65)、(6,20),分別使用傳統(tǒng)的NURBS、三次樣條和改進的方法進行擬合。如圖4所示,圖中空心點為控制點,星型點為選取的插補點。 仿真結(jié)果如圖4所示,通過NURBS擬合的曲線雖然光滑,但沒有通過所有的控制點,擬合精度較低。通過插補點連線的夾角選取插補點后,生成的三次樣條曲線雖然通過了每個控制點,但平滑性較差。而改進后的擬合曲線整體光滑,相對于三次樣條插值減少了計算量,并且通過了每個控制點,提高了曲線擬合精度。 圖4 擬合曲線仿真圖 為了更清晰的表明本文擬合方法精度的提高,對擬合曲線與期望曲線的誤差進行比較。圖5和圖6分別為傳統(tǒng)NURBS曲線和改進曲線的擬合誤差,結(jié)果表明改進后的方法減小了擬合誤差,大大提高了曲線的擬合精度。 圖5 NURBS曲線誤差 圖6 改進后曲線誤差 (2)實驗二: 根據(jù)弦誤差提取圖7中心形圖形的21個控制點,分別使用NURBS、三次樣條和改進的方法進行擬合。仿真結(jié)果如圖8所示,NURBS擬合曲線與與原圖形輪廓貼合程度相差較大,根據(jù)篩選的插補點擬合的三次樣條曲線平滑性較差,本文方法擬合的曲線平滑且與原圖輪廓更加貼合,擬合精度較高。 圖7 心形圖形 圖8 心形擬合仿真圖 為了更好的驗證本方法的可行性和有效性,本文使用實驗室現(xiàn)有Denso VP6242G機器人進行毛筆書寫實驗,圖9為機器人實驗平臺。首先,根據(jù)機器人的工作空間選取合適的書寫坐標(biāo)范圍,對字體進行軌跡規(guī)劃,規(guī)劃時考慮毛筆書法回筆等書寫動作的需要,選取字體的關(guān)鍵離散點。然后對離散點進行插值擬合,生成平面的書寫軌跡。 圖9 機器人實驗平臺 圖10為字體軌跡的仿真結(jié)果。考慮到書寫動作的落筆、提筆與按筆,對z軸方向還需進行軌跡的設(shè)計與規(guī)劃。把插值生成的插補點數(shù)據(jù)輸入到機器人的simulink位姿矩陣模塊。然后控制機器人做出相應(yīng)的位姿移動進行書寫實驗。 圖11為機器人實際的書寫效果,圖中圓圈所標(biāo)記的書寫弧度與圖10中規(guī)劃的圓弧軌跡相對應(yīng),如圖所示達到了預(yù)計的弧度效果。結(jié)果表明,本文研究的方法能體現(xiàn)處毛筆書寫行為中力度大小的變化,在繪制過程中能夠較好的實現(xiàn)各種直線、曲線等書法輪廓的控制,字跡光滑,有良好的臨摹效果。 圖10 水平軌跡仿真 圖11 機器人實際書寫效果 本文主要對機器人末端路徑規(guī)劃中,使用傳統(tǒng)曲線擬合方法擬合精度低、曲線局部性較差的問題,提出了改進的樣條擬合的方法,即三次樣條插值與非均勻有理B樣條相結(jié)合的方法。通過Matlab仿真以及機器人書寫實驗驗證,此方法可使機器人生成光滑的運動軌跡,還可以提高曲線擬合精度,使曲線通過每個控制點。1.2 NURBS曲線
1.3 樣條曲線插補
2 曲線擬合方法的改進
2.1 控制點的選取
2.2 插補點篩選
2.3 方法整體思路
3 仿真實驗與分析
3.1 曲線擬合仿真
3.2 機器人書寫實驗驗證
4 結(jié)論