王林,陳子聰
一種工業(yè)機(jī)器人的多點(diǎn)PTP運(yùn)動(dòng)
王林1,陳子聰2
(1.國(guó)工信(滄州)機(jī)器人有限公司,河北 滄州 061001;2.廣東工業(yè)大學(xué),廣東 廣州 510006)
點(diǎn)到點(diǎn)運(yùn)動(dòng)(PTP)具有計(jì)算簡(jiǎn)單、可靠性高等特點(diǎn),其在工業(yè)機(jī)器人的插補(bǔ)運(yùn)動(dòng)中被廣泛應(yīng)用。然而,如果運(yùn)動(dòng)路徑上存在障礙物,傳統(tǒng)的PTP運(yùn)動(dòng)需要機(jī)器人多次執(zhí)行PTP功能從而避開障礙物,不可避免會(huì)帶來多次運(yùn)動(dòng)啟停問題,而且運(yùn)動(dòng)指令煩瑣,不利于項(xiàng)目管理。針對(duì)上述問題,提供了一種改進(jìn)的多點(diǎn)PTP運(yùn)動(dòng),在關(guān)節(jié)空間進(jìn)行樣條曲線插補(bǔ),機(jī)器人可以完成一項(xiàng)加工后,繞過障礙物前往下一處加工點(diǎn),中途不停頓。研究結(jié)果表明,所提出的改進(jìn)的多點(diǎn)間PTP運(yùn)動(dòng)相較于傳統(tǒng)的PTP運(yùn)動(dòng)能夠更有效完成避障任務(wù),無需停頓,減少運(yùn)動(dòng)所需時(shí)間,可以有效提高機(jī)器人的性能。
PTP運(yùn)動(dòng);曲線插補(bǔ);機(jī)器人;三次B樣條曲線
在“智能制造2025”等政策背景下,制造業(yè)的轉(zhuǎn)型升級(jí)正在如火如荼進(jìn)行,在這個(gè)過程中,工業(yè)機(jī)器人扮演著一個(gè)極為重要的角色。由于機(jī)器人在惡劣的工作環(huán)境下?lián)碛懈咧貜?fù)精度等顯著的優(yōu)點(diǎn),隨著其技術(shù)不斷的發(fā)展,工業(yè)機(jī)器人被廣泛應(yīng)用于搬運(yùn)、碼垛、焊接、上下料等場(chǎng)合中[1-5]。當(dāng)工業(yè)機(jī)器人為了完成某種工序而需要根據(jù)規(guī)劃好的直線或者曲線運(yùn)動(dòng)時(shí),插補(bǔ)功能則是不可或缺的。
插補(bǔ)功能可分為直線插補(bǔ)和曲線插補(bǔ)兩種。直線插補(bǔ)指兩點(diǎn)間的插補(bǔ)沿著直線的點(diǎn)群逼近,沿此直線控制工具的運(yùn)動(dòng)。直線插補(bǔ)一般用于實(shí)際輪廓是直線的場(chǎng)合[6-13]。曲線插補(bǔ)中常見的是圓弧插補(bǔ),根據(jù)三點(diǎn)確定圓心,計(jì)算出逼近實(shí)際圓弧的點(diǎn)群,控制刀具沿這些點(diǎn)運(yùn)動(dòng),加工出圓弧曲線。曲線插補(bǔ)還可以是樣條插補(bǔ),如B樣條、非均勻有理B樣條、CR樣條等。由于存在旋轉(zhuǎn)關(guān)節(jié),工業(yè)機(jī)器人有笛卡爾空間與關(guān)節(jié)空間兩種不同的空間。這兩種空間中的點(diǎn)分別作為插補(bǔ)的對(duì)象,又可以分為連續(xù)軌跡運(yùn)動(dòng)(CP)與點(diǎn)到點(diǎn)運(yùn)動(dòng)(PTP)[14-17]。
PTP運(yùn)動(dòng)計(jì)算簡(jiǎn)單、可靠,計(jì)算量小,無需考慮逆解的多解情況和奇異點(diǎn)帶來的安全問題,各關(guān)節(jié)各自從起始角度運(yùn)動(dòng)到目標(biāo)角度即可,運(yùn)行效率較CP運(yùn)動(dòng)高。PTP運(yùn)動(dòng)不在笛卡爾空間中而在關(guān)節(jié)空間規(guī)劃,在關(guān)節(jié)空間中的直線映射到笛卡爾空間中是一道不規(guī)則的弧線,因此機(jī)器人工具在工件上無法精確地走出一條直線或者圓弧,無法滿足加工精度要求。這是PTP運(yùn)動(dòng)節(jié)省計(jì)算量帶來的固有缺點(diǎn),正因如此,PTP運(yùn)動(dòng)往往用在軌跡要求不高的場(chǎng)合[18-19]。
在實(shí)際的工業(yè)場(chǎng)景中,工業(yè)機(jī)器人在完成一項(xiàng)加工后,需要前往下一處加工點(diǎn)進(jìn)行下一輪的加工,在這個(gè)前往過程中,機(jī)器人工具是懸空的,對(duì)運(yùn)動(dòng)軌跡要求較低,此時(shí)往往會(huì)使用PTP運(yùn)動(dòng)。由于傳統(tǒng)PTP運(yùn)動(dòng)在關(guān)節(jié)空間中做直線插補(bǔ),如要躲避障礙物,則需多次調(diào)用PTP運(yùn)動(dòng),在關(guān)節(jié)空間產(chǎn)生一個(gè)折線。為了避免沖擊,轉(zhuǎn)折點(diǎn)處必須減速到0,帶來多次運(yùn)動(dòng)啟停問題,運(yùn)動(dòng)耗時(shí)長(zhǎng)。多次調(diào)用PTP運(yùn)動(dòng),在命令中顯得煩瑣,不利于管理。本文針對(duì)上述問題,提出了一種改進(jìn)的多點(diǎn)間PTP運(yùn)動(dòng),在關(guān)節(jié)空間進(jìn)行樣條曲線插補(bǔ),機(jī)器人可以在完成一項(xiàng)加工后,繞過障礙物前往下一處加工點(diǎn),中途不停頓。在關(guān)節(jié)空間產(chǎn)生一個(gè)圓滑的曲線,達(dá)到避障目的的同時(shí),可以有效避免多次加減速,降低運(yùn)行時(shí)間,簡(jiǎn)化程序,大大提高了機(jī)器人的性能。
以下步驟組成一個(gè)帶速度控制的B樣條插補(bǔ),其維度、插補(bǔ)對(duì)象可根據(jù)實(shí)際應(yīng)用來調(diào)整。若插補(bǔ)對(duì)象為關(guān)節(jié)空間的關(guān)節(jié)角度,則為多點(diǎn)PTP運(yùn)動(dòng)。
本文采用的是三次B樣條曲線生成曲線軌跡。三次B樣條曲線插補(bǔ)需要用戶提供至少兩個(gè)控制點(diǎn),程序在首尾自動(dòng)各加一個(gè)控制點(diǎn),每四個(gè)控制點(diǎn)之間會(huì)進(jìn)行如下循環(huán)。
B樣條的一般曲線方程為:
式(1)中:i為控制曲線的控制點(diǎn);i,k()為次B樣條基函數(shù)。
權(quán)重i,k()定義為:
本文采用的是三次B樣條曲線,進(jìn)一步可得:
將式(3)~(6)代入式(1),可得三次B樣條曲線方程為:
()=00,3()+11,3()+22,3()+33,3() (7)
式(7)中:0,1,2,3為控制點(diǎn);為在[0,1]之間產(chǎn)生+1個(gè)等間距的數(shù)值。權(quán)重隨變化,可根據(jù)式(7)得到+1個(gè)曲線插補(bǔ)點(diǎn)。
多次循環(huán)后,所有的插補(bǔ)點(diǎn)組成一系列折線。
當(dāng)足夠大時(shí),所有樣條插值點(diǎn)組成的折線足夠精細(xì),可以看作是樣條曲線的近似,折線的總長(zhǎng)度便可視作樣條曲線的總長(zhǎng)度。
i是其中第個(gè)小折線段的長(zhǎng)度:
根據(jù)上述數(shù)據(jù)和用戶設(shè)置的速度曲線,如梯形速度曲線,可得時(shí)刻的路程t:
根據(jù)所得的折線各段長(zhǎng)度i,讓i與i相減,直到i剩余長(zhǎng)度tt短于某一段折線段長(zhǎng)度,即可得知由起點(diǎn)出發(fā),沿著樣條曲線經(jīng)過路程i會(huì)落在其中哪兩個(gè)折線點(diǎn)之間。最后由直線插補(bǔ)公式可得:
循環(huán)步驟2.4、2.5,以插補(bǔ)周期?遞增,直至=。
空間直線插補(bǔ)運(yùn)動(dòng)是等時(shí)間間隔的,需要提前確定插補(bǔ)周期?。設(shè)計(jì)者可以根據(jù)控制器有限的計(jì)算能力和存儲(chǔ)空間,對(duì)插補(bǔ)周期進(jìn)行選擇,以充分發(fā)揮控制器的性能。以上步驟組成了帶速度控制的B樣條曲線插補(bǔ)。由于插補(bǔ)對(duì)象為關(guān)節(jié)空間的關(guān)節(jié)角度,插補(bǔ)的結(jié)果也會(huì)是關(guān)節(jié)角度。
在以下案例中,機(jī)器人完成一項(xiàng)工序后,需要轉(zhuǎn)向工件另一邊做下一道工序。為了不發(fā)生碰撞,工具需要先離開工件表面,繞過工件,最后接近工件。將本文所提出的多點(diǎn)PTP運(yùn)動(dòng)方法與傳統(tǒng)的PTP運(yùn)動(dòng)進(jìn)行了相應(yīng)的對(duì)比。仿真實(shí)驗(yàn)結(jié)果如圖1所示。
(a)傳統(tǒng)PTP運(yùn)動(dòng) (b)多點(diǎn)PTP運(yùn)動(dòng)
如圖1所示,傳統(tǒng)做法會(huì)多次使用PTP運(yùn)動(dòng),本文提供的多點(diǎn)PTP只需要一次運(yùn)動(dòng)即可完成。其中粗線顯示設(shè)置的控制點(diǎn)。傳統(tǒng)PTP與多點(diǎn)PTP命令在機(jī)器人編程界面中的對(duì)比如圖2所示。實(shí)際使用時(shí),由于沒有實(shí)體鍵盤,操作者往往不加注釋,使命令難以閱讀與理解。為了完成同樣的運(yùn)動(dòng),多點(diǎn)PTP運(yùn)動(dòng)相比于傳統(tǒng)的PTP運(yùn)動(dòng)在編程界面中更加簡(jiǎn)潔,方便使用者通過工業(yè)現(xiàn)場(chǎng)有限的設(shè)備如觸摸屏進(jìn)行操作。多點(diǎn)PTP還可以兼容傳統(tǒng)的PTP功能,實(shí)現(xiàn)兩點(diǎn)間的運(yùn)動(dòng)。六軸機(jī)器人關(guān)節(jié)空間的運(yùn)動(dòng)軌跡如圖3所示,傳統(tǒng)PTP需要多次啟停在中間控制點(diǎn)。
圖2 傳統(tǒng)PTP與多點(diǎn)PTP命令在機(jī)器人編程界面中的對(duì)比
圖3 六軸機(jī)器人關(guān)節(jié)空間的運(yùn)動(dòng)軌跡
對(duì)于六關(guān)節(jié)機(jī)器人,其關(guān)節(jié)空間是六維空間,這里只顯示其中二維。多次進(jìn)行PTP運(yùn)動(dòng)在關(guān)節(jié)空間中走了一個(gè)折線,多點(diǎn)PTP走了一個(gè)曲線。B樣條的特點(diǎn)之一是軌跡一般不會(huì)穿過中間空間點(diǎn),會(huì)經(jīng)過首尾控制點(diǎn)。六軸機(jī)器人運(yùn)動(dòng)速度如圖4所示,多點(diǎn)PTP不需要像傳統(tǒng)PTP多次啟停。
圖4 六軸機(jī)器人運(yùn)動(dòng)速度示意圖
圖4中淺色曲線表示多次進(jìn)行傳統(tǒng)PTP運(yùn)動(dòng),深色曲線表現(xiàn)多點(diǎn)PTP??梢钥吹絺鹘y(tǒng)做法速度需要多次降為0,同時(shí)因?yàn)檎劬€路程較遠(yuǎn),總耗時(shí)較長(zhǎng)。
通過上述仿真結(jié)果可知,本文所提出的多點(diǎn)PTP運(yùn)動(dòng)相較于傳統(tǒng)的PTP運(yùn)動(dòng)具有較大優(yōu)勢(shì)。傳統(tǒng)PTP運(yùn)動(dòng)是在關(guān)節(jié)空間兩點(diǎn)間的直線插補(bǔ),為了繞開障礙物(如工件本身),可能會(huì)需要多次進(jìn)行PTP運(yùn)動(dòng),這樣在關(guān)節(jié)空間中走了一個(gè)折線,每個(gè)轉(zhuǎn)折點(diǎn)都需要減速到0。多點(diǎn)PTP在關(guān)節(jié)空間中走了一個(gè)曲線,可以不減速,易于工程管理。
針對(duì)運(yùn)動(dòng)路徑上存在障礙物,傳統(tǒng)PTP運(yùn)動(dòng)需要多次執(zhí)行PTP功能進(jìn)行避障,帶來了多次運(yùn)動(dòng)啟停問題。本文提出了一種多點(diǎn)PTP運(yùn)動(dòng),在關(guān)節(jié)空間進(jìn)行樣條曲線插補(bǔ)。通過實(shí)驗(yàn)結(jié)果可知,本文所提出的方法通過只調(diào)用一次多點(diǎn)PTP運(yùn)動(dòng),在關(guān)節(jié)空間產(chǎn)生一個(gè)圓滑的曲線,避免了機(jī)器人多次加減速,減少運(yùn)動(dòng)所需時(shí)間,降低項(xiàng)目文件上命令的煩瑣程度,從而進(jìn)一步提高機(jī)器人的性能。
[1]張文欣,余杰先,馮晶晶,等.6R機(jī)器人重復(fù)定位精度的研究及仿真[J].機(jī)電工程技術(shù),2019(5):44-47.
[2]周利平.焊接機(jī)器人的發(fā)展現(xiàn)狀與趨勢(shì)[J].山東工業(yè)技術(shù),2019(16):48.
[3]田媛.工業(yè)4.0時(shí)代下的工業(yè)機(jī)器人發(fā)展與認(rèn)識(shí)研究[J].南方農(nóng)機(jī),2019,50(10):59,88.
[4]左培良,鄧先智,周琴.工業(yè)機(jī)器人運(yùn)動(dòng)控制分析研究[J].中國(guó)設(shè)備工程,2019(10):180-182.
[5]王斐,梁宸,韓曉光,等.基于焊件識(shí)別與位姿估計(jì)的焊接機(jī)器人視覺引導(dǎo)[J].控制與決策,2019(7):6.
[6]劉江,黃可,陶永德,等.Bézier曲線在五軸直線插補(bǔ)刀路優(yōu)化中的應(yīng)用[J].組合機(jī)床與自動(dòng)化加工技術(shù),2019(4):66-70.
[7]鄭衛(wèi)軍,李彬.論提高焊接機(jī)器人焊接質(zhì)量措施[J].焊接技術(shù),2019,48(3):85-86.
[8]林建雄,白瑞林,王延玉.加速度連續(xù)有界的PTP運(yùn)動(dòng)軌跡規(guī)劃研究[J].機(jī)械科學(xué)與技術(shù),2019(7):7.
[9]舒曉春,黃小玲,祝閏紅.一種針對(duì)逐點(diǎn)比較法直線插補(bǔ)的優(yōu)化算法[J].濟(jì)寧學(xué)院學(xué)報(bào),2018,39(5):4-8.
[10]喬建芳,梁振春,陳荒,等.板料剪切加工中兩非正交軸直線插補(bǔ)算法研究[J].煤礦機(jī)械,2018,39(7):27-29.
[11]朱寧.三次樣條曲線插補(bǔ)改進(jìn)算法[J].通信電源技術(shù),2018,35(4):29-30,32.
[12]來旭輝,許燕,周建平.極平面內(nèi)任意直線插補(bǔ)算法的研究與軌跡仿真[J].機(jī)床與液壓,2018,46(2):1-5.
[13]張娜,周亮,王宗剛,等.數(shù)控加工中逐點(diǎn)比較直線插補(bǔ)新算法的研究[J].河西學(xué)院學(xué)報(bào),2017,33(5):36-40,71.
[14]張悅.工業(yè)機(jī)器人插補(bǔ)算法及標(biāo)定技術(shù)研究[D].贛州:江西理工大學(xué),2017.
[15]沈孟鋒,羊榮金,蔣水秀,等.基于FPGA的數(shù)控系統(tǒng)直線插補(bǔ)模塊化設(shè)計(jì)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2017(4):118-121.
[16]王允森,蓋榮麗,孫一蘭,等.基于牛頓迭代法的NURBS曲線插補(bǔ)算法[J].組合機(jī)床與自動(dòng)化加工技術(shù),2013(4):13-17.
[17]劉放.復(fù)雜輪廓曲線的軌跡插補(bǔ)與速度控制方法研究[D].上海:上海交通大學(xué),2009.
[18]何東.基于MSRS的6自由度串聯(lián)機(jī)器人仿真研究[D].沈陽:東北大學(xué),2008.
[19]黃時(shí)聰,王剛,郝杰成.機(jī)器人PTP控制曲線的研究與實(shí)現(xiàn)[J].機(jī)械工業(yè)自動(dòng)化,1992(3):24-28.
TP242
A
10.15913/j.cnki.kjycx.2019.16.002
2095-6835(2019)16-0004-03
〔編輯:嚴(yán)麗琴〕