孫 昱,孟祥群,郁苗成,唐厚君
(1. 上海交通大學(xué)電氣工程系,上海 200240;2. 上海方菱計(jì)算機(jī)軟件有限公司,上海 200240)
隨著人力成本的上升,機(jī)器人進(jìn)入工廠以提高工廠自動(dòng)化水平、提高生產(chǎn)力、降低生產(chǎn)成本的需求日益提高。目前,對(duì)工業(yè)機(jī)器人任務(wù)路徑規(guī)劃的研究主要集中在點(diǎn)到點(diǎn)的運(yùn)動(dòng)規(guī)劃,即在機(jī)器人的初始點(diǎn)與終點(diǎn)位姿確定的情況下,對(duì)運(yùn)動(dòng)路徑約束較少甚至無約束,在此條件下由算法自動(dòng)完成對(duì)運(yùn)動(dòng)路徑中間點(diǎn)的搜索,在該類規(guī)劃中有效配置空間大,如何從諸多可行解中選擇最優(yōu)解成為研究的重點(diǎn)。常用的點(diǎn)到點(diǎn)路徑規(guī)劃算法有A*算法[1]、 蟻群算法[2]、 遺傳因子算法[3]、 隨機(jī)樹法[4-5]等。
在切割、焊接、打磨和噴涂等六軸工業(yè)機(jī)器人的典型應(yīng)用中,需要機(jī)器人的末端執(zhí)行器始終遵循固定的幾何路徑,同時(shí)還需要在工作過程中保持一定的空間姿態(tài)。目前對(duì)此類具有過程約束的路徑規(guī)劃研究較少,文獻(xiàn)[6-7]針對(duì)經(jīng)過空間中多個(gè)路徑點(diǎn)的固定路徑規(guī)劃問題,通過設(shè)計(jì)評(píng)價(jià)路徑的目標(biāo)函數(shù),將多點(diǎn)路徑規(guī)劃問題轉(zhuǎn)化為旅行商問題利用智能優(yōu)化算法對(duì)路徑進(jìn)行求解,得到了較好的規(guī)劃效果。但所采用智能算法收斂速度慢,且規(guī)劃結(jié)果經(jīng)過路徑點(diǎn)的順序不確定,機(jī)器人在運(yùn)動(dòng)過程中不能始終滿足任務(wù)約束。文獻(xiàn)[8-10]提出了基于采樣的路徑規(guī)劃算法,在關(guān)節(jié)空間對(duì)滿足任務(wù)約束的關(guān)節(jié)配置進(jìn)行采樣,并在采樣結(jié)果的基礎(chǔ)上進(jìn)行路徑規(guī)劃,這樣能保證機(jī)器人運(yùn)動(dòng)過程中始終滿足任務(wù)約束,但缺點(diǎn)是對(duì)中間狀態(tài)的隨機(jī)采樣搜索導(dǎo)致算法不適用于末端執(zhí)行器路徑固定的情況。
在上述工業(yè)應(yīng)用場景中,機(jī)器人任務(wù)路徑通常是半約束的(如機(jī)器人進(jìn)行打磨或噴涂時(shí),末端執(zhí)行器可繞工具坐標(biāo)系Zt軸[11]進(jìn)行任意角度旋轉(zhuǎn)),此時(shí)機(jī)器人的自由度大于路徑的自由度。本文在文獻(xiàn)[8-10]等提出的采樣算法的基礎(chǔ)上,利用此類應(yīng)用場景中的半約束路徑特性,通過在笛卡爾空間對(duì)有冗余自由度的路徑點(diǎn)進(jìn)行離散采樣,避免了文獻(xiàn)[6-7]中提出的智能算法搜索維度大導(dǎo)致的收斂速度慢,耗時(shí)過長的問題,避免了文獻(xiàn)[8-10]中末端執(zhí)行器路徑不固定的問題。利用六軸工業(yè)機(jī)器人的結(jié)構(gòu)特點(diǎn),采用解析法進(jìn)行逆運(yùn)動(dòng)學(xué)求解,該方法比文獻(xiàn)[4]采用的基于牛頓-拉夫遜的逆運(yùn)動(dòng)學(xué)求解方法速度快,且求解一致性更高。最后在關(guān)節(jié)空間進(jìn)行最優(yōu)路徑搜索,解決了文獻(xiàn)[6-7]采用的智能算法收斂速度慢的問題。在保證路徑規(guī)劃效果的同時(shí),大幅減少規(guī)劃所用時(shí)間,有效解決了具有任務(wù)約束的固定路徑規(guī)劃問題。并以ABB IRB1200型號(hào)六軸工業(yè)機(jī)器人為對(duì)象進(jìn)行了仿真和實(shí)驗(yàn)測試,驗(yàn)證了方案的可行性和有效性。
針對(duì)六軸工業(yè)機(jī)器人典型應(yīng)用場景中機(jī)器人自由度大于滿足任務(wù)約束的運(yùn)動(dòng)路徑自由度的特點(diǎn),本文提出基于采樣的路徑規(guī)劃算法,具體實(shí)現(xiàn)和評(píng)估如下。
算法實(shí)現(xiàn)分為以下4個(gè)階段:
(1)生成笛卡爾空間半約束路徑
根據(jù)需要執(zhí)行的任務(wù),我們可以得到機(jī)器人在工作空間(笛卡爾空間)中運(yùn)動(dòng)路徑的描述。與傳統(tǒng)人工示教方式不同,本文采取編程的方式精確產(chǎn)生笛卡爾空間路徑曲線的參數(shù)描述,并對(duì)曲線進(jìn)行等間隔插值獲得一組插值點(diǎn)。路徑的參數(shù)描述是一個(gè)六維函數(shù),路徑上每個(gè)插值點(diǎn)都是一個(gè)六維向量,用以指示工具的位置和方向,見式(1):
p=[x,y,z,Rx,Ry,Rz]T
(1)
式中,x、y、z代表工具的位置,Rx、Ry、Rz代表工具的方向。這種基于多個(gè)中間點(diǎn)表示的路徑根據(jù)任務(wù)約束的不同可分為如下兩類[12]。
1)插值路徑:路徑曲線與定點(diǎn)相交,如圖1a中的黑點(diǎn)所示。
2)近似值路徑:路徑曲線可在指定允差范圍(一定的位置誤差或方向誤差)內(nèi)不精確地通過這些點(diǎn),如圖1b所示。

(a) 插值路徑 (b) 近似值路徑圖1 經(jīng)過一組空間點(diǎn)的路徑曲線
在切割、焊接和噴涂等典型六軸工業(yè)機(jī)器人應(yīng)用場景中,機(jī)器人末端執(zhí)行器工作過程中所要遵循的路徑通常是第二種,例如機(jī)器人在進(jìn)行切割或噴涂作業(yè)時(shí),末端執(zhí)行器繞工具坐標(biāo)系Zt軸[11]的旋轉(zhuǎn)角度可取任意值。此時(shí)機(jī)器人的自由度(6DOF)大于路徑的自由度(5DOF)。故稱此類有冗余自由度的路徑為半約束路徑,對(duì)路徑插值點(diǎn)設(shè)置滿足任務(wù)約束的允差,獲得的笛卡爾空間半約束路徑點(diǎn)可表示為式(2):
p=[x,y,z,Rx,Ry,Rz,xtol,ytol,ztol,Rxtol,Rytol,Rztol]T
(2)
式中,xtol,ytol,ztol代表工具的位置允差,Rxtol,Rytol,Rztol代表工具的方向允差。
(2)根據(jù)約束條件進(jìn)行離散采樣
在獲得有冗余自由度的笛卡爾空間半約束路徑后。根據(jù)每個(gè)路徑點(diǎn)的約束條件,在允差范圍內(nèi)進(jìn)行等間隔均勻離散采樣。每個(gè)有一定允差的半約束路徑點(diǎn),采樣結(jié)果對(duì)應(yīng)一組六維笛卡爾空間點(diǎn)(位置,方向確定)。如圖2上半部分所示。

圖2 基于采樣的路徑規(guī)劃算法示意圖
(3)對(duì)采樣結(jié)果進(jìn)行逆運(yùn)動(dòng)學(xué)求解
根據(jù)所有笛卡爾空間路徑點(diǎn)的采樣結(jié)果對(duì)六軸工業(yè)機(jī)器人進(jìn)行逆運(yùn)動(dòng)學(xué)求解,并對(duì)所獲得逆運(yùn)動(dòng)學(xué)解進(jìn)行約束檢測,去除與障礙物發(fā)生碰撞或超出機(jī)器人關(guān)節(jié)運(yùn)動(dòng)范圍的解。每個(gè)逆運(yùn)動(dòng)學(xué)解對(duì)應(yīng)一個(gè)機(jī)器人關(guān)節(jié)空間六維向量,向量值代表六軸機(jī)器人每個(gè)對(duì)應(yīng)關(guān)節(jié)的角度。
(4)在關(guān)節(jié)空間搜索最優(yōu)路徑
獲得每個(gè)笛卡爾空間路徑點(diǎn)對(duì)應(yīng)的所有合法關(guān)節(jié)空間路徑點(diǎn)后,在關(guān)節(jié)空間構(gòu)建路徑搜索圖G=(V,E),如圖2下半部分所示。其中V為關(guān)節(jié)空間路徑點(diǎn)集,對(duì)應(yīng)逆運(yùn)動(dòng)學(xué)求解得到的機(jī)器人位形;邊集E中的元素則表示路徑點(diǎn)之間的連線,對(duì)應(yīng)于機(jī)器人位形之間滿足動(dòng)態(tài)約束(速度,加速度約束)的局部可行路徑。生成搜索圖的算法見表1。

表1 算法1

續(xù)表
為在關(guān)節(jié)空間獲得一條連續(xù)平滑的最優(yōu)路徑,需要機(jī)器人在運(yùn)動(dòng)過程中關(guān)節(jié)位移量最小且盡量避免機(jī)器人進(jìn)入奇異位形。故將搜索圖中各邊的長度設(shè)置為兩個(gè)機(jī)器人位形之間每個(gè)關(guān)節(jié)角度變化的絕對(duì)值之和,以代表機(jī)器人從一關(guān)節(jié)點(diǎn)運(yùn)動(dòng)到另一關(guān)節(jié)點(diǎn)時(shí)動(dòng)作幅度的大小。假設(shè)posem,posen∈V,距離函數(shù)可以表示為:
(3)


表2 算法2

續(xù)表
上述路徑搜索算法時(shí)間復(fù)雜度為O(V+E),優(yōu)于常見的Dijkstra,O(ElogV)和Bellman-Ford,O(VE)最短路徑搜索算法,在搜索圖較大時(shí)可以獲得更好的表現(xiàn)。
1.2.1 完備性
為充分利用工業(yè)機(jī)器人在執(zhí)行半約束路徑任務(wù)時(shí)的冗余自由度,提出基于采樣的路徑規(guī)劃。這種基于采樣的路徑規(guī)劃是概率完備的,如果在指定任務(wù)約束下有路徑解存在,只要采樣密度足夠大,就一定能確保找到一條路徑解;采樣密度及逆運(yùn)動(dòng)學(xué)求解的效率很大程度上決定了路徑規(guī)劃能否成功以及所花費(fèi)的時(shí)間。目前對(duì)機(jī)器人進(jìn)行逆運(yùn)動(dòng)學(xué)求解的方法可分為兩類,數(shù)值法和解析法。數(shù)值法中比較常用的是牛頓-拉夫遜迭代法。數(shù)值方法的優(yōu)點(diǎn)是通用性高,適用于所有串聯(lián)機(jī)械臂。但是,求解速度較慢(約1 ms)[13]且不保證會(huì)收斂。同時(shí)數(shù)值解法不能應(yīng)對(duì)由關(guān)節(jié)空間限制產(chǎn)生的非平滑搜索空間,而且每次求解只返回一個(gè)解決方案。為了求得各種可能的姿勢(shì)對(duì)應(yīng)的逆運(yùn)動(dòng)學(xué)解,必須使用不同的初始條件多次求解。而解析法是特定的代數(shù)方程,不需要迭代求解,速度較快(約6 μs)[13],可以一次求得所有逆解,且保證每次求解的一致性。但是解析法通常通用性較差,需要根據(jù)機(jī)器人的結(jié)構(gòu)來判斷,是否有解析解。研究表明,如果滿足以下兩個(gè)條件中的任何一個(gè),那么串聯(lián)機(jī)械手逆運(yùn)動(dòng)學(xué)就可以以解析法求解[14]。
① 3個(gè)相鄰的關(guān)節(jié)軸在一個(gè)點(diǎn)上相交;
② 3個(gè)相鄰的關(guān)節(jié)軸是平行的(在技術(shù)上這是一個(gè)特殊情況,因?yàn)槠叫芯€在無窮遠(yuǎn)處相交)。
目前在工業(yè)中使用的六自由度串聯(lián)機(jī)器人中的大多數(shù)都滿足上述條件之一。例如,本文仿真及實(shí)驗(yàn)部分所使用的ABB IRB1200型號(hào)工業(yè)機(jī)器人就滿足條件①,對(duì)應(yīng)的幾何模型及示意圖如圖3所示。

(a) 幾何模型 (b) 構(gòu)型示意圖圖3 ABB IRB1200型號(hào)工業(yè)機(jī)器人
可以看出,ABB IRB1200機(jī)器人的最后3個(gè)關(guān)節(jié)軸交于一點(diǎn)。這意味著機(jī)器人末端執(zhí)行器在空間中的位置與方向分量可以解耦求解,由前3個(gè)關(guān)節(jié)軸確定末端執(zhí)行器的位置,后3個(gè)關(guān)節(jié)軸確定末端執(zhí)行器的方向,使得要求解的最復(fù)雜的多項(xiàng)式是二次多項(xiàng)式,大大簡化了逆運(yùn)動(dòng)學(xué)求解難度。本文實(shí)驗(yàn)部分比較了不同的采樣密度及不同逆運(yùn)動(dòng)學(xué)求解方法對(duì)基于采樣的路徑規(guī)劃結(jié)果及成功率的影響。
1.2.2 最優(yōu)性
在關(guān)節(jié)空間通過使用基于動(dòng)態(tài)規(guī)劃的最短路徑搜索算法,能保證在搜索圖中有解的情況下得到對(duì)應(yīng)采樣密度下滿足機(jī)器人任務(wù)約束條件的一條關(guān)節(jié)位移量最小的最優(yōu)路徑。并且可以通過對(duì)路徑點(diǎn)之間的距離函數(shù)進(jìn)行改寫,如增加與目標(biāo)位姿的距離或工作過程中與位姿有關(guān)的損耗,使得最優(yōu)性評(píng)價(jià)更加滿足實(shí)際應(yīng)用場景。
本文基于機(jī)器人操作系統(tǒng)(Robot Operating System)[15],利用其提供的開發(fā)環(huán)境和rqt-plot(數(shù)據(jù)可視化),RViz(三維可視化)等軟件工具,完成了工業(yè)機(jī)器人控制軟件的原型開發(fā),以ABB IRB1200型機(jī)器人為控制對(duì)象。對(duì)半約束路徑規(guī)劃算法的可行性進(jìn)行了評(píng)估和驗(yàn)證。仿真及實(shí)驗(yàn)平臺(tái)系統(tǒng)框圖如圖4所示。

圖4 仿真及實(shí)驗(yàn)平臺(tái)系統(tǒng)框圖
為了測試半約束路徑規(guī)劃算法在實(shí)際工業(yè)機(jī)器人應(yīng)用中的可行性,以及各種采樣參數(shù)與逆運(yùn)動(dòng)學(xué)求解方法對(duì)路徑規(guī)劃效果的影響。本文設(shè)計(jì)了兩種典型六軸工業(yè)機(jī)器人任務(wù)約束場景進(jìn)行仿真及實(shí)驗(yàn)。
(1)約束Ⅰ:空間圓路徑(噴涂空間圈)
一些工業(yè)機(jī)器人典型應(yīng)用場景的任務(wù)約束是需要機(jī)器人在末端執(zhí)行器指向保持固定的條件下經(jīng)過連續(xù)的路徑。例如,在噴涂機(jī)器人進(jìn)行噴漆作業(yè)時(shí),需要保持末端執(zhí)行器方向與作業(yè)面垂直。任務(wù)約束Ⅰ假設(shè)噴涂機(jī)器人在進(jìn)行空間圓軌跡的噴涂作業(yè),作業(yè)過程中保持末端執(zhí)行器方向與水平面垂直,即末端執(zhí)行器的俯仰角與橫滾角均為0(相對(duì)于絕對(duì)坐標(biāo)系)。在三維空間中運(yùn)動(dòng)路徑確定,俯仰、偏航自由度也被限制的情況下,工作路徑的自由度為1, 機(jī)器人可以繞工具坐標(biāo)系Zt軸進(jìn)行任意角度的旋轉(zhuǎn),如圖5所示。

(a) 起始位姿 (b) 運(yùn)動(dòng)過程中位姿
(2)約束Ⅱ:空間直線路徑(切割H型鋼)
在一些工業(yè)機(jī)器人應(yīng)用場景中,機(jī)器人末端執(zhí)行器的方向與被加工工件表面之間的夾角可以在允許范圍內(nèi)變化。例如在對(duì)鋼材進(jìn)行激光/等離子切割時(shí),機(jī)器人在切割路徑上可以繞工具Xt軸[11](與末端執(zhí)行器運(yùn)動(dòng)平面垂直的軸),進(jìn)行一定角度的旋轉(zhuǎn)。任務(wù)約束Ⅱ假設(shè)切割機(jī)器人在進(jìn)行多段空間直線軌跡組成的H型鋼切割作業(yè),如圖6所示。

(a) 起始位姿 (b) 運(yùn)動(dòng)過程中位姿
為驗(yàn)證基于采樣的半約束路徑規(guī)劃算法的性能并與傳統(tǒng)的路徑規(guī)劃算法做比較,針對(duì)上述每種任務(wù)約束,以規(guī)劃成功率、計(jì)算時(shí)間、路徑花費(fèi)為指標(biāo),在不同笛卡爾空間路徑點(diǎn)數(shù)量,不同采樣密度,不同逆運(yùn)動(dòng)學(xué)求解方式的條件下進(jìn)行仿真測試,所使用的計(jì)算機(jī)配置為Intel i5-7300HQ CPU(2.5 GHz)和6 GB RAM。
實(shí)驗(yàn)測試環(huán)境,如圖7所示。利用硬件通訊接口通過套接字實(shí)現(xiàn)上位機(jī)與ABB IRC 5機(jī)器人控制器相互通訊,并將路徑規(guī)劃得到的機(jī)器人關(guān)節(jié)路徑傳輸?shù)竭\(yùn)動(dòng)控制器,由運(yùn)動(dòng)控制器驅(qū)動(dòng)ABB IRB1200機(jī)器人執(zhí)行相應(yīng)任務(wù)。

(a) 任務(wù)約束Ⅰ對(duì)應(yīng)位姿 (b) 任務(wù)約束Ⅱ?qū)?yīng)位姿
2.3.1 仿真計(jì)算
仿真實(shí)驗(yàn)結(jié)果見下表,表3、表5、表7對(duì)應(yīng)任務(wù)約束Ⅰ,表4、表6對(duì)應(yīng)任務(wù)約束Ⅱ。每個(gè)表的第二列表示路徑規(guī)劃算法在關(guān)節(jié)空間搜索圖的大小:“笛卡爾空間路徑點(diǎn)的數(shù)量/在每個(gè)笛卡爾路徑點(diǎn)的采樣數(shù)量”,采樣點(diǎn)數(shù)量為1代表不利用任務(wù)路徑的冗余自由度進(jìn)行采樣的常規(guī)算法。每個(gè)表的第二行表示路徑規(guī)劃算法所采用的逆運(yùn)動(dòng)學(xué)求解方法。

表3 任務(wù)約束Ⅰ條件下,不同參數(shù)配置對(duì)軌跡規(guī)劃成功率的影響

表4 任務(wù)約束Ⅱ條件下,不同參數(shù)配置對(duì)軌跡規(guī)劃成功率的影響
從表3、表4可以看出,對(duì)于路徑規(guī)劃成功率這項(xiàng)性能指標(biāo),在使用數(shù)值法進(jìn)行逆運(yùn)動(dòng)學(xué)求解的情況下,當(dāng)采樣數(shù)量較少時(shí)路徑規(guī)劃成功率較低。這是因?yàn)椋瑪?shù)值法逆運(yùn)動(dòng)學(xué)求解是基于牛頓-拉普森迭代法實(shí)現(xiàn)的,每次迭代只能得到一個(gè)解,在關(guān)節(jié)限制影響下有可能找不到解。在采樣數(shù)量較少時(shí)可能發(fā)生逆運(yùn)動(dòng)學(xué)求解失敗,無法獲得對(duì)應(yīng)的關(guān)節(jié)配置,導(dǎo)致路徑規(guī)劃失敗。而通過解析法逆運(yùn)動(dòng)學(xué)求解,在每次求解時(shí)可以求得笛卡爾空間點(diǎn)對(duì)應(yīng)的所有逆運(yùn)動(dòng)學(xué)解,而且保證每次求解的一致性。故在笛卡爾空間路徑點(diǎn)未超過機(jī)器人運(yùn)動(dòng)范圍的情況下使用解析法一定能得到對(duì)應(yīng)的逆運(yùn)動(dòng)學(xué)解,保證路徑規(guī)劃的成功。表3、表4后兩列仿真數(shù)據(jù)體現(xiàn)了兩種逆運(yùn)動(dòng)學(xué)求解方法的求解效率差距,與解析法相比,數(shù)值法的求解效率較低。進(jìn)行仿真實(shí)驗(yàn)時(shí),針對(duì)每個(gè)笛卡爾空間采樣點(diǎn)數(shù)值法逆運(yùn)動(dòng)學(xué)求解將會(huì)執(zhí)行10次迭代求解,花費(fèi)更多時(shí)間但是得到的有效解更少。

表5 任務(wù)約束Ⅰ條件下,不同參數(shù)配置對(duì)規(guī)劃時(shí)間及規(guī)劃效果的影響

表6 任務(wù)約束Ⅱ條件下,不同參數(shù)配置對(duì)規(guī)劃時(shí)間及規(guī)劃效果的影響
從表5、表6可以看出,對(duì)于逆運(yùn)動(dòng)學(xué)求解時(shí)間這項(xiàng)性能指標(biāo),使用數(shù)值法與解析法得到的結(jié)果之間也存在顯著差異(約兩個(gè)數(shù)量級(jí))。因?yàn)榛谂nD-拉普森迭代法的數(shù)值法在迭代求解時(shí)收斂速度較慢,同時(shí)為提高求解成功率需增加迭代求解次數(shù),從而導(dǎo)致求解花費(fèi)時(shí)間進(jìn)一步增加。而解析法逆運(yùn)動(dòng)學(xué)求解,使用封閉形式解,要求解的最復(fù)雜的多項(xiàng)式是二次多項(xiàng)式,求解速度明顯快于數(shù)值法。隨著在每個(gè)笛卡爾路徑點(diǎn)的采樣數(shù)增加,使用兩種方法進(jìn)行逆運(yùn)動(dòng)學(xué)求解所花費(fèi)時(shí)間均線性增加。而在關(guān)節(jié)空間進(jìn)行路徑規(guī)劃所花費(fèi)的時(shí)間則會(huì)發(fā)生平方級(jí)的增長,因?yàn)椴蓸狱c(diǎn)數(shù)量增加將導(dǎo)致進(jìn)行路徑規(guī)劃的關(guān)節(jié)空間搜索圖中頂點(diǎn)的數(shù)量與邊的數(shù)量同時(shí)增長。關(guān)節(jié)位移量這項(xiàng)性能指標(biāo)代表了機(jī)器人運(yùn)動(dòng)軌跡的光滑程度,關(guān)節(jié)位移量越小代表機(jī)器人運(yùn)動(dòng)過程中抖動(dòng)越小軌跡越平滑。可以看到隨著采樣數(shù)量的增加關(guān)節(jié)位移量之和逐漸減小。

表7 任務(wù)約束Ⅰ條件下,不同笛卡爾路徑點(diǎn)數(shù)量 對(duì)規(guī)劃時(shí)間及規(guī)劃效果的影響
從表7可以看出,隨著笛卡爾路徑點(diǎn)數(shù)量的增加,逆運(yùn)動(dòng)學(xué)求解時(shí)間與關(guān)節(jié)空間路徑搜索時(shí)間均線性增加,這是由于所需的計(jì)算量線性增加導(dǎo)致。而且對(duì)于不同數(shù)量笛卡爾路徑點(diǎn)的路徑,由于它們都代表相同的任務(wù)約束,在采樣數(shù)量足夠多時(shí)關(guān)節(jié)位移量趨于一致,表示規(guī)劃得到了對(duì)應(yīng)參數(shù)下滿足任務(wù)約束的最優(yōu)路徑。
2.3.2 實(shí)驗(yàn)驗(yàn)證
基于ROS控制ABB IRB1200型號(hào)工業(yè)機(jī)器人進(jìn)行對(duì)算法進(jìn)行實(shí)驗(yàn)驗(yàn)證,并利用ROS提供的rqt_plot工具記錄機(jī)器人控制器實(shí)時(shí)上傳的各個(gè)關(guān)節(jié)變化數(shù)據(jù)。在任務(wù)約束Ⅰ條件下幾組不同參數(shù)配置的實(shí)驗(yàn)結(jié)果如圖8所示。

(a) 采樣數(shù)5,數(shù)值法求解

(b) 采樣數(shù)5,解析法求解

(c) 采樣數(shù)30,數(shù)值法求解

(d) 采樣數(shù)30,解析法求解

(e) 采樣數(shù)180,數(shù)值法求解

(f) 采樣數(shù)180,解析法求解
可以看到在使用數(shù)值法逆運(yùn)動(dòng)學(xué)求解,而且采樣數(shù)量較少時(shí),規(guī)劃得到的路徑不連續(xù)且抖動(dòng)非常大,完全無法在實(shí)際生產(chǎn)中使用。而采樣點(diǎn)數(shù)量足夠多,或者使用解析法進(jìn)行逆運(yùn)動(dòng)學(xué)求解時(shí)可以得到連續(xù)光滑的最優(yōu)路徑。在其它任務(wù)約束及參數(shù)配置條件下得到的實(shí)驗(yàn)結(jié)果相似。實(shí)驗(yàn)所得數(shù)據(jù)與仿真分析結(jié)果基本一致,證明了算法的可行性。
由于本文介紹的基于采樣的路徑規(guī)劃算法依賴于連續(xù)空間的離散化,因此算法是概率完備的,在使用數(shù)值法逆運(yùn)動(dòng)學(xué)求解且采樣點(diǎn)密度低時(shí)有一定機(jī)率失敗。通過解析法進(jìn)行逆運(yùn)動(dòng)學(xué)求解或增加采樣密度,便可將規(guī)劃失敗概率降到極低。在機(jī)器人執(zhí)行冗余自由度較高的任務(wù)約束,或者采樣密度較大時(shí),基于數(shù)值法進(jìn)行軌跡規(guī)劃所花費(fèi)時(shí)間較長,需要根據(jù)具體應(yīng)用場景在規(guī)劃時(shí)間與規(guī)劃效果之間做一定權(quán)衡。而如算法完備性分析部分所述,根據(jù)六軸工業(yè)機(jī)器人的結(jié)構(gòu)特點(diǎn),使用基于解析法的半約束路徑規(guī)劃,求解速度快,一致性高,適合在工業(yè)場景中應(yīng)用。
本文針對(duì)六軸工業(yè)機(jī)器人應(yīng)用場景中的半約束路徑規(guī)劃問題,利用機(jī)器人的冗余自由度,提出基于采樣的規(guī)劃算法進(jìn)行路徑規(guī)劃。結(jié)果表明,通過選擇合理的采樣點(diǎn)數(shù)及逆運(yùn)動(dòng)學(xué)求解方式,算法可以在較短的規(guī)劃時(shí)間內(nèi)得到滿足任務(wù)約束的連續(xù)光滑且不與空間障礙物發(fā)生碰撞的最優(yōu)路徑。實(shí)驗(yàn)證明所提出的方法是實(shí)用、有效的。