時間:2015-09-09 17:08:25來源:周旋 喬楓 高添泉 路宇飛
摘要:本文研究了PUMA560機(jī)器人在笛卡爾空間中的軌跡規(guī)劃問題,結(jié)合當(dāng)前工業(yè)機(jī)器人在笛卡爾空間中軌跡規(guī)劃的發(fā)展,對如何在高速環(huán)境下保持機(jī)器人末端運動的可行性和連續(xù)性軌跡規(guī)劃的關(guān)鍵技術(shù)進(jìn)行研究,利用NURBS(Non-Uniform Rational B-Spline) 曲線插補(bǔ)算法,使得機(jī)器人末端軌跡速度連續(xù)平滑且加速度連續(xù),有利于提高機(jī)器人的運行速度和減少機(jī)器人的機(jī)械本體的振動和關(guān)節(jié)磨損。該算法運用MATLAB編程并在計算機(jī)上仿真PUMA560機(jī)器人模型軌跡運動,驗證了軌跡規(guī)劃算法。
關(guān)鍵詞:工業(yè)機(jī)器人;軌跡規(guī)劃;MATLAB;NURBS插補(bǔ)算法
1.前言
基于笛卡爾空間的軌跡規(guī)劃作為機(jī)器人軌跡規(guī)劃的一種方法,雖然在規(guī)劃中可能會出現(xiàn)奇異位形,其運動反解也比較復(fù)雜,但其軌跡的精確性是基于關(guān)節(jié)空間規(guī)劃的這種方法所無法比擬的,這樣的研究可參考文獻(xiàn)[1]。同時,隨著計算機(jī)處理速度的不斷提高,運動學(xué)反解的實時性也在不斷提高,而軌跡規(guī)劃中可能出現(xiàn)的奇異位形也可以通過仿真的方法加以修正。
目前,在笛卡爾空間中機(jī)械臂末端軌跡規(guī)劃最基本的插補(bǔ)算法是空間直線和圓弧的插補(bǔ)算法。很多給定曲線都可以分段成多段直線或圓弧,然后再進(jìn)行直線或圓弧插補(bǔ)。但對于一些復(fù)雜的自由曲線難以用簡單的解析曲線表示,而要用列表形式給出。如果對這些復(fù)雜自由曲線進(jìn)行多段直線或圓弧擬合,為了保證精度要求,復(fù)雜曲線必須分為很多小段直線或圓弧,這不僅導(dǎo)致編程復(fù)雜,效率降低,而且運動速度都受到嚴(yán)重的影響[2]。
因此,在機(jī)器人控制系統(tǒng)中加上B樣條曲線插補(bǔ)功能,這能很好地解決復(fù)雜自由曲線路徑的問題。而相對簡單的三次B樣條曲線在很大程度上能符合生產(chǎn)要求。所以,將三次B樣條曲線插補(bǔ)功能應(yīng)用于機(jī)器人控制系統(tǒng)中能很好地提高自由曲線連續(xù)路徑操作中的精度和速度要求。
本文針對以上情況,采用了一種基于NURBS(Non-Uniform Rational B-Spline)曲線的可以對曲線弧長和曲線控制參數(shù)生成光滑的運動學(xué)軌跡輪廓的新廣義插值算法。同典型的預(yù)先生成整個路徑軌跡的運動學(xué)軌跡輪廓的方法相比,這種方法是在每個采樣周期遞歸的生成具有光滑運動學(xué)軌跡輪廓的連續(xù)路徑軌跡。這種遞歸的方法允許在路徑軌跡運行中修改運動的速度,以避免一些比如曲線的曲率突變等意外的影響,從而對混合曲線類型的路徑軌跡使用超前預(yù)估功能獲得一條光滑的運動學(xué)軌跡輪廓。
2.機(jī)器人笛卡爾空間的NURBS插補(bǔ)算法研究
NURBS曲線比較復(fù)雜,計算量比較大,為了保證實時性,在實時插補(bǔ)前需先將相關(guān)公式及其系數(shù)計算出來。在NURBS插補(bǔ)中,預(yù)處理主要是確定每段NURBS的表達(dá)式,換言之,就是要在插補(bǔ)前根據(jù)NURBS的控制頂點、權(quán)因子和節(jié)點矢量求解NURBS表達(dá)式中的相關(guān)系數(shù)。目前有兩種方法:一種是依據(jù)德布爾遞推計算公式或給出三次NURBS基函數(shù),可以很方便計算出NURBS曲線每一段的有理化表達(dá)式;另外一種是采用矩陣表達(dá)式[3]。
矩陣表達(dá)式這種形式使計算和分析都非常簡單,所以本文采用這種方法。而對于插補(bǔ)點參數(shù)的求取,本文采用了泰勒展開法和探索法,同時考慮到精度問題,應(yīng)用了預(yù)估-校正的方法修正參數(shù)和約束弦高誤差來約束插補(bǔ)步長。
2.1三次NURBS表達(dá)式
已知控制點序列為,其對應(yīng)的權(quán)因子序列為
,和節(jié)點矢量為
,則NURBS有理分式表達(dá)式為[4]:
(1)
式中:B3、B2、B1、B0——分子系數(shù)矢量;B3、b2、b1、b0——分母系數(shù)矢量。
。并記:
。
根據(jù)NURBS有理分式可解出三次NURBS曲線表達(dá)式第i-2段的具體表達(dá)式為:
(2)
式中:
(3)
將式子(1)與式子(2)比較可得軌跡表達(dá)式(1)中分子分母系數(shù)矢量計算公式:
(4)
2.2參數(shù)密化
先利用一階泰勒展開法算出前三點的參數(shù)值,再使用探索法[5]求其他點的參數(shù)值。一階泰勒展開式:
, (5)
式中,為插補(bǔ)步長。
探索法:(6)
2.3修正參數(shù)
由泰勒展開法和探索法得到的參數(shù)值作為此次參數(shù)插補(bǔ)的預(yù)估值,將其代入(1)可得到預(yù)估插補(bǔ)點[5]:
(7)
對應(yīng)預(yù)估進(jìn)給步長為:
(8)
采用預(yù)估法得到的和期望步長
之間存在偏差,可用相對誤差進(jìn)行評定:
(9)
式中,是期望插補(bǔ)步長(將在下面確定)。
當(dāng)誤差在允許范圍內(nèi)時,可認(rèn)為
即為所求的
,否則按下式進(jìn)行修正直至達(dá)到
允許域內(nèi):
(10)
2.4約束插補(bǔ)步長
為了提高插補(bǔ)精度,應(yīng)該利用約束弓高誤差來約束插補(bǔ)步長。插補(bǔ)弓高誤差與插補(bǔ)步長
及曲線曲率半徑
之間存在如下關(guān)系[3]:
(11)
為了計算方便,這里用曲線段中點與弦長中點的距離來代替弓高誤差,如圖1,即:
(12)
式中,是由式子(5)或者式子(6) 確定的預(yù)估參數(shù),
是由式子(7)確定的預(yù)估插補(bǔ)點。
通常,與弓高誤差h之間的偏差很小,只是在曲線的拐點附近可能有較大誤差,但拐點附近的曲線曲率往往較小,則相應(yīng)的插補(bǔ)誤差也較小。因此,這種近似具有工程合理性。根據(jù)式子(11)中插補(bǔ)誤差與進(jìn)給步長的關(guān)系可得約束進(jìn)給步長表達(dá)式:
(13)
式中,是由式(8)確定的預(yù)估步長。
圖1 弓高誤差的近似
2.5確定期望插補(bǔ)步長
期望插補(bǔ)步長為[6]:
(14)
其中為弓高約束求得的步長,
為無約束狀態(tài)的步長,勻速運動時為
。將式(14)結(jié)合式(8)代入修正式(10)即可求得新的修正后的插補(bǔ)參數(shù)。
2.6插補(bǔ)點生成[10]
將軌跡空間映射到一維參數(shù)空間,在一維參數(shù)空間完成對參數(shù)的密化工作,得到一系列的參數(shù)值,接下來我們將參數(shù)接下來我們將參數(shù)
代入如下我們規(guī)劃的NURBS曲線表達(dá)式中:
(15)
,
,
即為所得插補(bǔ)點坐標(biāo),將一系列插補(bǔ)點相連,就得到了機(jī)器人的運動軌跡,至此即完成了整個插補(bǔ)過程。
3.NURBS曲線插補(bǔ)算法的實現(xiàn)
根據(jù)以上論述,我們采用預(yù)估-校正方法進(jìn)行參數(shù)的計算,可得算法流程如圖2:首先生成NURBS曲線軌跡[8],即確定NURBS參數(shù)方程,然后完成插補(bǔ),即計算各插補(bǔ)點對應(yīng)的參量u,代入NURBS參數(shù)方程(15)求得各插補(bǔ)點坐標(biāo)。
(16)
圖2 NURBS曲線插補(bǔ)算法流程圖
4.仿真結(jié)果與分析
以PUMA560機(jī)器人作為研究對象,驗證算法在MATLAB中編程實現(xiàn),并把算法產(chǎn)生的軌跡插值點數(shù)據(jù)輸入到MATLAB中,由MATLAB完成圖像的繪制并輸出顯示。
4.1仿真算例1-空間圓弧的NURBS插補(bǔ)
利用本文第2部分相關(guān)知識與文獻(xiàn)[3][9]得出的半徑為20的圓弧三次NURBS,
則表達(dá)式為:
(17)
其中節(jié)點矢量為:
,控制頂點為:
,相應(yīng)權(quán)因子分別為:
。設(shè)機(jī)器人運動的姿態(tài)保持不變,用RPY變換姿態(tài)角表示為(0.2,0.5,0.7),單位為弧度(rad)。設(shè)曲線運動的期望速度為200mm/s,插補(bǔ)周期為10ms。為了保證插補(bǔ)精度,插補(bǔ)過程中增加了弦高誤差約束,設(shè)弦高最大允許值為0.5mm,修正相對誤差最大允許值為0.5mm。
利用NURBS]曲線的生成程序,可生成用NURBS表示的半圓弧圖形如圖3所示。其中的多邊形是用各個控制頂點連接而成的控制多邊形。利用代入法,代入某些參數(shù)值計算,則知各個點均是在以原點為圓心,半徑為20的半圓弧上。
圖3利用NURBS表示的圓弧形狀
將圖3用NURBS表示的半圓弧各參數(shù)值存成文本文件于MATLAB的Work空間內(nèi),利用NURBS曲線的插補(bǔ)程序,讀取指令格式,可進(jìn)行實時動態(tài)軌跡插補(bǔ),最終得其插補(bǔ)軌跡如圖4。
圖4圓弧的NURBS插補(bǔ)軌跡
圖5機(jī)器人末端位姿各分量變化圖
仿真結(jié)果表明,采用NURBS插補(bǔ)算法的機(jī)器人末端運動軌跡是光滑連續(xù)的,在期望速度下能保證路徑的平滑和軌跡曲線的連續(xù)。
4.2仿真算例2-星型曲線的 NURBS實時插補(bǔ)
假定以下控制點及節(jié)點矢量,可得圖6仿真結(jié)果:(數(shù)據(jù)來自文獻(xiàn)[3])
控制頂點依序為:{60,170,10}、{45,150,10}、{20,150,10}、{40,130,
10}、{35,110,10}、{60,125,10}、{85,110,10}、{80,130,10}、{100,150,10}、{75,150,10}、{60,170,10}。
權(quán)因子分別?。簑=[1,1,1,1,1,1,1,1,1,1,1]。
節(jié)點分別為: N =[0,0,0,0,0.125,0.25,0.375,0.5,0.625,0.75,0.875,1,1,1,1]。
圖6星型曲線仿真結(jié)果圖
仿真結(jié)果顯示,除起點處和結(jié)束處插補(bǔ)點間隔逐步均勻加大外(圖6),其余插補(bǔ)點非常均勻,表明插補(bǔ)很平穩(wěn),效果很好。
4.3仿真算例3-蝴蝶型曲線的 NURBS實時插補(bǔ)
根據(jù)如下控制點及控制矢量,可以得到利用NURBS實時插補(bǔ)得到的蝴蝶型曲線(數(shù)據(jù)來自文獻(xiàn)[7])。
控制頂點依序為:{104.493,152.139,10}、{105.507,152.139,10}、{106.082,149.615,10}、{106.78,144.971,10}、{119.575,151.358,10}、{127.786,158.573,10}、{140.526,167.081,10}、{155.973,163.801,10}、{150.4,147.326,10}、{144.567,139.913,10}、{142.369,130.485,10}、{133.44,133.757,10}、{141.892,128.509,10}、{139.444,120.393,10}、{133.218,115.446,10}、{137.621,104.83,10}、{130.945,109.267,10}、{129.834,114.535,10}、{126.074,108.522,10}、{120.183,112.55,10}、{114.171,116.865,10}、{109.993,122.122,10}、{105.68,136.359,10}、{106.925,124.995,10}、{109.765,119.828,10}、{104.493,114.94,10}、{99.22,119.828,10}、{102.06,124.992,10}、{103.305,136.359,10}、{98.992,122.122,10}、{94.814,116.865,10}、{88.802,112.551,10}、{82.911,108.521,10}、{79.152,114.535,10}、{78.04,109.267,10}、{71.364,104.83,10}、{75.768,115.447,10}、{69.539,120.391,10}、{67.097,128.512,10}、{75.537,133.75,10}、{66.602,130.496,10}、{64.199,139.803,10}、{58.668,147.408,10}、{53,163.794,10}、{68.465,167.084,10}、{81.197,158.572,10}、{89.411,151.358,10}、{102.204,144.971,10}、{102.904,149.614,10}、{103.478,152.139,10}、{104.492,152.139,10}。
權(quán)因子分別?。簑=[1,1,1,1.2,1,1,1,1,1,1,1,2,1,1,5,3,1,1.1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.1,1,3,5,1,1,2,1,1,1,1,1,1,1,1.2,1,1,1]。
節(jié)點分別為:N =[0,0,0,0,0.008286,0.014978,0.036118,0.085467,0.129349,
0.150871,0.193075,0.227259,0.243467,0.25608,0.269242,0.288858,0.316987,0.331643,0.348163,0.355261,0.364853,0.383666,0.400499,0.426851,0.451038,0.465994,0.489084,0.499973,0.510862,0.533954,0.54891,0.573096,0.599447,0.61628,0.635094,0.644687,0.651784,0.668304,0.682958,0.711087,0.730703,0.743865,0.756479,0.772923,0.806926,0.84913,0.870652,0.914534,0.963883,0.985023,0.991714,1,1,1,1]。
圖7蝴蝶型曲線仿真結(jié)果圖
圖8各關(guān)節(jié)角的變化圖
圖9各關(guān)節(jié)角的速度圖
圖10各關(guān)節(jié)角的加速度圖
仿真結(jié)果顯示,插補(bǔ)點分布大部分很均勻,在幾處曲率較小的拐角存在變化,速度和加速度在曲率比較小的四處拐角處還存在明顯的突變情況,大部分都能在許可范圍內(nèi)波動,表明系統(tǒng)存在少許沖擊,但均在允許的范圍之內(nèi)。
5.結(jié)論
采用NURBS插補(bǔ)算法,對機(jī)械手末端的運動軌跡進(jìn)行規(guī)劃。在NURBS算法中,為了保證插補(bǔ)精度,增加了利用弓高誤差來約束插補(bǔ)步長,由于NURBS算法中增加了弦高誤差約束插補(bǔ)步長,所以運動的位移曲線不確定,導(dǎo)致運動軌跡不平滑,運動速度和加速度有少許波動,但均在允許的范圍之內(nèi),不過它可以比較精確地插補(bǔ)各種自由曲線,可以滿足用戶的很多要求,隨著計算機(jī)運算能力和儲存能力的提高,NURBS將更為廣泛地應(yīng)用在機(jī)器人的軌跡規(guī)劃中來表示軌跡路徑。
參考文獻(xiàn)
[1] 孫羽; 張汝波. 笛卡兒空間機(jī)器人軌跡規(guī)劃方法[J].北華大學(xué)學(xué)報(自然科學(xué)版),2002(06).
[2] 孔凡國; 郝尚華; 鐘廷志; 郝鳳齊.三次B樣條曲線插補(bǔ)算法的VC實現(xiàn)[J].中國新技術(shù)新產(chǎn)品,2009(09).
[3] 劉新山.NURBS曲線插補(bǔ)技術(shù)研究及其仿真[D],吉林大學(xué),2007(04).
[4] 劉新山; 賈慶祥; 袁修華.NURBS曲線插補(bǔ)算法及加減速控制研究[J],組合機(jī)床與自動化加工技術(shù),2007(11).
[5] 游有鵬, 王珉.NURBS曲線高速高精度加工的插補(bǔ)控制[J]. 計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報, 2001, 13(10): 943-947.
[6] 范勁松, 徐宗俊. 用三次NURBS表示圓弧與整圓的算法研究[J]. 計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報, 1997, 9(5): 391-395.
[7] 黃翔, 岳伏軍.NURBS插補(bǔ)技術(shù)在高速加工中的應(yīng)用研究[J]. 南京航空航天大學(xué)學(xué)報, 2002, 34(1): 82-85.
[8] Meng-Shiun Tsai,Hao-Wei Nien,Hong-Tzong Yau .Development of an integrated look-ahead dynamics-based NURBS interpolator for high precision machinery. Computer Aided Design . 2008
[9] M Shpitalai,Y Koren,C C Lo. Real time curve interpolators. Computer Aided Design . 1994
[10] B K choi,W SYoo,C S Lee. Matrix representation for NURBS curve and surface. Computer Aided Design . 1990
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20