陳棟金,姜 力,王新慶
(哈爾濱工業(yè)大學(xué) 機(jī)器人技術(shù)與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,150080 哈爾濱)
機(jī)器人多指手抓取過(guò)程中,不僅要求多指手對(duì)物體施加的力能夠平衡作用在物體上的外力,而且要求各手指與被抓物體的接觸點(diǎn)滿足摩擦錐約束.求取滿足這些約束的最小抓取力就是力優(yōu)化問(wèn)題,而實(shí)際應(yīng)用則要求力優(yōu)化能夠?qū)崟r(shí)進(jìn)行.
國(guó)內(nèi)外學(xué)者提出了不同的力優(yōu)化方法.Cheng等[1]用多面錐來(lái)近似摩擦錐進(jìn)行線性規(guī)劃,但結(jié)果偏保守;Yoshikawa 等[2]和熊蔡華等[3]則嘗試用智能規(guī)劃的方法,但效果不夠理想。相較于線性規(guī)劃和智能規(guī)劃,非線性規(guī)劃的計(jì)算結(jié)果最優(yōu),因此更為主流.Buss[4]的理論為這一領(lǐng)域帶來(lái)了突破,他提出用矩陣的半正定性來(lái)替代摩擦錐約束,將力優(yōu)化問(wèn)題轉(zhuǎn)換為黎曼流型上線性約束下的凸優(yōu)化問(wèn)題,進(jìn)而用梯度流方法來(lái)解決.在Buss 理論的基礎(chǔ)上,文獻(xiàn)[5-7]對(duì)非線性優(yōu)化方法進(jìn)行了進(jìn)一步的探索.非線性優(yōu)化算法多數(shù)都需要一個(gè)同時(shí)滿足外力平衡和摩擦錐約束的抓取力初值.Li Han 等[8]求取構(gòu)造對(duì)稱陣的最小特征值,計(jì)算量較大;Boyd 構(gòu)造了一個(gè)較為簡(jiǎn)單的單值優(yōu)化問(wèn)題來(lái)求取初值,但同樣計(jì)算復(fù)雜;王濱等[9]利用拉格朗日乘子法求取初值力,但一般需要數(shù)次到數(shù)十次不等的迭代計(jì)算.初值計(jì)算不僅耗時(shí),而且影響收斂速度.
本文在Buss 的梯度流算法基礎(chǔ)上,研究?jī)?yōu)化算法中所需初始力值的計(jì)算方法,利用抓取力集為凸錐的性質(zhì),提出線性組合求取抓取力初值的方法,根據(jù)凸分析理論證明了線性組合方法的正確性.最后通過(guò)算例仿真,驗(yàn)證了線性組合法得到的抓取力初值滿足約束,計(jì)算速度比拉格朗日法、單值優(yōu)化法更快,且使力優(yōu)化算法更快地收斂.
根據(jù)多指手與物體接觸點(diǎn)處摩擦的情況,可將接觸分為無(wú)摩擦點(diǎn)接觸、帶摩擦點(diǎn)接觸及軟指接觸,本文采用帶摩擦點(diǎn)接觸模型.機(jī)器人多指手抓取物體時(shí),手指數(shù)為M(M=3,4,5),抓取矩陣為G ∈R6X3M,物體上作用有外力Wext∈R6,需要確定各手指的接觸力fi∈R3,i=1,…,M,使物體保持平衡,同時(shí)滿足摩擦錐約束
即抓取力應(yīng)滿足
利用Buss 的梯度流優(yōu)化算法,可以求取滿足上述約束條件的抓取力集中的最優(yōu)值,但首先需要一個(gè)滿足上述約束的抓取力作為整個(gè)優(yōu)化算法的初始條件,本節(jié)將給出利用線性組合計(jì)算力初始值的過(guò)程.
當(dāng)作用外力為單位力(旋)[-1,0,0,0,0,0]T時(shí),利用王濱[9]求取初值后優(yōu)化的方法,可以很容易地求取這一外力下的優(yōu)化抓取力,記為fB1.同樣的,可以求得當(dāng)外力(旋)分別為矩陣
中各列時(shí)對(duì)應(yīng)的抓取力值,分別記為fBi,i=2,…,12.可以寫為
對(duì)任意形如Wext=[w1w2w3w4w5w6]T的外力(旋),可將其分解為
其中:E ∈R12;Ei≥0;Ei+6≥0;Ei·Ei+6=0,i=1,…,6.即任意外力(旋)都可以表示成單位外力(旋)的線性組合.這里規(guī)定,組合中單位外力(旋)的系數(shù)均為非負(fù)實(shí)數(shù),且正負(fù)相對(duì)的兩單位外力(旋)的系數(shù)中必有一個(gè)取零.令
聯(lián)合式(1)可得
因此,可以得到任意外力(旋)Wext時(shí)計(jì)算抓取力初值的簡(jiǎn)單方法,任意外力對(duì)應(yīng)的抓取力可表示成其線性組合中單位外力所對(duì)應(yīng)的抓取力的線性組合,即
應(yīng)用時(shí),首先,離線計(jì)算各單位外力下的優(yōu)化抓取力作為線性組合的基;然后,在線只需根據(jù)外力(旋)Wext與單位外力的關(guān)系對(duì)各基礎(chǔ)抓取力fBi進(jìn)行線性組合,所得結(jié)果自動(dòng)滿足外力平衡約束.
利用線性組合方法得到的接觸力能夠滿足外力平衡約束,但是需要思考的是,幾個(gè)滿足摩擦錐約束的力相加,其和是否仍滿足摩擦錐約束.下面將基于凸分析理論,證明若各組成元素滿足摩擦錐約束,則它們線性組合后得到的接觸力同樣滿足摩擦錐約束.
凸集[11]的定義:一個(gè)集合C,取集合中任意兩點(diǎn)之間的線段,如果線段中任意一點(diǎn)同樣在集合中,則集合C 為凸集,即一個(gè)集合若滿足:
則其為凸集.
凸包的定義:凸包是凸集C 中元素的凸組合集,記為Conv C,即
凸包的性質(zhì):凸包Conv C 也是一個(gè)凸集.凸包Conv C 是包含凸集C 的最小的凸集,即
集合的性質(zhì):包含一個(gè)集合的最小集合是它本身.
根據(jù)凸包的性質(zhì)以及集合的性質(zhì),可得出
則凸包Conv C 中的元素也屬于凸集C,即
根據(jù)以上描述的凸集性質(zhì),對(duì)于各個(gè)手指接觸力凸錐Ci,可以得出
在摩擦凸錐Ci內(nèi),取任意元素fi∈Ci,再取任意大小的正實(shí)數(shù)t,對(duì)于t·fi有
可以看出,凸錐Ci內(nèi)任意元素fi與任意正實(shí)數(shù)t的乘積t·fi仍然屬于凸錐Ci.
結(jié)合性質(zhì)(2)和(3),得出推論:在各手指接觸力的凸錐內(nèi),有
使用線性組合法得到的抓取力不僅滿足外力平衡,而且滿足摩擦錐約束,因此可以作為Buss的梯度流法算法所需的抓取力初值.事實(shí)上,這一方法適用于所有需要初值的力優(yōu)化算法.線性組合法求取抓取力初值的具體步驟為:
1)離線計(jì)算單位外力(旋)作用下的抓取力基礎(chǔ)向量;
2)計(jì)算任意外力對(duì)應(yīng)單位外力的線性組合的非負(fù)系數(shù);
3)按相同系數(shù)對(duì)抓取力基礎(chǔ)向量進(jìn)行線性組合;
4)將組合得到的值作為運(yùn)行力優(yōu)化算法的初值.
將線性組合法與主流的拉格朗日乘子法、單值優(yōu)化法進(jìn)行比較,從算法復(fù)雜度來(lái)看,線性組合只需18·M 次乘法,15·M 次加法;用拉格朗日乘子法直接計(jì)算則通常需要N 次迭代,每次迭代耗費(fèi)9·M2次乘法,9·M2次加法;單指優(yōu)化法耗費(fèi)更多.線性組合法較拉格朗日法計(jì)算量少,且M越大,差距越大;使用拉格朗日乘子法還需進(jìn)行在線摩擦錐約束校驗(yàn),線性組合法則由于各基本組成元素均滿足摩擦錐約束,其組合自動(dòng)滿足,不需要再進(jìn)行校驗(yàn).因此,線性組合法的計(jì)算速度最快.
如圖1 所示的均勻材質(zhì)長(zhǎng)方形,用四指手抓取.其幾何參數(shù)為a=0.10,b=0.15,c=0.15,d=0.10,H=0.20.建立物體坐標(biāo)系OXYZ,四指與物體接觸點(diǎn)處的坐標(biāo)系分別為Oifnifoifti,且i=1,2,3,4,采用帶摩擦點(diǎn)接觸模型,摩擦系數(shù)為0.4.
圖1 四指抓取模型
算例的抓取矩陣為:
按照前節(jié)所述的線性組合方法,首先離線計(jì)算各單位外力(旋)作用下的抓取力并優(yōu)化作為線性組合的基,得
施加外力Wext=[1 0.5-2-0.1 0.2 0]T,
用拉格朗日乘子法計(jì)算求得的初值力為
耗時(shí)0.503 s;用單值優(yōu)化法求得的初值力為
耗時(shí)0.573 s;而用正線性組合法求得的初值力為
耗時(shí)0.471s.
驗(yàn)證這3 種方法求得的初始力值,結(jié)果證明它們均同時(shí)滿足外力平衡及摩擦錐約束.將這3組初始力值分別應(yīng)用于Buss 的梯度流優(yōu)化法算法,得到手指接觸法向力和目標(biāo)函數(shù)的收斂曲線,分別見(jiàn)圖2~4.圖中Fn為手指法向力,φ 為目標(biāo)函數(shù),n 為迭代次數(shù).
圖2 拉格朗日法求初值后優(yōu)化結(jié)果
對(duì)比圖2~4 中曲線可看出,單值優(yōu)化所得初值用于力優(yōu)化收斂速度最慢,迭代約200 步后達(dá)到收斂值;拉格朗日法對(duì)應(yīng)的收斂速度較快,迭代約110 步后達(dá)到收斂值;線性組合法對(duì)應(yīng)的收斂速度是最快的,迭代約100 步后即達(dá)到收斂值.不同方法得到的收斂值相同,其中手指接觸力的收斂值為
而目標(biāo)函數(shù)值則收斂至7.3.
圖3 單值優(yōu)化法求初值后優(yōu)化
圖4 線性組合法求初值后優(yōu)化結(jié)果
1)以一組單位外力所求得的抓取力為基,任何外力可以寫成這組單位外力的線性組合形式,根據(jù)同樣的組合規(guī)律對(duì)抓取力基進(jìn)行線性組合,得到的抓取力能夠滿足力平衡和摩擦錐約束,將其作為力優(yōu)化算法中所需的抓取力初值.
2)在同一算例中,對(duì)比不同的抓取力初值算法結(jié)果表明:線性組合方法得出滿足約束的抓取力的速度較其他方法更快,且得出的解最優(yōu),能夠保證力優(yōu)化算法更快地收斂.
[1]CHENG F T,ORIN D E.Efficient algorithm for optimal force distribution-the compact-dual LP method[J].IEEE Transactions on Robotics and Automation,1990,6(2):178-187.
[2]YOSHIKAWA T,NAGAI K.Evaluation and determination of grasping forces for multi-fingered hands [C]//Proceedings of the IEEE International Conference on Robotics and Automation.Philadelphia,PA,USA:IEEE,1988:245-251.
[3]熊蔡華,熊有倫,張征,等.基于人工神經(jīng)網(wǎng)絡(luò)的抓取規(guī)劃[J].中國(guó)機(jī)械工程,1997,8(2):11-17.
[4]BUSS M,HASHIMOTO H,MOORE J B.Dexterous hand grasping optimization[J].IEEE Transactions on Robotics and Automation,1996,12(3):406-418.
[5]BUSS M,F(xiàn)AYBUSOVICH,MOORE J B.Dikin-type algorithms for dextrous grasping force optimization[J].The International Journal of Robotics Research,1998,17(8):831-839.
[6]LIU Yunhui.Qualitative test and force optimization of 3-D frictional form-closure grasps using linear programming[J].IEEE Transactions on Robotics and Automation,1999,15(1):163-173.
[7]HAN Li,TRINKLE J C,LI Zexiang.Grasp analysis as linear matrix inequality problems[J].IEEE Transactions on Robotics and Automation,2000,16(6):663-673.
[8]BOYD S P,WEGBREIT B.Fast computation of optimal contact forces[J].IEEE Transactions on Robotics,2007,23(6):1117-1132.
[9]王濱,李家煒,劉宏.機(jī)器人多指手的優(yōu)化抓取力計(jì)算[J].吉林大學(xué)學(xué)報(bào),2008,38(1):178-182.
[10]LI Zexiang,SASTRY S.Task oriented optimal grasping by multifingered robot hands[J].IEEE Journal of Robotics and Automation,1988,4(1):32-44.
[11]BOYD S,VANDENBERGHE L.Convex optimization[M].United Kingdom:Cambridge University Press,2004:21-60.