摘要:針對D-H建模[1]的機械臂齊次變換矩陣的旋轉(zhuǎn)平移運算參數(shù)多且運算過程煩瑣問題,本文探討了正、逆運動學(xué)中基于字符多項式矩陣運算的化簡和應(yīng)用,解決了推導(dǎo)繁復(fù)的問題,結(jié)果可讀性強,可大幅度減少建模設(shè)計周期。
關(guān)鍵詞:機械臂;字符多項式;矩陣乘法;逆矩陣
中圖分類號:TP393 文獻標(biāo)識碼:A
文章編號:1009-3044(2020)27-0211-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
多關(guān)節(jié)機械臂在制造、醫(yī)療等眾多領(lǐng)域因其具有精準(zhǔn)、高效等特點應(yīng)用日益廣泛嘲。要解決機械臂能耗低,速度快,壽命長問題,合理建模是一個關(guān)鍵環(huán)節(jié)。而采用DH表示法建模是當(dāng)下行之有效的方法,它通過對串聯(lián)關(guān)節(jié)依次建立坐標(biāo)系,利用機器人正、逆運動學(xué)中變換矩陣、逆矩陣連乘即可求解。我們發(fā)現(xiàn)任意不同自由度機械臂關(guān)節(jié)旋轉(zhuǎn)平移矩陣相同,可設(shè)計算法統(tǒng)一來計算關(guān)節(jié)之間的關(guān)系,這樣可將設(shè)計理念快速實踐于初始參數(shù)與結(jié)果的驗證,重心轉(zhuǎn)移到建模是否合理上。但多關(guān)節(jié)機械臂矩陣參數(shù)多,大幅度增加了其合理性驗證難度。人們往往通過matlab定義煩瑣變量實現(xiàn)矩陣轉(zhuǎn)換[3],過程較煩瑣。鑒于目前沒有成形算法來完成數(shù)、串混合的多參矩陣運算,本文主要解決機械臂基于字符多項式的矩陣、逆矩陣運算,實現(xiàn)一種快捷求解。
機械臂常見自由度有5、6、7三種。自由度越高,靈活度會越高,但其矩陣運算更加復(fù)雜。本文以KINOVAJac02球形7自由度臂為例,根據(jù)提供電氣參數(shù)實現(xiàn)算法,與其他自由度運算可通用。
1 機械臂運動學(xué)模型
以Denavit-Hartenberg表示法建模的機械臂,通過對各關(guān)節(jié)建立坐標(biāo)系相鄰關(guān)節(jié)以齊次變換矩陣表示轉(zhuǎn)動和平移關(guān)系,依次矩陣連乘可確定基座與末端姿態(tài)的關(guān)系。其中每個連桿含長度a,扭角α,間距d,關(guān)節(jié)角度0四個參數(shù)。
1.1 正運動學(xué)模型
2 基于字符串的矩陣運算
字符串矩陣運算,先解決字符多項式四則運算,后進行矩陣運算。
2.1字符多項式四則運算
字符多項式由操作數(shù)和操作符組成,與常規(guī)代數(shù)多項式邏輯相同,只是符號不同。它既含數(shù)又有字符串,如(cosαsinβ*a)*(cosθ1+5),計算機無法區(qū)分cos、cosθ1、1中哪一個是“變量”。我們將構(gòu)建一套基于人直覺思維模式的類專家系統(tǒng),利用遵循約定俗成且符合人們直覺的規(guī)則,進行語義分析,從而有效識別字符多項式[6][7],為三角函數(shù)、矩陣、逆矩陣運算奠定基礎(chǔ)。
計算機多項式運算,通常有前綴表達式、中綴表達式和后綴表達式(又叫逆波蘭表達式)三種方法。逆波蘭表達法嘲,通過簡單人棧和出棧完成所有多層嵌套的四則運算,生成機器碼效率高,不但純數(shù)值運算方便,字符運算同樣出眾,故本文用該表達法實現(xiàn)。
為實現(xiàn)字符多項式運算,將基于常規(guī)邏輯的數(shù)值運算規(guī)則擴展到字符范疇,它們會在矩陣、三角函數(shù)反復(fù)用到,為此我們做如下主要約定:
Rulel-符號多項式轉(zhuǎn)換符號單項式規(guī)則
Rulel-I有效算符法則:①五種合理的組合映射:卜+,+一,一,++,++,(+,一(}->{-,+,+,+,*,(,-l*};②八種非法組合:(-*,+*,一),+),**,*),(),)();③三種非法頭算符:(*),+】;④四種非法尾算符:((,+,一,*】;
Rulel-2操作數(shù)分隔法則滿足rulel-1,對操作數(shù)“變量”分隔,做如下主要約定:
①長度為1的多項式合法,算式{-}>{1),其他算符非法,操作數(shù)合法;②介于兩個算符之間,提取字符串,視為操作數(shù)。
Rule2操作數(shù)對象化約定規(guī)則后綴表示法中無括號,但有“正”“負(fù)”字符串。逆波蘭的字符表達式構(gòu)建如下對象:{Opd[01,02.,],Opt[+/一,+/_,,],len),其中l(wèi)en≥l。
Rule3字符多項式運算法則基于規(guī)則rulel、rule2,有如下主要約定:
①加法約定式a+式b;②減法約定式a+(一1)*(式b);③乘法約定同號為正,異號為負(fù),以*拼接單項式“變量”;④替換約定矩陣中三角函數(shù)運算有冗余,替換如下:{^1*,*1$,*1*,+1*,一1*)一>{'',”,*,+,一),其中^表示頭,$代表尾部,下同。
字符多項式的四則運算大致流程如下:①利用rulel分隔多項式;②根據(jù)逆波蘭通用算法,分隔多項式,生成逆波蘭表達式;③利用rule2和rule3計算字符多項式,返回結(jié)果。
該算法實現(xiàn)了基于多“變量”的字符多項式運算。在機械臂矩陣轉(zhuǎn)換中,將反復(fù)用到。
2.2 基于規(guī)則的矩陣運算
矩陣相乘要滿足:矩陣A(M*K)和矩陣B(P*N),其中K=P。A*B記做C(M*N),
字符矩陣運算,“變量”為字符串,對結(jié)果做如下約定:
Rule4字符串矩陣處理約定①符號映射(一,^+一卜>{+一,一);
②消除零值{^_0*,^0*,*0*,*一0*,*-0$,*0$);③中間映射{^一1*,^1*1*1$,*1*}>{一,,*)
矩陣相乘機械臂運算時遵循rulel-rule4約定,能有效化簡結(jié)果。大致流程圖見圖1。
3 結(jié)果分析
機械臂D-H模型的正逆運動學(xué)求解核心是選擇合適關(guān)節(jié)的旋轉(zhuǎn)平移矩陣計算。為簡明驗證本文模塊算法,通過設(shè)定不同關(guān)節(jié)角θ,求解正運動學(xué)末端位姿T和隨機關(guān)節(jié)旋轉(zhuǎn)矩陣逆矩陣,與matlab做對比。式2中左上方3*3矩陣表示姿態(tài),右上方3*1矩陣表示位置(ci為cosθi,Sl為sinθi,i=1-7),運行結(jié)果見圖2。
3.1與MATLAB對比測試
隨機選擇不同關(guān)節(jié)角,末端位姿對比見表1,逆矩陣(參數(shù)α= π/2.a=0.d=-dl ,θ= θl =ql)對比見表2。
通過對比發(fā)現(xiàn),不管是輸人數(shù)值型參數(shù)生成旋轉(zhuǎn)矩陣求解,還是通過圖2結(jié)果代人參數(shù)求值,與MATLAB結(jié)果一致。同樣,隨機關(guān)節(jié)旋轉(zhuǎn)逆矩陣也一致,說明了本文算法的正確性。算法可用于自由度小于八的任意D-H建模正運動學(xué)和逆矩陣運算。
4 問題展望
本文由弱變量的j avascript腳本語言,結(jié)合HTML實現(xiàn)。將多項式運算從純數(shù)值擴展到字符多項式,通過類專家系統(tǒng)構(gòu)建了任意字符多項式四則運算、矩陣相乘、求逆矩陣等模塊,實現(xiàn)了數(shù)值、三角函數(shù)、字符夾雜的多項式矩陣相乘、求逆矩陣運算。其界面簡潔、結(jié)果易讀,只需輸入模型參數(shù),直接獲得運算結(jié)果,將繁化簡,解決了D-H建模時矩陣運算煩瑣問題,具有較高的實用性。生成模塊易擴展到多變量矩陣運算的相關(guān)領(lǐng)域。
參考文獻:
[1] Denavit J,Hartenberg R S.A kinematic notation for lower-pairmechanisms based on atrices[J].Trans.of the Asme.journal ofApplied Mechanics, 1955(22):215-221.
[2] Chen YH,Dong F H.Robotmachining:recent development andfuture research issues[J]. The Intemational Journal of Ad-vanced Manufacturing Technology, 2013, 66(9/10/11/12): 1489-1497.
[3]楊捷.基于Matlab的平面機構(gòu)分析解析法[D].成都:西華大學(xué),2013.
[4]李程程.七自由度機械臂控制系統(tǒng)設(shè)計與研究[D].南京:東南大學(xué),2016.
[5]徐俊虎,欒楠,張詩雷,等.7自由度機械臂的運動學(xué)逆解與優(yōu)化[J].機電一體化,2011,17(6):28-33.
[6] Floyd RW.Syntacticanalysis and operator precedence[Jl.Jour-nal of the ACM (JACM),1963,10(3):316-333.
[7] Aho A V,Johnson S C,Ullman J D.Deterministic parsing of am-biguousgrammars[J]. Communications of the ACM, 1975, 18(8):441-452.
[8](美)AlfredV.Aho.編譯原理[M].北京:機械工業(yè)出版社,2008.
【通聯(lián)編輯:光文玲】
作者簡介:焦培金(1981-),男,山東青島人,本科,實驗師,主要研究方向為計算機應(yīng)用。