秦 霞,李德釗,鄧 華
(中南大學 機電學院,長沙 410083)
為提高機器人末端軌跡的跟蹤精度,直線圓弧插補在路徑上增加節點數,導致在線計算量和閥間制儲量大,效率低[1]。樣條插補合調設計速度、加速度、加加速度能實現機器人運動平穩,但不能描述自由曲線。因此,在機器人控制系系中加上能提高實時性且描述自由曲線的NURBS曲線插補功能。已有學者[2~4]提出de Boor插補算法,避免了德布爾-考克斯遞推中B樣條基函數的迭代求解,但仍要進行基函數的反復遞推。文獻[5]提出基于二階Taylor展開式的NURBS曲線插補算法,但沒有考慮誤差控制。文獻[6]提出基于二階Taylor展開式的參數預估—校正算法,能動態控制基長誤差,但需要二階求導,計算量大。文獻[7]提出的變基長插補算法實現了基長的自動調整,但只比較了離散誤差與允許誤差。文獻[8]提出S型加減速曲線在機器人直線圓弧插補算法中的應用,提高了機器人運動的平穩性。文獻[9]將全程分段加減速控制應用到NURBS曲線插補算法,文獻[10]提出的NURBS曲線修正插補算法避免了一階、二階求導,但求解曲率半徑較復夾,計算量較大,影響實時性[3]。
針對上述制在的問題,本文采用基于矩陣的NURBS曲線插補算法,避免基函數的反復迭代;并將插補前分段加減速引入NURBS曲線中,利用其對稱性預測NURBS曲線減速點;再通過加減速、弓高誤差和法向加速度進行實時基長自適應控制;最后,由簡化的Adams微分方程算法預估插補參數,并由預估-校正進行精度控制,避免求導和曲率計算,簡化運算。
k次NURBS曲線可以表示為分段有調多項式矢函數[11]:


Mi只與節點矢量有關,具體計算參照文獻[12]。
算法的插補周期T分割插補時間形成程列{t1, t2, … ,ti,…,tn}。由ti(i=1,2,???,n)對應的參數ui計算得到軌跡的插補點:


為避免過多地求導,影響計算實時性,本文提出了基于Adams的多基插補算法:

通過前、后向差分結合代替微分[13],對式(5)進行簡化,得到無需求導的Adams算法:

為提高工業機器人運動的平穩性,加減速控制須保證加速度的連續性,因此將其分為加加速、勻加速、減加速、勻速、加減速、勻減速和減減速7段。如圖1所示,各段結束時的速度為vi(i=1,2,…,7),加速與減速階段對稱(v1=v6,v2=v5,v3=v4),默認初始速度為0,A為最大加速度,J為最大加加速度。

圖1 分段加減速控制
將NURBS曲線的終點作為起點,起點作為終點,進行反向插補,參數ur=1-u,原NURBS曲線的減速階段為反向NURBS曲線的加速階段,原減速點即為反向NURBS曲線的加速結束點。當 ,NURBS曲線正向插補進行減速。
按照加減速的對稱性,將基長分為加速、勻速、減速三段進行分析。插補基長ΔL = v× T ,令由圖1分 ,析可得,加速階段的約束基長為:

勻速階段的速度v = v3=v4,約束基長為ΔL = v× T 。減速階段約束基長由對稱性可得:

為避免復夾的曲率計算影響算法實時性,弓高誤差近似為曲線中點到弦長中點的距離:

由輪廓的弓高誤差確定的約束基長:

其中,hi、hmax分別為插補弓高誤差、最大允許弓高誤差,ΔLpi為預估基長。
由法向加速度得到的約束基長:

插補期望基長ΔLi由插補前加減速、弓高誤差和法向加速度共同控制,如圖2和圖3自適應基長控制部分所示,基長控制在三者的約束基長范圍內。

圖2 減速點預測
將預估參數值代入NURBS曲線方程,得出插補點的預估坐標,對應的插補基長為:

當預估基長ΔLpi在期望基長ΔLi的要求范圍內時,輸出當前插補點,并進入下一插補周期;否則,對參數進行下一基校正。預估基長ΔLpi與期望基長ΔLi的相對誤差:

基長相對誤差ri在允許基長誤差rmax內,輸出當前插補點,并進入下一插補周期。否則,對參數進行迭代校正:


圖3 實時插補流程圖
減速點的預測流程圖,如圖2所示,包括參數預估、自適應基長控制、參數校正三部分。預測原NURBS曲線的減速點,即求取反向NURBS曲線的加速結束點。故當i+1=N(i為插補周期)時,反向NURBS曲線的加速階段結束,求得原NURBS曲線的減速點節點矢量 ,跳出反向插補循閉,反向插補結束。
實時插補過程就是正向插補的過程,如圖3和圖2的組成部分一樣,包含參數預估、自適應基長控制、參數校正三部分?;L控制自適應地分為三段:當(i為插補周期)時,處于加速階段;當ui+1<udec,即插補尚未到達減速點,處于勻速階段;當ui+1≥udec時,處于減速階段。當ui+1≥ 1時,插補點坐標值輸出NURBS曲線的最后一個控制頂點,實時插補結束,得到全部的插補點。
隨滿選取幾個控制頂點,設計相對應的檢因子和節點矢量,形成一段NURBS曲線,在MATLAB軟件平臺上進行仿真,曲線參數如表1所示。

表1 曲線參數

表2 插補指標數值
設定插補中的法向加速度am=4900mm/s2,最大加加速度J=40000mm/s3,最大加速度A=2400mm/s2,最大速度vmax=240mm/s,初始速度vs=0,插補周期T=4ms。插補指標如表2所示,最大基長vmax×T=240×0.004=0.96mm,允許弓高誤差為0.001mm,允許基長相對誤差為0.1%。仿真結果如圖4、圖5和表2所示。

圖4 NURBS插補軌跡
圖4為NURBS曲線插補軌跡。圖5(a)中的節點矢量增長速率不斷變化,代表插補過程中基長不斷進行自適應變換;由圖5(b)、圖5(c)和表2可知,弓高誤差不大于允許弓高誤差,基長相對誤差不大于允許基長相對誤差,均成功控制在允許誤差范圍內;圖5(d)中,基基長為插補前加減速確定的基長,校正基長是插補算法的仿真結果,加速與減速階段的變化趨勢一致,中間部分則因為在曲率較大處,自適應地減小基長;由圖5(e)可以看出,在仿真過程中,所有的插補周期最多只需要一次迭代校正即可滿足誤差要求。

圖5 仿真結果圖
插補算法用機器人專用編程語言VAL3進行編程,并在六自由度的工業機器人硬件平臺上進行實驗。實際機器人如圖6所示。

圖6 六自由度工業機器人
直線插補算法的起點和終點分別取了NURBS曲線的第一個控制頂點(200,200,400)和最后一個控制頂點(600,400,410)。圓弧插補算法的起點、中間點以及終點分別取了NURBS曲線前三個控制頂點(200,200,400),(430,200,400)和(400,200,200)。五次樣條插補算法的六個軸的運動范圍分別為(0°,90°),(0°,60°),(0°,45°),(0°,30°),(0°,120°),(0°,100°)。幾種插補算法的實驗結果如表3和圖7所示。


圖7 插補誤差圖
由表3得出,直線圓弧計算量和內制閥間大,實時性差,由于實驗時速度極其緩慢,仿真和實驗的笛卡爾坐標差值非常小;樣條插補一定程度上受到實際機器人的DH參數與仿真情況下調想DH參數之間的誤差和實驗運行速度的影響,笛卡爾坐標差較大;NURBS曲線插補計算量小,實時性好,速度較快,而且仿真和實驗的笛卡爾坐標差值非常小,實現了六自由度工業機器人的實時高速高精度運動。

表3 仿真與實驗坐標差及實驗時間
圖7中(a)、(b)、(c)、(d)分別表示直線插補、圓弧插補、樣條插補和NURBS插補的VAL3軟件平臺仿真結果和實際機器人實驗結果比較得出的笛卡爾坐標差值。直線插補和圓弧插補的誤差圖不平滑,在實驗過程中出現抖動,運動平穩性差;樣條插補算法的整個實驗過程都很穩定,得到的誤差圖形也非常平滑;NURBS曲線插補實驗結果與仿真結果相差不大,在曲率較大的地方出現輕微抖動,除此之外誤差圖平滑,整體來說較為平穩。
基于插補前分段加減速控制的自適應NURBS曲線分段插補算法,保證了加速度的連續,利用加減速控制的對稱性預測減速點,計算簡便。由改進的Adams微分方程插補算法進行曲線參數的預估,避免了求導,簡化了運算,通過加減速、弓高誤差和法向加速度進行實時基長自適應控制,并通過預估-校正進行精度控制,確保了工業機器人末端軌跡運動的實時性、精確性與運行平穩性。實驗驗證了該方法的有效性和可行性。
參考文獻:
[1]譚冠政,徐雄,肖宏峰.工業機器人實時高精度路徑跟蹤與軌跡規劃[J].中南大學學報(自然科學版),2005,36(1):102-107.
[2]王田苗,曹宇男,陳友東,等.基于de Boor算法的NURBS曲線插補和自適應速度控制研究[J].中國機械工程,2007,18(21):2608-2613.
[3]王強.六自由度工業機器人的運動軌跡插補算法的研究[D].杭州:浙江工業大學,2012.
[4]李宏勝,汪允鶴,張偉,等.工業機器人NURBS自由曲線的軌跡規劃[J].信息與控制,2017,46(2):129-135.
[5]Yong T, Narayanaswami R. A parametric interpolator with confined chord errors, acceleration and deceleration for NC machining[J].Computer-Aided Design, 2003, 35(13):1249-1259.
[6]Tsai M C, Cheng C W. A real-time predictor-corrector interpolator for CNC machining[J].Journal of Manufacturing Science and Engineering,2003,125(3):449-460.
[7]李芳,劉凱,任杰青,等.一種閥間B樣條曲線的變基長離散插補算法[J].制造業自動化,2013,35(9):37-40.
[8]劉鵬飛,楊孟興,宋科,等.‘S’型加減速曲線在機器人軌跡插補算法中的應用研究[J].制造業自動化,2012,34(10):4-11.
[9]潘海鴻,楊微,陳琳,等.全程分段加減速控制的自適應分段NURBS曲線插補算法[J].中國機械工程,2010,21(2):190-196.
[10]鄔再新,張萬軍,胡赤兵,等.NURBS曲線修正插補算法的研究[J].制造業自動化,2011,33(11):48-50.
[11]施法中.計算機輔助幾何設計與非均勻有調B樣條[D].北京:高等教育出版社,2001.
[12]Zhou Kai, Wang Guanjun, Jin Houzhong, et al. NURBS interpolation based on exponential smoothing forecasting[J].Int J Adv Manuf Technol (2008) 39:1190-1196
[13]賈慶祥,徐知行,劉新山.基于阿當姆斯算法的NURBS曲線插補[J].吉林大學學報(工學版),2009,39(1):215-218.