林孟豪,張 蕾,李鵬飛,王曉華
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
隨著工業(yè)自動化以及計(jì)算機(jī)技術(shù)的不斷提高,機(jī)器人技術(shù)廣泛應(yīng)用于各行各業(yè),極大地提高了勞動效率,減少了人工負(fù)擔(dān)[1-3]。多關(guān)節(jié)機(jī)械臂作為機(jī)器人技術(shù)高度集成化和智能化的體現(xiàn),能夠有效地節(jié)省機(jī)器人的工作空間,降低工業(yè)生產(chǎn)成本[4-6]。由于機(jī)械臂的控制精度很大程度上依賴于控制方法的設(shè)計(jì)[7],因此機(jī)械臂控制方法的研究極其重要,而機(jī)械臂的軌跡規(guī)劃問題是機(jī)械臂運(yùn)動控制的第一要素[8]。軌跡規(guī)劃技術(shù)的設(shè)計(jì)方法影響著機(jī)械臂的運(yùn)動形式和作業(yè)效率。隨著機(jī)械臂的應(yīng)用越來越廣泛,機(jī)械臂的軌跡規(guī)劃研究逐漸成為國內(nèi)外學(xué)者的研究熱點(diǎn)[9-10]。
鄒麗梅等通過DH建模的方法,建立了機(jī)器人正運(yùn)動學(xué)模型并且求得其逆解,為實(shí)際應(yīng)用提供了理論基礎(chǔ)[11];劉子貴等對比了多項(xiàng)式插值算法中三次多項(xiàng)式與五次多項(xiàng)式的運(yùn)行效果,證明五次多項(xiàng)式插值軌跡規(guī)劃的效果優(yōu)于三次多項(xiàng)式插值[12];李振娜等采用S型速度算法與弧長增量插補(bǔ)技術(shù)進(jìn)行軌跡設(shè)計(jì),驗(yàn)證了該方法的運(yùn)動性能較傳統(tǒng)的梯型速度算法有顯著地提高[13]。相比于國內(nèi)學(xué)者的研究,國外學(xué)者ünsal等設(shè)計(jì)了一種多項(xiàng)式與B樣條曲線復(fù)合插值的改進(jìn)復(fù)合多項(xiàng)式算法進(jìn)行軌跡規(guī)劃。實(shí)驗(yàn)結(jié)果表明,該算法所設(shè)計(jì)的曲線較為平滑,但增加了計(jì)算負(fù)擔(dān),降低了效率[14]。Saravanan等通過對比NURBS曲線和B樣條曲線,采用NURBS曲線進(jìn)行軌跡規(guī)劃。仿真結(jié)果表明,NURBS曲線能夠改善軌跡連接過渡的平滑性,更好地控制軌跡曲線的平滑度和曲率的連續(xù)性,但卻增加了使用難度,實(shí)際應(yīng)用價值較低[15]。在工程應(yīng)用中,以上方法為常用的軌跡規(guī)劃算法,通常將機(jī)械臂的運(yùn)動軌跡設(shè)計(jì)為一條完整連續(xù)的路線,但是,上述方法均未考慮到機(jī)械臂運(yùn)動軌跡的復(fù)雜性與不完整性,導(dǎo)致機(jī)械臂在作業(yè)時易出現(xiàn)運(yùn)行精度較低,作業(yè)效率低下等問題。
本文通過機(jī)械臂正逆運(yùn)動學(xué)分析,采用復(fù)雜軌跡分段式軌跡規(guī)劃設(shè)計(jì)方案,解決了機(jī)械臂運(yùn)行軌跡復(fù)雜多變且不確定的問題。在抓取起始段,為了達(dá)到運(yùn)行軌跡快速、便捷等設(shè)計(jì)目標(biāo),通過對比三次、五次與七次多項(xiàng)式插值算法的位移、速度、時間等設(shè)計(jì)參數(shù),最終采用五次多項(xiàng)式插值算法設(shè)計(jì)此階段;在抓取過渡段,為了減少運(yùn)行過程中震蕩、沖擊對機(jī)械臂整體性能的影響,通過對比梯型速度算法與S型速度算法的位移、時間、加速度等設(shè)計(jì)參數(shù),最終采用S型速度算法設(shè)計(jì)此階段;在最終抓取段,為了達(dá)到準(zhǔn)確、平穩(wěn)等設(shè)計(jì)目標(biāo),采用NURBS曲線擬合算法設(shè)計(jì)此階段。仿真結(jié)果表明,分段式機(jī)械臂運(yùn)行軌跡準(zhǔn)確、光滑且無突變;進(jìn)一步仿真實(shí)驗(yàn)證明了該分段式軌跡規(guī)劃設(shè)計(jì)方案的正確性與靈活性。
選擇合適的軌跡規(guī)劃設(shè)計(jì)方案能夠有效地提高機(jī)械臂的工作效率。將機(jī)械臂的運(yùn)動軌跡分為抓取起始段、抓取過渡段及最終抓取段3個階段,如圖1所示。其中抓取起始段是指:起始點(diǎn)(A)-靠近點(diǎn)(B),抓取過渡段是指靠近點(diǎn)(B)-接觸點(diǎn)(C),最終抓取段是指接觸點(diǎn)(C)-抓取點(diǎn)(D)。
抓取起始段如圖1(a)所示。抓取起始段中的起始點(diǎn)(A)為機(jī)器人在進(jìn)行作業(yè)時,機(jī)械臂開始運(yùn)動的位置,靠近點(diǎn)(B)為機(jī)械臂靠近目標(biāo)物體的位置。為達(dá)到簡單、快捷并且方便確定軌跡邊界狀態(tài)等設(shè)計(jì)要求,此階段采用關(guān)節(jié)空間五次多項(xiàng)式插值軌跡規(guī)劃算法進(jìn)行設(shè)計(jì)。
抓取過渡段如圖1(b)所示。過渡段中的接觸點(diǎn)(C)為機(jī)械臂受到目標(biāo)遮擋物影響的位置。為達(dá)到緩解機(jī)械臂起停運(yùn)動對整個系統(tǒng)造成沖擊和震蕩的設(shè)計(jì)要求,此階段采用笛卡爾空間S型速度算法進(jìn)行設(shè)計(jì)。
最終抓取段如圖1(c)所示。抓取段中的抓取點(diǎn)(D)為機(jī)械臂抓取目標(biāo)物體的位置。為達(dá)到抓取準(zhǔn)確度高,平穩(wěn)性強(qiáng)等設(shè)計(jì)目標(biāo),此階段采用笛卡爾空間NURBS曲線擬合軌跡規(guī)劃算法。
(a) 抓取起始段
抓取起始段需要機(jī)械臂滿足運(yùn)行快速、便捷且方便確定軌跡邊界狀態(tài)等目標(biāo),目前多采用三次多項(xiàng)式、五次多項(xiàng)式、七次多項(xiàng)式插值等算法進(jìn)行軌跡規(guī)劃設(shè)計(jì)。此階段將對比三次、五次與七次多項(xiàng)式插值算法的規(guī)劃方法。
三次多項(xiàng)式中關(guān)節(jié)角度滿足[16]:
(1)
五次多項(xiàng)式中關(guān)節(jié)角度滿足[17]:
(2)
七次多項(xiàng)式中關(guān)節(jié)角度滿足:
(3)
抓取過渡段需要達(dá)到降低震蕩與沖擊對整體性能影響的要求,目前多采用梯型速度算法與S型速度算法進(jìn)行軌跡規(guī)劃設(shè)計(jì)。此階段將對比梯型與S型速度算法的規(guī)劃方法。
依據(jù)上述條件可得出梯型速度曲線的速度表達(dá)式為[18]
(4)
S型速度算法是在梯型速度算法的基礎(chǔ)上,增加了急動度的約束條件。其曲線可以分為加加速、勻加速、勻速、勻減速,減減速等5個階段。同理,S型速度曲線的速度表達(dá)式為[19]
v(t)=
(5)
最終抓取段需要機(jī)械臂在作業(yè)時達(dá)到抓取準(zhǔn)確度高,平穩(wěn)性強(qiáng)等設(shè)計(jì)要求,目前多采用NURBS曲線擬合軌跡規(guī)劃算法進(jìn)行設(shè)計(jì)。根據(jù)NURBS曲線的定義,NURBS樣條曲線可以表示為[20]
(6)
式中,Ni,k(u)為由節(jié)點(diǎn)矢量U定義的k次B樣條曲線基函數(shù)。最終,可以得到關(guān)節(jié)角位移、角速度、角加速度算式:
(7)
為了驗(yàn)證此設(shè)計(jì)方案對機(jī)械臂運(yùn)行過程中平穩(wěn)度、運(yùn)行速度以及工作效率和經(jīng)濟(jì)性的影響,在Matlab環(huán)境下對三次、五次與七次多項(xiàng)式插值算法進(jìn)行仿真對比。參數(shù)設(shè)計(jì)如表1所示。表1中:θ0為起始關(guān)節(jié)角位移,θf為終止關(guān)節(jié)角位移,t0為起始時間,tf為終止時間,v0為起始速度,vf為終止速度,a0為起始加速度,af為終止加速度,j0為起始急動度,jf為終止急動度。
表 1 多項(xiàng)插值仿真參數(shù)
圖2為三次多項(xiàng)式與五次多項(xiàng)式軌跡對比圖。其中圖2(a)對應(yīng)于表1中三次、五次多項(xiàng)式(Ⅰ),圖2(b)對應(yīng)于三次、五次多項(xiàng)式(Ⅱ)。如圖2所示:三次多項(xiàng)式插值算法能夠保證關(guān)節(jié)角位移以及角速度曲線的光滑連續(xù),但是角加速度曲線呈線性變化,達(dá)不到加速度的邊界條件;五次多項(xiàng)式插值算法可以滿足關(guān)節(jié)角位移,角速度以及角加速度曲線光滑且連續(xù)。
(a) 三次多項(xiàng)式(Ⅰ)與五次多項(xiàng)式(Ⅰ)
圖3為五次多項(xiàng)式(Ⅰ)與七次多項(xiàng)式軌跡對比圖。如圖3所示,七次多項(xiàng)式插值算法較五次多項(xiàng)式插值算法增加了急動度的約束條件,其關(guān)節(jié)角位移、關(guān)節(jié)速度、關(guān)節(jié)加速度的平滑度有所提高,但增加了計(jì)算難度,降低了機(jī)械臂的運(yùn)行效率,因而實(shí)際應(yīng)用價值較低,成本較高。
(a) 五次多項(xiàng)式(Ⅰ)
比較三次、五次多項(xiàng)式插值算法,七次多項(xiàng)式插值算法計(jì)算復(fù)雜,效率低下。因此,在上述算法設(shè)計(jì)的基礎(chǔ)上,后續(xù)工作將側(cè)重于對三次、五次多項(xiàng)式插值算法的深入分析。今增設(shè)到5個抓取點(diǎn)進(jìn)行研究,參數(shù)設(shè)置如表2所示。表2中:θ1、t1、v1分別為第一抓取點(diǎn)的關(guān)節(jié)角位移、時間與速度;θ2、t2、v2分別為第2抓取點(diǎn)的關(guān)節(jié)角位移,時間與速度;θ3、t3、v3分別為第3抓取點(diǎn)的關(guān)節(jié)角位移、時間與速度;θ4、t4、v4分別為第4抓取點(diǎn)的關(guān)節(jié)角位移、時間與速度;θ5、t5、v5分別為第5抓取點(diǎn)的關(guān)節(jié)角位移、時間與速度。
表 2 多點(diǎn)三次多項(xiàng)式插值與五次多項(xiàng)插值仿真參數(shù)
圖4為多點(diǎn)三次多項(xiàng)式與五次多項(xiàng)式軌跡對比。
圖 4 多點(diǎn)三次多項(xiàng)式與五次多項(xiàng)式軌跡對比
如圖4所示,多點(diǎn)軌跡規(guī)劃更能直觀地看出此設(shè)計(jì)的優(yōu)點(diǎn):五次多項(xiàng)式較三次多項(xiàng)式插值算法中曲線的關(guān)節(jié)角位移、關(guān)節(jié)速度的平滑度有顯著提高。三次多項(xiàng)式不能夠保證各個點(diǎn)處的速度曲線平滑過渡,因此不能夠保證加速度連續(xù)光滑。五次多項(xiàng)式插值算法能夠解決機(jī)械臂關(guān)節(jié)加速度不連續(xù)的缺點(diǎn),保證了機(jī)械臂在每個插值點(diǎn)工作時,能夠穩(wěn)定安全地運(yùn)行,減少運(yùn)行沖擊對機(jī)械臂帶來的損害,并且此算法計(jì)算相對簡單。在此仿真實(shí)驗(yàn)所設(shè)定的參數(shù)條件下,速度最大能夠提升14.2%。對比三次、五次與七次多項(xiàng)式插值算法,其中五次多項(xiàng)式插值算法更適用于本設(shè)計(jì)方案,故抓取起始段采取五次多項(xiàng)式插值算法進(jìn)行軌跡規(guī)劃設(shè)計(jì)。
為了驗(yàn)證設(shè)計(jì)方案的有效性,將梯型速度與S型速度算法進(jìn)行對比分析。在Matlab環(huán)境下對梯型速度算法和S型速度算法行仿真對比。梯型速度算法參數(shù)與S型速度算法參數(shù)設(shè)計(jì)如表3所示,表3中amax為最大加速度。圖5為梯型速度軌跡圖,圖6為S型速度軌跡圖。
圖 5 梯型速度軌跡
圖 6 S型速度軌跡
如圖5所示,梯型速度算法曲線過渡不夠平滑,加速度呈現(xiàn)階躍式突變,容易對機(jī)械臂的穩(wěn)定性造成影響,引起震蕩。雖然梯型速度算法相比于其他算法易于實(shí)現(xiàn)、控制設(shè)計(jì)方案相對簡單,但是速度曲線不平滑,加速度也存在突變,會對機(jī)械臂的運(yùn)行造成沖擊,僅適用于低成本、低精度的運(yùn)動控制過程。
如圖6所示,S 型速度算法能夠保證機(jī)械臂在加減速過程中平滑過渡,減少加減速度變化對機(jī)械臂的控制系統(tǒng)造成沖擊。該算法解決了梯型速度算法中速度過渡不平滑,加速度容易產(chǎn)生突變等缺點(diǎn),適用于高精度的運(yùn)動系統(tǒng)。在此仿真實(shí)驗(yàn)所設(shè)定的參數(shù)條件下,最大速度能夠提升5%。因此,抓取過渡段采用S型速度算法進(jìn)行軌跡規(guī)劃設(shè)計(jì)。
為了驗(yàn)證本設(shè)計(jì)方案的準(zhǔn)確性,最終抓取段采用NURBS曲線擬合算法進(jìn)行軌跡規(guī)劃。在Matlab環(huán)境下對NURBS曲線擬合軌跡規(guī)劃算法進(jìn)行驗(yàn)證,結(jié)果如圖7所示。圖7中,黑圓點(diǎn)為通過NURBS反算推導(dǎo)出的控制頂點(diǎn),虛線表示各控制頂點(diǎn)確定的控制曲線,實(shí)線表示通過NURBS擬合后的機(jī)械臂期望作業(yè)軌跡。
在2D平面內(nèi)任取4個抓取點(diǎn),分別為(100,200),(250,300),(400,100),(356,200),機(jī)械臂作業(yè)軌跡如圖7(a)所示。
(a) 2D NURBS擬合曲線
為了更好地展示此算法的優(yōu)勢,在3D空間內(nèi)任取4個抓取點(diǎn),分別為(100,200,200),(250,300,600),(400,100,300),(356,200,148),機(jī)械臂作業(yè)軌跡如圖7(b)所示。
機(jī)械臂在復(fù)雜軌跡作業(yè)過程中,會有多個控制點(diǎn);為驗(yàn)證該算法的可行性,故設(shè)計(jì)多個抓取點(diǎn)。在3D空間內(nèi)任取7個抓取點(diǎn),分別為(100,200,200),(250,300,600),(400,100,300),(356,200,148),(400,250,153),(300,320,40),(250,260,-148),機(jī)械臂作業(yè)軌跡如圖7(c)所示。
NURBS曲線擬合過程中,通過調(diào)整各抓取點(diǎn)的權(quán)重值調(diào)整機(jī)械臂運(yùn)行軌跡的走向;在實(shí)際作業(yè)過程中,可通過自適應(yīng)調(diào)節(jié)各抓取點(diǎn)的權(quán)重值,以實(shí)現(xiàn)局部軌跡的調(diào)整。通過圖7可以看出,擬合后的作業(yè)軌跡光滑無突變,且為最優(yōu)軌跡路線,適用于高精度、高穩(wěn)定性、高準(zhǔn)確度的軌跡規(guī)劃。此算法控制目標(biāo)明確,能夠滿足此階段機(jī)械臂的工作要求,因此,最終抓取段采用NURBS曲線擬合算法設(shè)計(jì)。
采用分段式軌跡規(guī)劃設(shè)計(jì)方案,實(shí)現(xiàn)了機(jī)械臂在復(fù)雜多變軌跡中的軌跡規(guī)劃任務(wù)。針對設(shè)計(jì)方案所提出的抓取起始段、抓取過渡段及最終抓取段,分別采用五次多項(xiàng)式插值算法、S型速度算法、NURBS曲線擬合算法進(jìn)行規(guī)劃設(shè)計(jì)。通過實(shí)驗(yàn)仿真,證明了該設(shè)計(jì)方案具有便捷、可靠,通用性較強(qiáng)等特點(diǎn),并且可以滿足機(jī)械臂在不同的復(fù)雜作業(yè)現(xiàn)場,快速、準(zhǔn)確地完成抓取任務(wù),為后期的研究奠定了理論基礎(chǔ)。本研究的后期工作是將該設(shè)計(jì)方案應(yīng)用在機(jī)械臂的開發(fā)平臺上,采用C++語言編程,實(shí)現(xiàn)本設(shè)計(jì)方案。